让Windows Server 2008+IIS 7+ASP.NET支持10万个同时请求

今天下午17点左右,博客园博客站点出现这样的错误信息:

Error Summary:

HTTP Error 503.2 - Service Unavailable
The serverRuntime@appConcurrentRequestLimit setting is being exceeded. 

Detailed Error Information:

Module IIS Web Core 
Notification BeginRequest 
Handler StaticFile 

Error Code 0x00000000

由于之前使用的是默认配置,服务器最多只能处理5000个同时请求,今天下午由于某种情况造成同时请求超过5000,从而出现了上面的错误。

为了避免这样的错误,我们根据相关文档调整了设置,让服务器从设置上支持10万个同时请求。

具体设置如下:

1. 调整IIS 7应用程序池队列长度

由原来的默认1000改为65535。

IIS Manager > ApplicationPools > Advanced Settings

Queue Length : 65535

2.  调整IIS 7的appConcurrentRequestLimit设置

由原来的默认5000改为100000。

appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:100000

在%systemroot%\System32\inetsrv\config\applicationHost.config中可以查看到该设置。

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

由原来的默认5000改为100000。

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

4. 修改注册表,调整IIS 7支持的同时TCPIP连接数

由原来的默认5000改为100000。

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

完成上述4个设置,就可以支持10万个同时请求,博客园博客服务器已经启用上述设置。 

 

参考文章:

IIS 7.0 503 errors with generic handler (.ashx) implementing IHttpAsyncHandler

Tuning Windows Server 2008 for PHP 

Tag标签: IIS 7
10
0
(请您对文章做出评价)
« 上一篇:The serverRuntime@appConcurrentRequestLimit setting is being exceeded
» 下一篇:《免费-商业的未来》读书笔记
posted @ 2009-11-10 18:57 dudu 阅读(4355) 评论(48)  编辑 收藏 网摘

  回复  引用  查看    
#1楼2009-11-10 19:01 | 陛下      
嗯,抢到了第一个位置!
  回复  引用    
#2楼2009-11-10 19:02 | 有空来坐坐[未注册用户]
我说呢,下午老503
  回复  引用  查看    
#3楼2009-11-10 19:02 | san.      
第二個位置
  回复  引用  查看    
#4楼2009-11-10 19:13 | GWPBrian      
只有实践才会发现问题,不错,学习
  回复  引用  查看    
#5楼2009-11-10 19:29 | Joyaspx      
看来博客园的人气越来越旺了
  回复  引用  查看    
#6楼2009-11-10 19:32 | 二德子      
感觉速度还是慢啊!
  回复  引用    
#7楼2009-11-10 19:36 | .easycode[未注册用户]
我只知道下午5点左右的时候卡死了 不管哪个页面都开不开
开了N个 没一个开的
我以为公司网络有问题

  回复  引用  查看    
#8楼2009-11-10 19:38 | 卡索      
不错,同时想知道下IIS6+windows2003+Asp.net2.0最大的上限是多少

  回复  引用  查看    
#9楼2009-11-10 19:49 | toEverybody      
吹牛
  回复  引用  查看    
#10楼2009-11-10 19:54 | wingoo      
只是这样设了
撑不撑的住还是问题吧?

  回复  引用  查看    
#11楼2009-11-10 20:11 | Yankee      
太复杂了。。

  回复  引用  查看    
#12楼2009-11-10 20:12 | 小小文竹      
这么强~~~
  回复  引用  查看    
#13楼2009-11-10 20:38 | 鹤冲天      
最近老是感觉上博客园有点慢...
不知道服务器的硬件配置如何?

  回复  引用  查看    
#14楼2009-11-10 21:00 | WizardWu      
不知博客园是否有做 Web Server (IIS) 的 WNLB (Load Balancing),
应该不会只有一台物理 Web Server 机器吧?

网站性能优化 - 数据库及服务器架构篇
http://www.cnblogs.com/WizardWu/archive/2009/09/22/1571499.html

  回复  引用  查看    
#15楼2009-11-10 21:01 | 风海迷沙      
遇到了这个503,但刷一下就好了。
  回复  引用  查看    
#16楼2009-11-10 21:03 | Gnie      
原来是这样啊,我说怎么提示超过连接数呢。
  回复  引用  查看    
#17楼2009-11-10 21:53 | Fred_Xu      
学习了,收藏!
  回复  引用  查看    
#18楼2009-11-10 22:18 | canbeing      
感觉博客园经常一下子很慢
  回复  引用  查看    
#19楼2009-11-10 22:21 | Jeffrey Zhao      
@WizardWu
据说是一台Web Server和一台DB Server。
其实我觉得,如果博客园精心优化一下,现有的配置还是可以抗更多的。

  回复  引用  查看    
#20楼2009-11-10 22:22 | Jeffrey Zhao      
引用wingoo:
只是这样设了
撑不撑的住还是问题吧?

基本上不可能撑得住的,要知道这可是C100K啊。
这里设置的目的只是把这边的瓶颈打开了而已。

  回复  引用    
#21楼2009-11-10 22:51 | fftt[未注册用户]
Dudu能不能透露一下,最大能处理多少并发请求啊?
  回复  引用  查看    
