none
关于iis7+.net4环境中httperror出现Client_Reset的状态记录 RRS feed

  • 问题

  • 网站用windows 2008的iis7+.net4.0,网站总是运行一段时间(间隔多长无法确定)后无法访问(症状就是浏览器下面的进度条一直不动,看日志 httperr.log 文件可以发现有 Client_Reset 或 503 Disabled 等错误信息,但同一时间访问日志文件里还有访问记录,状态是200)。这时只要一停止应用程序池浏览器立即显示 service unavailable ,再开启应用程序池后网站正常。最开始放在 windows 2003+iis6 上,并无此类问题。

    应用程序池以 IIS_IUSRS 组里的用户运行,且目录设置为该用户可读写。有的人说 iis7 的网站目录需要加 users 组权限,这是必要的吗?

    另外基本可以去除访问量大的因素,应用程序池的队列长度设置的是 5000 ,网站的实际访问量没有多大,基本上日独立 ip 也就在 1000 以内。

     

    我用 Web Application Stress 进行了测试,使用一个 clients ,约 500 个 users,400 个 threads ,其它基本默认,测试一分钟。在这个过程中,网站无法访问,并且测试完后也还是一直无法打开(就如上面说的症状一样),httperr.log 文件中的记录是 Client_Reset 。这时必须得重启应用程序池才可以。在用 300 个及以下的 threads 测试时,测试完一分钟后网站即可正常访问。不知道这个连接是怎么计算的,我给应用程序池设置的队列是10000,如果是 400 个threads ,500个users ,这样的设置相当于多少个并发连接?还有 Client_Reset 状态不知道是什么意思,查 google 和 baidu 都没有提过 httperr.log 文件里有这种状态,不知道怎样解决。

    2010年7月26日 7:53

答案

  • 既然在IIS6上没有问题,你可以在IIS7上把Application Pool 改为Classic 模式。
    This posting is provided "AS IS" with no warranties, and confers no rights. Microsoft Online Community Support. My Blog:http://xhinker.com
    2010年8月2日 8:43
    版主

全部回复

  • 另外很奇怪,在用 Web Application Stree 测试期间,服务器上对应的应用程序池CPU占用率一直是0,其内存也无任何变化,就象根本没有访问服务器一样。服务器配置:Q8200四核CPU,4G内存。
    2010年7月26日 13:05
  • 既然在IIS6上没有问题,你可以在IIS7上把Application Pool 改为Classic 模式。
    This posting is provided "AS IS" with no warranties, and confers no rights. Microsoft Online Community Support. My Blog:http://xhinker.com
    2010年8月2日 8:43
    版主