IIS服务器能支持10万并发
服务器能支持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万并发的更多相关文章
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
原文:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error Sum ...
- [转]让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
本文转自:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error S ...
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求(转载)
转自:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error Sum ...
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求(转)
转自:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error Sum ...
- IIS 7 支持10万并发请求
原文链接:http://www.cnblogs.com/dudu/archive/2009/11/10/1600062.html 今天下午17点左右,博客园博客站点出现这样的错误信息: Error S ...
- 让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 ...
- 转载:让Windows Server 2012r2 IIS8 ASP.NET 支持10万并发请求
由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,今天下午由于某种情况造成同时请求超过5000,从而出现了上面的错误. 为了避免这样的错误,我们根据相关文档调整了设置,让服务器从设置上支 ...
- 让Windows Server 2008r2 IIS7.5 ASP.NET 支持10万并发请求
由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,今天下午由于某种情况造成同时请求超过5000,从而出现了上面的错误. 为了避免这样的错误,我们根据相关文档调整了设置,让服务器从设置上支 ...
- 让Win2008+IIS7+ASP.NET支持10万并发请求
今天下午17点左右,博客园博客站点出现这样的错误信息: Error Summary: HTTP Error 503.2 - Service Unavailable The serverRuntime@ ...
随机推荐
- 微软自拍应用iOS版公布
微软自拍(Microsoft Selfie)主要是支持自拍后还能加强自拍效果的功能. 只是和其它自拍应用不同的是.Microsoft Selfie 利用了机器学习来增强照片,应用会"考虑年龄 ...
- xampp 在 centos 中无法启动的解决办法
修改这个文件 vim /opt/lampp/lampp 找到 if egrep "9 " /etc/redhat-release > /dev/null更改为 if ...
- 学习笔记:Vue——组件和Prop
前言:这一篇是关于组件基础.组件注册.Prop等内容. 1.组件基础 01.组件是可复用的Vue实例 02.组件中的data选项必须是一个函数 03.一个组件默认可以有任意数量的prop 任何值都可以 ...
- vue 键盘回车事件导致页面刷新的问题,路由多了一个问号
问题: <el-form @submit.native.prevent> <el-form-item > <el-input @keyup.enter.native=&q ...
- eclipse中的乱码问题
在新建项目或导入工程时常常遇到的问题: 1.导入工程后,Java文件中文乱码 项目右键--Properties--Resource(快捷键Alt+Enter),在Text file encoding中 ...
- NAACL 2013 Paper Mining User Relations from Online Discussions using Sentiment Analysis and PMF
中文简单介绍:本文对怎样基于情感分析和概率矩阵分解从网络论坛讨论中挖掘用户关系进行了深入研究. 论文出处:NAACL'13. 英文摘要: Advances in sentiment analysis ...
- ajax的post请求与编码
window.onload = function(){ document.getElementById('username').onblur = function(){ var name = docu ...
- 防止登录页面出如今frame中
在使用frame页面嵌套开发的时候,遇到重新启动了server的时候会出现登录页面在frame页面中出现, 所以须要在登录页面里面用js推断下当前的地址信息,然后跳转到登录的单独页面中. js代码例如 ...
- [React] Remove React PropTypes by using Flow Annotations (in CRA)
Starting from v15.5 if we wanted to use React's PropTypes we had to change our code to use a separat ...
- 三星Galaxy Tab S2上市,压制苹果之心凸显
平板市场正在迎来史上最为关键的一次PK,众所周知,平板市场的苹果和三星一直是行业的领头羊,而在激烈的竞争中.三星平板似乎后劲更足.众多性能优异的产品频频推出.平板之王的称谓呼之欲出. 去年三星 ...