IIS 的最大並發數


為了探尋IIS的最大並發數,先要做幾個假設。

1、假設最大並發數就是當前的連接數。意思是當前能承受最大的連接,那么就表明最大的並發。
2、假設IIS應用程序池處於默認狀態,更改設置將會對最大連接數產生影響。

做完假設,現在做限制,設置站點保持HTTP連接,超時設置成0,就是不會超時。在站點請求的default.aspx頁面設置線程Thread.Sleep(int.MaxValue)。

程序設置為只能啟動1800個線程,這是由於.Net單進程最大線程數好像是2000個。因此,要測試最大並發數,要需要同時開幾個測試進程。把系統虛擬內存調到最大值,線程過多會急劇占用內存。現在開始測試。

打開web站點的性能計數器,把顯示比例調成1萬。

發現到5000個連接時,IIS服務器崩潰(503錯誤),去洗了個澡,發現IIS服務器無法自己修復錯誤。又測試了幾次,發現最大並發值是8200個,但是一般到5000左右就會崩潰,有時候甚至只有1000個。

按8200個計算,一個用戶開一個瀏覽器瀏覽網頁,可能會占用2~3個連接,按兩個計算,那么IIS默認情況下,最大並發數是4000個左右。

打開應用程序池配置,把最大工作進程數調高(默認為1),能有效提高最大連接數。我記得以前看過一篇文章,講的是調到5左右比較合適。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM