.NET在Windows Server环境让IIS上支持高并发

3 篇文章 0 订阅
1 篇文章 0 订阅

前言

最近为解决某项目要求的2000并发请求问题,在网上尝试了无数方法,不管程序如何优化调整,始终无法突破1000并发;so,不得不考虑服务器环境设置问题,接下来就看看如何让服务器从设置上支持10万个并发请求。

运行环境:
Windows Server 2012、.Net4.0、IIS8

1、调整IIS应用程序池配置

找到部署的程序对应的应用程序池—》高级设置—》:

  1. 队列长度:65535(根据服务器配置可以加长)

队列长度值设置为预期最多用户数的 1.5

参考链接:https://learn.microsoft.com/zh-cn/previous-versions/office/communications-server/dd441171(v=office.13)
在这里插入图片描述
3. 固定时间间隔:1440分钟(24小时)
在这里插入图片描述
4. 闲置超时:0分钟(不超时)
在这里插入图片描述

2、调整IIS的appConcurrentRequestLimit设置

cmd命令行直接运行:

c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000

可以直接在 %systemroot%\System32\inetsrv\config\applicationHost.config 路径下配置文件查看到该设置是否被修改(默认为5000):

<serverRuntime appConcurrentRequestLimit="100000" />

3、调整machine.config中的processModel > requestQueueLimit的设置

cmd命令行直接运行:

notepad %systemroot%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
notepad %systemroot%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config

打开对应.net版本配置文件,编辑requestQueueLimit(默认为5000):

<configuration>
    <system.web>
        <processModel enable="true" requestQueueLimit="100000"/>

参考链接:https://learn.microsoft.com/zh-cn/previous-versions/office/communications-server/dd425294(v=office.13)

4、修改注册表,调整IIS支持的同时TCP/IP连接数

cmd命令行直接运行:

reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000

5、运行命令重启使设置生效

net stop http  & net start  http & iisreset

注意:新开页面会造成链接数大量增加,但是以window.open打开的不会增加连接数。

完成上述设置,一般情况就可以支持10万个并发请求,具体并发量还跟服务器配置有关。后续会跟进Linux环境配置。。。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值