IIS的工作程式(w3wp.exe)只提供了有限的工作執行緒(Work Thread)來處理請求。如果這些執行緒都因為要等待長時間執行的任務而阻塞,則執行時會將新來的請求排隊,而不是立即執行,Web伺服器的吞吐量也將驟降。這時,也許有一個長長的請求佇列等待處理,而此時伺服器的CUP利用率確非常低。減少工作執行緒的阻塞的時間是構建可擴充套件性網站的重中之重。可以利用以下技術來處理:
- 非同步頁面
- 非同步HttpModule
- 非同步I/O
- 非同步資料庫請求
- 後臺工作執行緒
- Service Broker