httpRuntime Server Too Busy

修改方法:修改服务器.net配置“machine.config"文件,该文件位于Windows系统目录下,如“C:\WINDOWS \Microsoft.NET\Framework\v1.1.4322\CONFIG ”,视你的网盘程序版本,修改对应目录下的 machine.config文件,如2.0版本用户就修改“C:\WINDOWS\Microsoft.NET\Framework \v2.0.50727\CONFIG”下的machine.config文件,查找该文件中的“processModel”配置段落,修改其中的字段 maxWorkerThreads="200" maxIoThreads="200",1.1和2.0的默认段落不太一样,修改后的配置如下:

1.1版本:

<processModel
enable="true"
timeout="Infinite"
idleTimeout="Infinite"
shutdownTimeout="0:00:05"
requestLimit="Infinite"
requestQueueLimit="5000"
restartQueueLimit="10"
memoryLimit="60"
webGarden="false"
cpuMask="0xffffffff"
userName="machine"
password="AutoGenerate"
logLevel="Errors"
clientConnectedCheck="0:00:05"
comAuthenticationLevel="Connect"
comImpersonationLevel="Impersonate"
responseDeadlockInterval="00:03:00"
maxWorkerThreads="200"
maxIoThreads="200"
/>

2.0版本:
原来默认的是<processModel autoConfig="true"/>

改为<processModel maxWorkerThreads="200" maxIoThreads="200"/>

不用重新启动服务器就可以看到效果。

以上只是个人实践体会,我的服务器状态是:2003操作系统,

*****************************************************************************************************************************

最近公司的一个ASP.NET站点频繁出现Server Too Busy错误,具体表现为页面响应慢、经常出现Server Too Busy异常;但实际上服务器的资源消耗却很低,CPU使用只有10%左右,非常奇怪。

该站点运行环境为Windows 2000,IIS5.0,.NET Framework 1.1,站点压力约为每秒10个连接,峰值时约为30。

从网上查找相关资料后,从表现出的情况来看(响应慢,抛出Server Too Busy异常),初步判断为同时连接过多引起的线程阻塞引起。修改web.config中的httpRuntime配置节中的appRequestQueueLimit参数后,Server Too Busy 的错误得到解决。此参数默认从machine.config中继承,默认值为100,改为1000后Server Too Busy的错误不再出现。

虽然服务器忙的错误解决了,但是站点响应还是很慢,有时候要等上5—10秒才能打开页面。分析原因应该是同时请求过多,而IIS工作线程不足的原因引起,修改machine.config中processModel配置节maxWorkerThreads参数为200后站点响应速度慢的问题得到解决。此参数默认值为20,可根据服务器硬件配置于压力大小适当调整。

分析原因,是因为站点程序中使用了HttpWebRequest请求外部服务器的页面,而这个操作是相当耗时的(外部服务器响应慢是主要原因)。当访问者的请求到达ASP.NET工作进程后,ASP.NET首先会检查是否有空余的工作线程(WorkerThread),如果有的话,就交给一个空闲的工作线程去处理,如果没有空闲的工作线程,那么这个请求就会被放到请求队列(RequestQueue)中,这个时候的表现就是响应很慢。当访问量过大导致请求队列也满了的时候,ASP.NET就会抛出Server Too Busy异常了。在.NET 1.1中,默认的工作线程和请求队列分别为20和100,当运行的代码比较费时而访问量又较大的时候,这两个默认值显然就太小了。(现在的服务器硬件便宜了,一般PC服务器的吞吐量都应该远超过这个数)。这两个值可以根据服务器压力大小来进行合理配置。以调整站点吞吐量。

