最大并發連接數=隊列長度+工作線程數
【工作線程數】
IIS實際可以第一時間處理的請求數。比如,工作線程數=100,一萬個連接請求同時涌過來,那么只有100個可以被處理,其余9900個進入等待隊列等待,或者直接以503錯誤(服務器不可用)返回。
工作線程可以通過Machine.config的maxWorkerThreads修改
【隊列長度】
除了IIS工作線程數可以第一時間進行處理外,其余的請求可以進入等待隊列進行等待的數量。比如:
工作線程數=100
隊列長度=5000
那么一萬個連接請求同時涌過來,將有100個第一時間被處理,5000個等待,4900個以503返回。
這個可以在應用程序池-->ASP.NETv4.0Classic-->高級設置-->隊列長度里修改
【最大并發連接數】
工作線程數=100
隊列長度=5000
最大并發連接數=5000
那么一萬個連接請求同時涌過來,將有100個第一時間被處理,4900個進入隊列等待,5000個以503返回。
假如最大并發連接數=10000,則
那么一萬個連接請求同時涌過來,將有100個第一時間被處理,5000個進入隊列等待,4900個以503返回。
這個可以在IIS-->網站(要修改的網站)-->高級設置-->最大并發連接數里修改
【web園】
IIS是一個網站對應一個應用程序池,一個應用程序池默認一個工作進程。一個工作進程有默認的工作線程數量(工作線程可以通過Machine.config的maxWorkerThreads修改,并跟CPU是幾核有關系),我們可以通過設置應用程序池的最大工作進程為2,那這樣就成了web園。相應的工作線程也隨工作進程的增加也加倍,但是要考慮cpu和內存的會不會消耗過大。web園是直接的表現就是通過任務管理器里可以看到兩個w3pw.exe進程。