刚刚测试人员说,公司发布的网站大规模无法访问。而下周还要给客户演示我负责的两个网站,哥瞬间不淡定了。赶紧处理了一下。
首先,在网上查了一下503这个东西是什么玩意儿:503是一种HTTP状态码,是服务器出错的一种返回状态,由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。(停了快三个小时了都没启动好吧,根本没重启的苗儿头)
1、网络管理员可能关闭应用程序池以执行维护。
2、当请求到达时应用程序池队列已满。
3、应用程序池标识没有使用预定义账户:网络服务,而自己配置了标识,但是配置的这个用户不属于IIS_WPG组
4、应用程序池启用了CPU监视,并且设置了CPU利用率超过一定百分比关闭应用程序池,而开发人员写的服务端页面(.asp,.aspx)执行效率不高,会引起CPU的长时间占用,最终达到设置的百分比,从而引起应用程序池关闭
5、应用程序池的性能选项卡的请求队列限制所填的数值太小,默认为1000。
6、web.config的system.web/httpRuntime节点的appRequestQueueLimit属性设置的值太低。
比较完整的,带截图的详解如下 【参考地址】
这次事故的原因可能是:
A 应用程序池队列已满 B CPU过高 C 没空间了。。。
不过应用程序池都关了,可能是C导致的,也可能是B。已满的情况下,至少能访问到页面才对。
解决方法:
1、重新启动对应的线程池
2、清理C盘空间(这次真的满了、的满了、满了、了、、、)
不过,如果此类情况再次出现,首要考虑的依旧是:服务器是否受到了攻击。。。