IIS-Server is too busy _解决方法的更多相关文章

  1. 无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法

    无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问.)” (Microsoft SQL Server,错误: 5120)的解决方法   问题描述: 在附加数据库到sql server时,附 ...

  2. 【转】 远程到服务器安装visualSVN server,出现Service 'VisualSVN Server' failed to start的解决方法

    在帮助远程到服务器上安装visualSVN server的时候,出现Service 'VisualSVN Server' failed to start. 解决方法(先不要关闭安装弹出的错误窗口): ...

  3. 加载驱动模块时Device or resource busy的解决方法

    加载驱动模块时Device or resource busy的解决方法 加载驱动模块时Device or resource busy的解决方法 insmod或modprobe驱动模块时Device o ...

  4. SQL Server 2008 允许远程链接 解决方法

    用户在使用SQL Server 2008远程链接时,可能会弹出如下对话框: 在链接SQL服务器时发生网络链接错误或特定实例错误.SQL服务器不存在或者链接不成功.请验证用户名是否正确或SQL服务器是否 ...

  5. SQL Server作业没有执行的解决方法

    SQL Server作业没有执行的解决方法  确保SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行    设置方法:  我的电脑--控制面板--管理工具--服务--右键 SQLSE ...

  6. 【常见的SQL Server连接失败错误以及解决方法】

    [常见的SQL Server连接失败错误以及解决方法] http://blog.csdn.net/feixianxxx/article/details/5523922 ADO连接SQL Server ...

  7. IIS Server is too busy 解决方法(IIS6)

    Server is too busy意思是服务器繁忙,资源不够用 为什么会出现这个问题呢? 因为服务器的配置不同,所能承受的压力不同. 而服务器默认对链接数,线程数等有设置,但这个设置太小,基本不够用 ...

  8. win8 下 IIS APPPOOL\DefaultAppPool 登录失败的解决方法

    来源:网络 添加ASP.NET网站时,选择添加"添加应用程序"连接sql server 2005(2008)可能会报始下的错误:(说明:2005必报错,2008选报错)" ...

  9. (转)配置Website的IIS时遇到的问题与解决方法

    在部署WebSite时遇到问题,刚好发现Eric Sun的文章,因此转载做个副本. 原文地址:http://www.cnblogs.com/mingmingruyuedlut/archive/2011 ...

随机推荐

  1. 运用js解决java selenium元素定位问题

    一.解决定位并操作uneditable元素 尝试了通过id,xpath等等定位元素后点击都提示Element is not clickable at point 再看了下可以click的元素发现上面有 ...

  2. 1057 N的阶乘(大数运算)

    题目链接:51nod 1057 N的阶乘 #include<cstdio> using namespace std; typedef long long ll; ; const int m ...

  3. osg,qt编译的一些问题

    osg编译例子的时候,打开文件就出问题,可能是一些不兼容的问题 qt编译的是时候要添加qt和vs2010的整合工具,这样才能把 vs2010里面的QTDIR变量和环境变量QTDIR关联起来 同是右击文 ...

  4. WinForm程序打包说明

    如果使用的是VS2013需要下载并安装 Microsoft Visual Studio 2013 Installer Projects 下载地址:https://visualstudiogallery ...

  5. SSM框架学习之高并发秒杀业务--笔记4-- web层

    在前面几节中已经完成了service层和dao层,到目前为止只是后端的设计与编写,这节就要设计到前端的设计了.下面开始总结下这个秒杀业务前端有哪些要点: 1. 前端页面的流程 首先是列表页,点某个商品 ...

  6. dpkg命令的用法

    dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除. 所有源自"Debian"的Linux的发行版都使 ...

  7. Supercell only provide the best games for players

    Supercell only provide the best games for players Supercell start to change all, Supercell's first t ...

  8. require.js的使用

    RequireJS是一个非常小巧的JavaScript模块载入框架,是AMD规范最好的实现者之一.最新版本的RequireJS压缩后只有14K,堪称非常轻量.它还同时可以和其他的框架协同工作,使用Re ...

  9. EMS问题

    如果EMS启动后在运行时报出 JMS error: "Not allowed to create destination这个错误,可能就是你启动方式的问题了 进入到EMS的安装目录的bin目 ...

  10. android recyclerview 更新ui

    http://blog.csdn.net/leejizhou/article/details/51179233