让服务器能支持10万并发数秘诀,亲身经历,站在巨人的肩膀上创造

随着项目访问量增长至50多万每天,阿里服务器面临压力。通过排查确定问题在于IIS并发数过高。通过调整IIS配置、进程池设置、注册表参数等步骤,成功将并发数提升至10万,确保网站稳定运行。若访问量继续增大,可考虑负载均衡、图片和网站分离及CDN等解决方案。
摘要由CSDN通过智能技术生成

由于一个项目的访问量越来越大,从原来的几百个,增加到现在50多万个每天,所以阿里的服务器也扛不住了,于是就想办法,查了N多资料,总结了以下方法,才解决这问题,每天一共访问量50多万,并不是同时访问,所以,提高并发数才是关键。

由于网站一再打不开,按照排除原因来看,数据库连接、进程池满了、iis并发数太高,我能想到的就只有这三种情况,于是就一个一个排除,当项目网站打不开时,同服务器其他网站都正常,内存不到30%,CUP不到20%,怎么可能打不开呢,于是我先重启数据库,发现仍然打不开,然后重启进程池,还是打不开,最后我重启iis,这次好了,秒开。看来是iis并发数搞得鬼,于是就查微软资料,发现,win2008默认的并发数是5000,我想这哪够啊,就想到如下方法,按步骤来:

步骤一:
首先设置进程池

要点:把队列长度调整到65535,禁止重叠回收,最大故障数改成65530,这三点必须要改,不然实现不了10万并发效果
步骤二:
调整IIS 的appConcurrentRequestLimit设置
在开始–》运行–》输入: c:\windows\system32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000–》回车
即可,然后可通过在运行中输入 %systemroot%\System32\inetsrv\config\applicationHost.config回车查询设置结果,设置后就会出现下面代码:

步骤三:
调整machine.config中的processModel>requestQueueLimit的设置
在开始–>运行–》输入: %systemroot%\Microsoft.Net\Framework64\v2.0.50727\CONFIG\machine.config
打开后搜索找到: ,将此替换成
步骤四:
在开始–》运行–》输入下面三句代码,然后回车,分别输入
reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters /v MaxFieldLength /t REG_DWORD /d 32768
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters /v MaxRequestBytes /t REG_DWORD /d 32768
第一句将tcp并发数提高到10万,第二和第三句防止出现 解决Bad Request - Request Too Long问题,三句分别输入,分别回车
步骤五:
启动cmd,然后先输入 net stop http,等待完成,再输入 net start http,等待完成,再输入 iisreset
完成以上5步后,再重启服务器,即可达到并发数10万,无压力

如果访问量再大的话,就需要使用负载均衡、图片和网站分离、CDN等方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值