#22楼[楼主]2009-11-10 22:54 | dudu      
引用wingoo:
只是这样设了
撑不撑的住还是问题吧?

这样设置,只是为了当突发的并发连接超过5000时,不出现503错误。
而能不能撑住不是由这个设置决定的。

  回复  引用  查看    
#23楼2009-11-10 23:37 | liy      
像博客园服务器的配置,理论是可以达到的最大并发是多大?
在没有其他性能消耗的情况,纯页面请求。

  回复  引用  查看    
#24楼[楼主]2009-11-10 23:46 | dudu      
@liy
你所说的最大并发对应的是性能监视器的哪个指标?

  回复  引用  查看    
#25楼2009-11-11 01:09 | WizardWu      
@Jeffrey Zhao
感谢老赵的回复。

  回复  引用  查看    
#26楼2009-11-11 09:16 | 生鱼片      
期待后续运行情况
  回复  引用  查看    
#27楼2009-11-11 09:41 | Jerry Qian      
引用Jeffrey Zhao:
@WizardWu
据说是一台Web Server和一台DB Server。
其实我觉得,如果博客园精心优化一下,现有的配置还是可以抗更多的。

是指主域名吗.子项目应该是另放的吗?

  回复  引用  查看    
#28楼2009-11-11 09:50 | Jeffrey Zhao      
@Jerry Qian
具体有没有放zzk或space就不清楚了,不过它们的压力应该比blog要少很多吧。

  回复  引用  查看    
#29楼2009-11-11 10:01 | 王金平      
路过
  回复  引用  查看    
#30楼2009-11-11 10:12 | peace      
纯顶~~
  回复  引用  查看    
#31楼2009-11-11 10:29 | .NET*DR_      
@dudu
学习了!
呵呵

看了文章后才知道Windows Server 2008在同一时刻能抗10W个请求

  回复  引用  查看    
#32楼2009-11-11 10:37 | 梅子      
Mark

  回复  引用  查看    
#33楼2009-11-11 10:52 | 阿牛      
通过F5交换机来增加硬件
  回复  引用  查看    
#34楼[楼主]2009-11-11 11:47 | dudu      
引用Jerry Qian:
引用Jeffrey Zhao:
@WizardWu
据说是一台Web Server和一台DB Server。
其实我觉得,如果博客园精心优化一下,现有的配置还是可以抗更多的。

是指主域名吗.子项目应该是另放的吗?

一台Web Server专门跑博客。

  回复  引用  查看    
#35楼[楼主]2009-11-11 11:49 | dudu      
引用.NET*DR_:
看了文章后才知道Windows Server 2008在同一时刻能抗10W个请求

是Windows Server 2008可以支持同一时刻10W个请求,但能否抗得住取决于服务器硬件处理能力和程序的性能。

  回复  引用  查看    
#36楼2009-11-11 12:51 | airwolf2026      
@dudu
为啥俺的谷歌浏览器刷不出评论?不是俺的网络出问题了吧?

  回复  引用  查看    
#37楼2009-11-11 12:59 | .NET*DR_      
@dudu
能不能把博客园中类似这些的维护日志

像这种!增强服务器性能啊!
数据库如何支持高并发啊!
就是通过配置服务器环境来应对现有的问题做一个专题?
我觉得我看了后对我的帮助很大.

谢谢

  回复  引用  查看    
#38楼[楼主]2009-11-11 16:29 | dudu      
@airwolf2026
我这里用谷歌浏览器正常。

  回复  引用  查看    
#39楼[楼主]2009-11-11 16:33 | dudu      
@.NET*DR_
谢谢你的建议!
当积累了足够的文章,我们会考虑做这样的专题。

  回复  引用  查看    
#43楼2009-11-11 21:16 | airwolf2026      
@dudu
好的.看来是我这边的问题.

  回复  引用  查看    
#44楼2009-11-12 09:06 | Ame      
学习,真需要这个,谢啦
  回复  引用  查看    
#45楼2009-11-12 21:20 | winkingzhang      
这个挺有用的,支持搞个专题
  回复  引用  查看    
#46楼2009-11-14 17:25 | 遛扬狗      
10w连接?微软太强了,我用IIS6的Web园测试到8000左右,看来可以结束测试直接用2008了。
  回复  引用  查看    
#47楼2009-12-02 11:19 | 31526      
呵呵,cnblogs Server2008+ii7了
  回复  引用    
#48楼2009-12-05 12:45 | JamesLove[未注册用户]
請問IIS6也有ppConcurrentRequestLimit設定可以調整嗎?

另外我在IIS6上運行ASP程式,這樣的設定除了ASP.NET的程式有效以外,對ASP程式一樣有效嗎?

  回复  引用    
#49楼2009-12-05 12:46 | JamesLove[未注册用户]
請問IIS6也有ppConcurrentRequestLimit設定可以調整嗎?

另外我在IIS6上運行ASP程式,這樣的設定除了ASP.NET的程式有效以外,對ASP程式一樣有效嗎?

  回复  引用  查看    
#50楼2009-12-21 17:13 | 遛扬狗      
我测试了,14K的时候,IIS崩溃了。
  回复  引用  查看    
#51楼2010-01-29 11:45 | czjone      
只是可以这样设置,还和硬件,环境有关~