我有一個網絡應用程序,由於在低流量下的低請求/秒而受到損害。平均請求執行時間大約爲每頁200毫秒。如何增加Asp.NET的持續執行時間的請求數/秒?
爲了模擬環境,我使用一行代碼在Asp.NET 4.0 Web應用程序中創建了一個超級簡單的測試頁面。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
System.Threading.Thread.Sleep(200)
End Sub
我把它發佈到與4核CPU,8GB內存,Win7企業64位的服務器,全新安裝。
然後我創建了一個超級簡單的控制檯應用程序,它會在這個測試頁上加載一些負載。
For i = 1 To 100
For j = 1 To 100
Dim client = New System.Net.WebClient
client.DownloadStringAsync(New Uri(address))
Next
Threading.Thread.Sleep(1000)
Next
我打開性能監視器並觀察請求/秒。無論我嘗試如何增加它,它總是50。所有的硬件使用情況(CPU,內存)都非常低,所以必須有足夠的空間來增加它。
我改變了machine.config中的processModel如下,沒有運氣。
<processModel autoConfig="false" maxWorkerThreads="1000" maxIoThreads="1000" minWorkerThreads="500" minIoThreads="500" />
那麼,我需要做什麼來利用我的完整硬件,並增加每秒處理的請求?
您需要在需要處理太多時間的頁面上禁用會話 - 或者下載/上傳也需要一些時間。 – Aristos
@Aristos會話被禁用,所有不必要的httpmodules已被刪除,如會話,windows認證,passportauthentication,urlauthorization,文件授權等。Web服務器和控制檯應用程序在同一網絡上。測試環境只是一個空的Asp.NET Web應用程序,其中只有一個測試頁面。 – sspekinc
好的,那麼延遲在哪裏 - 你知道什麼是延遲你的網頁? – Aristos