我有一个 Web 应用程序,由于在中等流量下请求/秒低而受到影响。平均请求执行时间约为每页 200 毫秒。
为了模拟环境,我用一行代码在 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 RAM、Win7 Enterprise 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
我打开了性能监视器并观察了 Requests/sec。无论我试图做什么来增加它,它总是 50。所有硬件使用率(CPU、内存)都非常低,因此必须有足够的空间来增加它。
我在 machine.config 中更改了 processModel,如下所示,但没有成功。
<processModel autoConfig="false" maxWorkerThreads="1000" maxIoThreads="1000" minWorkerThreads="500" minIoThreads="500" />
那么,我需要做些什么来利用我的全部硬件并增加每秒处理的请求数?