我有一个网络应用程序,由于在低流量下的低请求/秒而受到损害。平均请求执行时间大约为每页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