当前位置:首页 > 行业观点 > 详情
sousuo
sousuo

win2003+iis6.0部分站点超时打不开 报错是:Timer_MinBytesPerSecond 错误或 Timer_ConnectionIdle,这样解决

上传时间:2022-07-07            浏览次数:646

客户同一个服务器上防止了300个左右的站点,因为每个分站一套程序,所以就很多。于是出现了部分站点访问不了的情况。这个问题是因为网站扛不住那么多的访问,出现了访问拥堵的现象。在这个过程中我们会尝试了非常多的办法,后边回帖出来。

这次问题的特征是:

1、服务器并不卡,一切正常,但就是部分网站会出现打不开现象,也不是直接报错,就一直等待中。

2、重启服务器之后,会变好,但等待一阵子又不行了。

3、服务器内存占用从1G多点,不停的涨,涨到3G左右基本稳定(服务器物理内存4G)

4、有的站点打开很慢,但已经能打开的站点速度却很快。【根据这个特征,判断的应用程序池太多问题】

解决办法是:拦截不要的爬虫,把一些攻击的IP拉进黑名单。问题得以解决。

如果想要后续更稳定,其实可以考虑升级内存,因为这个内存目前实在是太小了,才4G。后续如果是访问量比较大,一定还会出现这些问题的。在解决这个问题的过程中,我们用了很多种办法,以下是解决的历程:

一、怀疑是程序池太多了。

应用程序池数量太多了,服务器配置承载不了那么多,于是给多个站点合并用一个应用程序池。我采取的办法是,根据英文首字母,改成a、b、c……大概有十几个应用程序池,问题解决!

解决办法就是:合并程序池,把程序池变少一些即可。

尝试了之后,发现依然不行。

二、怀疑是虚拟内存之类引起的。

因为当时服务器配置低,用了iis2003,后来复制出来比较多的站点。导致网站服务器承受不了了。搬迁服务器之后感觉配置还可以,但依然会出现打不开的现象,观察下来也没有攻击之类的。看来是服务器环境问题。

找了很多资料,感觉是分页文件,虚拟内存的问题。也设置了多次,甚至是给虚拟内存取消掉,也是不行。后来发现可以看日志找原因,最后锁定是:Timer_MinBytesPerSecond 和 Timer_ConnectionIdle的错误。

看了一下资料,是这样解决的:

在网上搜索,找到关于win 2003 iis6.0的一个httperr的日志记录,位置:C:Windowssystem32LogFilesHTTPERRhttperr*.log,在其中发现许多Timer_MinBytesPerSecond 错误或 Timer_ConnectionIdle 错误 Number_Connections_refused 错误,终于找到了相关的错误提示,现在就是与这有关吧!

对于Timer_MinBytesPerSecond 错误或 Timer_ConnectionIdle 错误,网上解释与iis设置有关,可以通过如下解决:

1) 从 IIS 管理器右键单击 Internet Information Server (IIS) 管理器级别根目录上并转到属性。 选中要启用直接编辑元数据库框。 单击确定。

2) 在记事本中打开 C:Windowssystem32inetsrvMetaBase.xml 文件,
搜索MinFileBytesPerSec,将 MinFileBytesPerSec 设置从 240 更改为 0。
搜索ConnectionTimeout,将 ConnectionTimeout 设置从 120 更改为 600。
MinFileBytesPerSec如果不在C:Windowssystem32inetsrvMetaBase.xml 文件 就是在C:Windowssystem32inetsrvMBSchema.xml 文件。

3) 重新启动 IISAdmin 服务以更改生效。

对于Number_Connections_refused 错误,可以通过如下解决:

要变通解决此问题,请将该 EnableAggressiveMemoryUsage 注册表项添加到以下注册表子项中:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTPParameters

然后,将 EnableAggressiveMemoryUsage 注册表项设置为 1。

要这样做,请按下列步骤操作:(最好备份注册表)

单击 开始 ,单击 运行 ,在 打开 的框中键入 regedit ,然后单击 确定 。

单击下面的注册表子项:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesHTTPParameters

在 编辑 菜单上指向 新建 ,然后单击 DWORD 值 。

键入 EnableAggressiveMemoryUsage ,然后按 Enter 键。

在 编辑 菜单中上, 单击 修改 。

在在 数值数据 框中键入 1 ,然后单击 确定 。

在 文件 菜单中上, 单击 退出 以退出注册表编辑器。

重新启动 HTTP 服务。 要这样做,请按下列步骤操作:

单击 开始 ,单击 运行 ,在 打开 的框中键入 cmd ,然后单击 确定 。

在命令提示符键入 net stop http / y ,然后按 ENTER 键。

在命令提示符键入 iisreset /restart ,然后按 ENTER 键。

本文作者:野狼优优

十六年网站建设相关经验
一站式为您提供网站相关服务

欢迎扫码咨询

发表评论
请遵守网络文明公约,理性发言
访客头像

还没有人来评论,快来抢个沙发吧!

0371-56789390
公司地址

郑州市花园路东风路向西300路南弘熹台22层

联系我们