工欲善其事必先利其器html
首先給服務器配上強力的軟件,用於安全防禦和監控。sql
公司服務器用的阿里雲的ECS,已經有防禦和監控了,以後又選擇額外加了一個安全狗數據庫
爲了監控服務器上系統的各項運行指標,又買了聽雲平臺的聽雲Server服務。安全
1.隊列長度服務器
網站對應的應用程序池->高級設置->常規多線程
便可進入隊列的最大請求數。併發
2.最大工做進程數post
網站對應的應用程序池->高級設置->進程模型性能
默認是1,若是設置大於1,則是Web Garden,多個進程分擔壓力,網站處理併發請求的能力天然會提高。測試
不過要注意的是每個工做進程是獨立的應用程序,全局靜態變量不共享。而且進程過多會給服務器形成較大壓力,反而下降併發能力,因此須要權衡進程數的多少。
3.最大併發鏈接數
網站->高級設置->行爲->鏈接限制
4.IIS最大併發工做線程數
這個數字在IIS裏面是沒有界面進行設置的。這個數字跟操做系統相關,win7系統的IIS的值是10,VS2012自帶的IIS Express的值是80。
配置文件地址 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
具體內容可看這個 【深刻理解IIS的多線程工做機制】
netstat -net
查看全部鏈接
壓力測試的時候要保證測試的響應時間曲線穩定住必定時間後,才認爲是當前被測試服務器的真實性能,由於剛開始測試的時候須要必定預熱時間,通常測試到必定時間以後曲線會穩定住,這時候再判斷當前的響應時間。
你想建設一個能承受500萬PV/天天的網站嗎?服務器每秒要處理多少個請求才能應對?
性能監控
打開性能監視器 cmd->perfmon.msc
計數器:Web Service -> Current Connection ,選擇Total或者想要監控的站點 添加便可 。這個監控的是即時IIS併發鏈接數。
還有數據庫鏈接數,能夠經過下面的語句查看
SELECT * FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT [DBID] FROM [Master].[dbo].[SYSDATABASES] WHERE NAME='databaseName' )
池碎片池碎片是許多 Web 應用程序中的一個常見問題,應用程序可能會建立大量在進程退出後纔會釋放的池。 這樣,將打開大量的鏈接,佔用許多內存,從而影響性能。