最大并發(fā)連接數(shù) = 隊列長度 + 工作線程數(shù)
【工作線程數(shù)】
IIS實際可以第一時間處理的請求數(shù)。比如,工作線程數(shù) = 100,一萬個連接請求同時涌過來,那么只有100個可以被處理,其余9900個進(jìn)入等待隊列等待,或者直接以503錯誤(服務(wù)器不可用)返回。
工作線程可以通過Machine.config的maxWorkerThreads修改
【隊列長度】
除了IIS工作線程數(shù)可以第一時間進(jìn)行處理外,其余的請求可以進(jìn)入等待隊列進(jìn)行等待的數(shù)量。比如:
工作線程數(shù) = 100
隊列長度 = 5000
那么一萬個連接請求同時涌過來,將有100個第一時間被處理,5000個等待,4900個以503返回。
這個可以在應(yīng)用程序池-->ASP.NET v4.0 Classic-->高級設(shè)置-->隊列長度 里修改
【最大并發(fā)連接數(shù)】
工作線程數(shù) = 100
隊列長度 = 5000
最大并發(fā)連接數(shù) = 5000
那么一萬個連接請求同時涌過來,將有100個第一時間被處理,4900個進(jìn)入隊列等待,5000個以503返回。
假如最大并發(fā)連接數(shù)=10000,則
那么一萬個連接請求同時涌過來,將有100個第一時間被處理,5000個進(jìn)入隊列等待,4900個以503返回。
這個可以在IIS-->網(wǎng)站(要修改的網(wǎng)站)-->高級設(shè)置-->最大并發(fā)連接數(shù) 里修改
【web園】
IIS是一個網(wǎng)站對應(yīng)一個應(yīng)用程序池,一個應(yīng)用程序池默認(rèn)一個工作進(jìn)程。一個工作進(jìn)程有默認(rèn)的工作線程數(shù)量(工作線程可以通過Machine.config的maxWorkerThreads修改,并跟CPU是幾核有關(guān)系),我們可以通過設(shè)置應(yīng)用程序池的最大工作進(jìn)程為2,那這樣就成了web園。相應(yīng)的工作線程也隨工作進(jìn)程的增加也加倍,但是要考慮cpu和內(nèi)存的會不會消耗過大。web園是直接的表現(xiàn)就是通過任務(wù)管理器里可以看到兩個w3pw.exe進(jìn)程。
參考文章:
http://www.cnblogs.com/leotsai/p/understanding-iis-multithreading-system.html
http://www.cnblogs.com/SALIN/archive/2013/03/28/2986704.html