终于找到答案了,这和ASP.NET的ProcessModel有关
请允许我向您展示如何最大限度地发挥 Microsoft 默认限制您的服务器的潜力。您无需支付更多费用即可升级到托管专用服务器或聘请微软专业人士来配置您的高速网络服务器,因为我在这篇文章中告诉您秘密。
优化您的服务器发送文件速度
- 优化工作线程、应用程序 Web.config
<system.web>
<processModel maxWorkerThreads="1000" maxIoThreads="1000" minWorkerThreads="10" minIoThreads="10"/>
</system.web>
- 设置 C:\Windows\Microsoft.NET\Framework 和 C:\Windows\Microsoft.NET\Framework64 文件 ASPNet.config
<configuration>
<system.web>
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
</system.web>
</configuration>
在 IIS 中配置,最大工作进程:20(在应用程序池中)
在 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config 和 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config 中配置 Machine.config
搜索 ProcessModel,并将 MachineOnly 更改为 MachineToApplication
<section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web,
版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineOnly" allowLocation="false" />
to
<section name="processModel" type="System.Web.Configuration.ProcessModelSection, System.Web,
版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a" allowDefinition="MachineToApplication" allowLocation="false" />
- 必须重启应用程序池才能生效
一旦 IIS充满电,它就会将文件发送给用户以高速下载,我的用户可以通过他的 ISP 包获得最高速度。默认情况下,Microsoft 会限制您的服务器的潜力,因为他们假设您的服务器是 intel atom。
谢谢