我推斷,因爲ASP.NET Web應用程序被授予工作線程固定數量和I/O線程,這是由<processModel>
設置在管轄web.config文件對於一個擁有大量用戶的大型網站來說,沒有什麼特別的好處,可以旋轉新的工作線程或使用.NET ThreadPool中的線程來執行諸如記錄錯誤或發送電子郵件等任務。使用工作線程或線程池線程異步I/Web應用程序Ø
換句話說,假設在我的web應用程序中,對於每個進入的請求,請求處理程序都在一行中執行3個任務,即任務A,然後是任務B,然後是任務C,然後返回結果,這是一個HTML頁面。
然而,出了三個任務,任務B沒有對所得HTML的任何影響。這可能是一個任務,例如在日誌文件中記錄一段文本。然後,如果我將任務B移動到另一個工作線程,而CurrentThread
(它也是來自ASP.NET工作線程池的工作線程)將返回得更快,並且會爲我的應用程序的更快響應時間用戶,我的應用程序可以服務的併發用戶數量將受到影響,因爲任務B將需要來自同一個ASP.NET工作線程池的新工作線程分配。
因此,我理解正確的,在Web應用場景:分叉新主題將產生積極的影響性能,但是會產生不利影響的可擴展性。因此,如果我們通過購買大量硬件來擴大規模,那麼我們只能編寫多線程服務器端代碼?
如果沒有,那麼我們只交易過一個其他?