网站无法响应HTTP/1.1_Server Too Busy_win服务器

上网查了一下,引起的原因主要是由于网站程序中连接数据库的代码没有及时关闭造成的,这样链接多了以后就会造成链接数据库的链接到达峰值,不能再连接数据库,于是iis就报server too busy 。

问题:

Server is too busy 是什么意思,怎么解决?

回答:

首先,从字面上的意思我们就可以看出:

Server is too busy = 服务器繁忙

那么这种情况应该如何解决呢?分为两种情况:

1、如果您是访客,那么请联系网站管理人员(咨询或告知该问题),再或者可能您访问的时段网站流量较大,可以选择过一会再试!

2、如果您是站长,自己的网站出现这种情况,请参照网站Service Unavailable的解决方法。另外,也可以查阅虚拟主机或IIS下Server is too busy的一些优化方法。

一般来说,当你的iis发生了诸如"http:1001 server is too busy"的错误时,是因为你的asp程序中开了过多的server.createobject请求,然后每一个请求都需要排队等待直到他们确实被建立了为止。

  如果你的队列的最大长度为500的话,当队列中已经存在了499个请求时,这时如果第500个请求到达了,就会发生“server is too busy”错误。

  那么怎么来使正在申请的请求最小化了,并且如何提高响应时间呢,下面是几个建议:

  1.尽量使用.htm后缀的文件,避免使用.asp(尤其是在那些有可能招成超负荷的条件的特殊事件时)。因为htm不会障塞服务器同时能够得到最大的缓存性能。(有关这个的效率问题我曾经介绍过一篇文章,在精华区中)

  2.尽量在你的asp中少使用server.createobject

  3.严格限制你的asp调用不在你服务器上的外部资源,例如你的资源在另外一台服务器上

  4.尽量优化你的网络性能和稳定性,例如增强你的后台的sql server数据库或则远程文件共享的局域网性能。

  5.尽量让每一个组件的执行速度快与调用它的速度.例如,一个组件一秒钟被调用了20次,那么它就必须在1/20秒的时间内执行完成,否则该组件将会阻塞。要知道,一个阻塞的组件将会导致你网站上所有的asp崩溃

  6.每个礼拜都要监视你的网站的性能状态.因为单个能够产生阻塞的对象能够对你的整个网站产生很不好的影响。

但是查看代码固然重要,关键是要及时解决不能访问的问题,于是采取了如下解决方法:
1.首先保证网站可以在第一时间恢复正常:a:将sql数据库服务器关闭,在启动。b:将iis重启.这样操作之后至少可以保证网站可以马上浏览。
2.将iis应用程序池的回收内存减小。见到200mb左右。访问量在30万每天的情况下。应该是5分钟就能回收一次。避免链接数据库的链接到大峰值。
3.查找没有断开连接的代码,将连接及时关闭。
ASP.NET性能调整之解决Server Too Busy错误
最近公司的一个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服务器的吞吐量都应该远超过这个数)。这两个值可以根据服务器压力大小来进行合理配置。以调整站点吞吐量。
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操作系统,

时间: 2024-09-04 02:14:10

网站无法响应HTTP/1.1_Server Too Busy_win服务器的相关文章

asp.net网站HTtp响应头HTTP/1.0怎么改成HTTP/1.1

问题描述 目前网站HTTP响应头是HTTP/1.0版本,请问怎样可以改成HTTP/1.1版本 解决方案 解决方案二:没人懂么?没人懂么?

新手-医院网站要我自己配置一个2003的服务器,请教我要从哪里入手

问题描述 医院网站要我自己配置一个2003的服务器,请教我要从哪里入手 他是医院的网站,现在是需要我来操作 然后,需要我在本地配置一个2003的服务器,他主要是想让我做什么? 还有就是我需要做哪些事情 我需要学习和认识的有哪些 配置服务器最基本的要从地方开始下手 解决方案 http://wenku.baidu.com/link?url=HlwY34QkG6A-UcL4PQ8IjY_KVzCnm1p0uGZrFbUXlyu7Ocn3B3c3IZLlhJZojA1rL8l8WujecD29VXKPu

IIS中给网站添加匿名访问用户图文教程_win服务器

