內容目錄
IIS 程序池優化配置方案IIS高並發配置一.IIS站點綁定程序池設置二.支持萬級並發請求
IIS 程序池優化配置方案
最近由於系統的客戶越來越多,有客戶反映訪問速度變慢,尤其是api的請求增長迅速。於是想從IIS入手來一波優化。
IIS高並發配置
一.IIS站點綁定程序池設置
找到Web站點對應綁定的應用程序池,“應用程序池”→“找到對應的應用程序池”→右鍵“高級設置”。
1.隊列長度 默認是1000修改為65535 最大長度。
2.啟動32位應用程序:默認值False,改為True,否者安裝一些32的組件或32位的php都會出錯。
3.托管管道模式:Integrated 或Classic
4.閑置超時(分鍾):默認20分鍾,改久點。
5.快速故障防護→已啟用:默認True,改為False。
6.回收間隔時間 默認每天回收,修改為0 不回收。
7.在“禁止重疊回收”里選擇“true”,這樣就避免了應用程序池回收假死問題。
二.支持萬級並發請求
1.調整IIS7的appConcurrentRequestLimit設置由原來的默認5000改為100000。
[1] 在cmd中執行:
1c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
[2] 在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到該設置:
<serverRuntime appConcurrentRequestLimit="100000" />
2.調整machine.config中的processModel>requestQueueLimit的設置
[1] 單擊“開始”,然后單擊“運行”,或者 windows + R。
[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="15000" />
[5] 保存並關閉 Machine.config 文件
3.修改注冊表,調整IIS 7支持的同時TCPIP連接數由原來的默認5000改為100000。\
在cmd中執行
1reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000
4.運行命令使用設置生效net stop http & net start http & iisreset
注意 :使用命令 可能會報錯(報錯原因就是配置設置的有問題)
一定要注意配置文件的修改 否則后果很嚴重 !!!!