背景:
IIS7.5是微軟推出的最新平台IIS,性能也較以前有很大的提升,但是默認的設置配不適合很大的請求。但是我們可以根據實際的需要進行IIS調整,使其性能更佳,支持同時10萬個請求。
以下方案,通過對IIS7的配置進行優化,調整IIS7應用池的隊列長度,請求數限制,TCPIP連接數等方面,從而使WEB服務器的性能得以提升,保證WEB訪問的訪問流暢。
解決方案:
一、常規設置:
一、應用程序池右鍵高級設置
1、設置隊列5000
2、設置固定回收時間 04:00:00
3、設置空閑時間Suspend
二、網站右鍵高級設置
1、啟用預加載
三、先來“IIS應用程序池”優化后的參數配置截圖:
參考文檔:iis配置優化
二、性能優化
關閉IIS日志
當開啟記錄功能后,IIS會事無巨細地忠實記錄所有的web訪問記錄。這些記錄文件的內容是非常龐雜的,比如訪問時間、客戶端IP、從哪個鏈接訪問、 Cookies等,另外還包括 Method(方法), UserAgent(用戶代理)等。這些記錄不但占用大量的磁盤空間還大大地影響了web服務器的性能。有人做過評測,停止訪問記錄可以提升5%到8%的web性能。
啟用Gzip壓縮
IIS 壓縮功能使用Gzip算法
gzip是HTTP的一種壓縮算法,HTTP壓縮是在Web服務器和瀏覽器間傳輸壓縮文本內容的方法。HTTP壓縮采用通用的壓縮算法如gzip等壓縮HTML、JavaScript或 CSS文件。壓縮的最大好處就是降低了網絡傳輸的數據量,從而提高客戶端瀏覽器的訪問速度。當然,同時也會增加一點點服務器的負擔。Gzip是比較常見的一種HTTP壓縮算法。
設置輸出緩存
步驟:雙擊輸出緩存、在空白頁右鍵添加,配置需要緩存的文件和緩存時間間隔
啟用內容過期,設置http響應頭
步驟一、以功能視圖模式打開網站,如下圖所示:點擊“HTTP響應標頭”
步驟二、出現下圖的界面,點擊“設置常用標頭”
步驟三、如下圖所示:選中“保持HTTP鏈接”,和“使用web內容過期”,選中之后,多少天,或多少分鍾,我這里選擇的是天,對於不經常更新的網站可以多選擇幾天,這樣的話,用戶打開網頁基本都可以從本地緩存調用,從而可提高網頁的打開速度。
參考文檔:IIS設置輸出緩存和壓縮
參考文檔:iis啟用內容過期
三、並發性
解決方案
步驟一:調整IIS的應用程序池隊列長度。
在【應用程序池】列表中,選擇你相應網站所使用的應用程序池,將原來的隊列長度由1000改為65535。當然這里的隊列長度你可以根據自己的訪問用戶*1.5來設置,例如:你有2000用戶,你此處就可以設置為3000(3000=2000用戶數*1.5),官方參考
設置如下圖:
步驟二:調整IIS的appConcurrentRequestLimit值
打開cmd命令,運行命令:c:\Windows\System32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到該設置:
<serverRuntime appConcurrentRequestLimit="100000" />
步驟三:修改ASP.NET請求隊列限制即調整machine.config中的processModel>RequestQueueLimit
1、單擊“開始”,然后單擊“運行”。
2、在“運行”對話框中,鍵入 notepad %systemroot%\Microsoft.Net\Framework64\v4.0.30319\CONFIG\machine.config,然后單擊“確定”。(不同的.NET版本路徑不一樣,你可以選擇你自己當前想設置的.NET版本的config)
3、找到如下所示的 processModel 元素:<processModel autoConfig="true" />
4、將 processModel 元素替換為以下值:<processModel enable="true" requestQueueLimit="100000" />
5、保存並關閉 Machine.config 文件。
步驟四:修改注冊表,調整IIS支持的並發TCPIP連接數
在cmd命令中運行命令:reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000,當然也可以手動去注冊表修改
可在注冊表中查看
至此,IIS的調整優化就完成了,可以同時支持10W個請求。
參考文檔:優化IIS7.5支持10萬個同時請求的配置方法
https://www.jb51.net/article/36073.htm