解决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.每个礼拜都要监视你的网站的性能状态.因为单个能够产生阻塞的对象能够对你的整个网站产生
很不好的影响。