在网上找了许久,实在是找不到一篇讲述网站匿名用户的文章,网上太多文章都是夸夸而谈,讲述诸般大道理,却完全没落到实处,与匿名用户相关的文章不少,但讲述网站匿名用户建立步骤的文章却没有. 这是一个正常的现像,懂的人觉得太简单,不想敖述.不懂的人完全看不懂,看着那些高调的言谈,有如在查天书.还有一类不懂装懂的,在网站随意发布文章,留下百般漏洞. 最讨厌某些人,一知半解,经常劝别人给某个网站目录加EVERYONE权限,呵呵,真要照这帮人的说法设置,随便懂点的人轻轻松松就拿下服务器. 废话不多说,现在来看

Windows Server 2008 R2网站访问PHP响应慢的解决方法_win服务器

最近换了台新服务器,由于内存是8G的,所以就换了Windows Server 2008 R2 这款系统,虽然有点陌生,但是熟悉了一下感觉性能非常好,但是在配置完PHP环境之后却发现了问题,访问HTML速度飞快,而访问PHP网页时就要卡顿几秒,好像响应很慢的样子,排除了带宽的因素之后,在百度上搜了一圈,竟然解决了,现在将方法转载给大家,其实解决方法很简单哦. IIS7.5网站访问PHP响应慢的原因 原因是PHP5.3以上支持IPv6协议,但是大家的服务器未使用IPv6,当访问PHP的时候会连接My

WordPress网站&quot;HTTP响应拆分漏洞&quot;安全问题方案

一般情况下,我们在运维网站的时候,会通过第三方在线监测工具检查网站是否存在一定的风险,也可以通过直接监控风险漏洞,如果有发现网站存在安全风险会通过邮件等形式发送给我们进行修复.今天,一个朋友收到一封来自360网站安全卫士的邮件,提到他的网站有"HTTP响应拆分漏洞"问题,且给予了修复方法.     解决方法很简单,因为是使用的WORDPRESS程序,所以我们到当前主题的FUNCTIONS.PHP文件中,找到:    代码如下 复制代码 function redirect_comment

WIN2008系统安装IIS7配过ASP后打开ASP网站为500错误的解决办法_win服务器

访问ASP网站时总是提示:"500 - 内部服务器错误.您要查找的资源有问题,无法显示." 上面显示的是IIS的友好报错,按下面的步骤把详细错误显示出来! 1.在IIS管理器→ASP里,把错误信息发送到浏览器这个选项开启(True),并注意在IE设置里去掉"显示友好的错误":2.然后在"错误页"设置选项里,双击500那一行,再点文件按路径后面的"设置".在跳出的对话框中将"相对文件路径"里的文件名改为&qu

Linux下Web网站压力测试工具Webbench使用教程_服务器其它

Webbench是一个非常简单的压力测试工具,Webbench最多可以模拟3万个并发连接去测试网站的负载能力. (1)Webbench安装 复制代码 代码如下: wget http://www.jb51.net/soft/linux/webbench-1.5.tar.gz tar zxvf webbench-1.5.tar.gz cd webbench-1.5 make make install (2)Webbench使用 复制代码 代码如下: webbench -c 1000 -t 60 ht

企业开进行网站建设,如何购买合适的云服务器

随着云服务器的流行,大家对云主机的优势也越来越认同,更多的企业和个人去选择热门的云产品,现在基本上已取代VPS产品,甚至对传统服务器也造成了一定的影响.那么对于用户来说,怎么去选择购买适合自己的云服务器呢,这次以常见的网站为例,给大家介绍如何去选择物美价廉的云服务器. 云服务器较其他类型的服务器最大的特点是可以弹性扩容,除了在原磁盘上直接扩展硬盘需要转移数据,像CPU.内存 .带宽都是不需要转移数据的,可以直接升级或降级.这对企业网站来说,是最省资源最为突出的一个优势.用户可以根据网站在不同阶段

IIS配置网站定时任务必设参数图文教程_win服务器

网站中的定时任务一般是必不可少的,具体的实现方法此文不做详细说明,如有需要了解的请留言.本文主要讲述定时任务有关IIS中的设置. 如果一个网站在20分钟内(IIS默认为20分钟)没有客户端访问,服务器会自动释放IIS的应用程序池,此时定时任务就会失效,如果需要IIS中的应用程序池在长时间不会被释放需要对其参数进行调整: 打开IIS管理界面,如下图: 点击"应用程序池",从右侧应用程序池列表中选择要设置的应用程序池,点击右键,选择"高级设置...",打开如下界面: 分