一、IIS高并发配置
部署环境:Windows server 2012R2,IIS8 ,.Net6 SDK
并发要求:10万的并发量
1.应用池设置
选择对应的应用池—高级设置—修改队列长度为65535(注:可根据实际并发量设置)
2.调整IIS appConcurrentRequestLimit设置
1)使用管理员身份运行cmd,执行命令c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000
2)在 C:\Windows\System32\inetsrv\config\applicationHost.config 可以看到修改后的配置
3.设置requestQueueLimit
1)打开文件 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
2)找到<processModel autoConfig="true"/> 修改为<processModel autoConfig="true" requestQueueLimit="100000"/>
4.调整IIS支持的同时TCPIP连接数
1)使用管理员身份运行cmd,执行命令:
reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000
5.运行命令使用设置生效
使用管理员身份运行cmd,执行命令net stop http & net start http & iisreset
二、Windows版本Nginx高并发配置
nginx windows 版1024限制,windows版本因为文件访问句柄数被限制为1024了,当访问量大时就会无法响应,就会出现错误:maximum number of descriptors supported by select() is 1024 while waiting for request
解决该问题,需要使用专门的windows版本(已修改了文件句柄数据的限制):
1.下载windows专用版本
nginx for windows官网:http://nginx-win.ecsds.eu/
nginx for windows下载载地址: http://nginx-win.ecsds.eu/download/
下载最新的ZIP:
2.配置注册表及conf
解压压缩包后:
1)首先运行注册表文件“Tweak-Optimize tcpip parameters for nginx connections.reg”
2)conf文件夹中的nginx-win.conf,把它复制一份更名为nginx.conf,然后在此文件中做配置(注:可以把上个版本的nginx中的配置拷贝过来)
3)将nginx_basic.exe 重新命名为“nginx.exe”
4)停用原来的Nginx服务,启用当前版本的nginx