服务器能支持10万并发由于一个项目的访问量越来越大,从原来的几百个,增加到现在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回车查询设置结果,设置后就会出现下面代码:
<serverRuntime appConcurrentRequestLimit="100000" />
步骤三:
调整machine.config中的processModel>requestQueueLimit的设置
在开始-->运行--》输入:%systemroot%\Microsoft.Net\Framework64\v2.0.50727\CONFIG\machine.config
打开后搜索找到:<processModel autoConfig="true" />,将此替换成<processModel enable="true" requestQueueLimit="100000" />
步骤四:
在开始--》运行--》输入下面三句代码,然后回车,分别输入
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等方法。原文来源:http://club.zoomla.cn/PItem?id=13609
IIS7.5是微软推出的最新平台IIS,性能也较以前有很大的提升,但是默认的设置配不适合很大的请求。但是我们可以根据实际的需要进行IIS调整,使其性能更佳,支持同时10万个请求。
以下方案,通过对IIS7的配置进行优化,调整IIS7应用池的队列长度,请求数限制,TCPIP连接数等方面,从而使WEB服务器的性能得以提升,保证WEB访问的访问流畅。
解决方案:
步骤一:调整IIS的应用程序池队列长度。 
在【应用程序池】列表中,选择你相应网站所使用的应用程序池,将原来的队列长度由1000改为65535。当然这里的队列长度你可以根据自己的访问用户*1.5来设置,例如:你有2000用户,你此处就可以设置为3000(3000=2000用户数*1.5), 官方参考
设置如下图:

步骤二:调整IIS的appConcurrentRequestLimit值
打开cmd命令,运行命令:c:\Windows\System32\inetsrv\appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000

步骤三:修改ASP.NET请求队列限制即调整machine.config中的processModel>RequestQueueLimit
1、单击“开始”,然后单击“运行”。
2、在“运行”对话框中,键入 notepad %systemroot%\Microsoft.Net\Framework64\v4.0.30319\CONFIG\machine.config,然后单击“确定”。(不同的.NET版本路径不一样,你可以选择你自己当前想设置的.NET版本的config)
3、找到如下所示的 processModel 元素:<processModel autoConfig="true" />
4、将 processModel 元素替换为以下值:<processModel enable="true" requestQueueLimit="15000" />

5、保存并关闭 Machine.config 文件。
步骤四:修改注册表,调整IIS支持的并发TCPIP连接数
在cmd命令中运行命令:reg add HKLM\System\CurrentControlSet\Services\HTTP\Parameters /v MaxConnections /t REG_DWORD /d 100000,当然也可以手动去注册表修改

可在注册表中查看

至此,IIS的调整优化就完成了,可以同时支持10W个请求。
参考:
MSDN: http://technet.microsoft.com/zh-cn/library/dd425294(office.13).aspx , http://technet.microsoft.com/zh-cn/library/dd441171(v=office.13).aspx

原文来源:http://club.zoomla.cn/PItem?id=13609

IIS服务器能支持10万并发的更多相关文章

  1. 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求

    原文:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error Sum ...

  2. [转]让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求

    本文转自:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error S ...

  3. 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求(转载)

    转自:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error Sum ...

  4. 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求(转)

    转自:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error Sum ...

  5. IIS 7 支持10万并发请求

    原文链接:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error S ...

  6. 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求 The serverRuntime@appConcurrentRequestLimit setting is being exceeded.

    今天下午17点左右,博客园博客站点出现这样的错误信息: Error Summary: HTTP Error 503.2 - Service UnavailableThe serverRuntime@a ...

  7. 转载:让Windows Server 2012r2 IIS8 ASP.NET 支持10万并发请求

    由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,今天下午由于某种情况造成同时请求超过5000,从而出现了上面的错误. 为了避免这样的错误,我们根据相关文档调整了设置,让服务器从设置上支 ...

  8. 让Windows Server 2008r2 IIS7.5 ASP.NET 支持10万并发请求

    由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,今天下午由于某种情况造成同时请求超过5000,从而出现了上面的错误. 为了避免这样的错误,我们根据相关文档调整了设置,让服务器从设置上支 ...

  9. 让Win2008+IIS7+ASP.NET支持10万并发请求

    今天下午17点左右,博客园博客站点出现这样的错误信息: Error Summary: HTTP Error 503.2 - Service Unavailable The serverRuntime@ ...

随机推荐

  1. windows下硬盘安装debian

    windows下硬盘安装debian 此方法在 windows8.1 + debian8.7.1 可用 配置系统安装镜像 1 在windows下格式化一个fat32的分区 2 把下载的debian-7 ...

  2. var和ES6的let

    来源自:http://www.jstips.co/zh_cn/javascript/keyword-var-vs-let/ 特此做个笔记 概述 通过 var 定义的变量,它的作用域是在 functio ...

  3. gulp几个常见问题及解决方案

    1. 找不到local gulp 报错代码: $ gulp [23:29:31] Local gulp not found in [23:29:31] Try running: npm install ...

  4. 关于MyBatis sqlSession的一点整理

    工作中,需要学习一下MyBatis sqlSession的产生过程,翻看了mybatis-spring的源码,阅读了一些mybatis的相关doc,对mybatis sqlSession有了一些认知和 ...

  5. 洛谷——P3819 松江1843路

    https://www.luogu.org/problem/show?pid=3819 题目描述 涞坊路是一条长L米的道路,道路上的坐标范围从0到L,路上有N座房子,第i座房子建在坐标为x[i]的地方 ...

  6. 好玩的 emoji

    emoji 就是表情符号,来自日语词汇"絵文字"(假名为"えもじ",读音即emoji).emoji 表情符号大全,都在这里(手机/电脑都可以复制):www.fu ...

  7. 1.html+css页面设计

    转自:http://www.cnblogs.com/ywang/archive/2014/04/16/3668638.html 今天用html+css做一个最简单的页面.效果图如下: 说明:这里的韩文 ...

  8. css的三种表现形式

    1.行内样式(内嵌样式):结构的内部,即写在标签内的样式:写在标签的开始部分内部,style属性当中:<标记 style="样式的属性名1:样式的属性值1:属性名2:属性值2:.... ...

  9. kindle paperwhite 简单笔记按名称分类

    已更新python,见新博客  http://www.hrwhisper.me/archives/708 写作背景: 南京决赛比赛完那天晚上写的. 使用方法: 将My Clippings.txt 放在 ...

  10. Flask项目之手机端租房网站的实战开发(八)

    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/8 ...