一般來(lái)說(shuō),當(dāng)你的iis發(fā)生了諸如"http:1001 server is too busy"的錯(cuò)誤時(shí),是因?yàn)槟愕腶sp程序中開(kāi)了過(guò)多的server.createobject請(qǐng)求,然后每一個(gè)請(qǐng)求都需要排隊(duì)等待直到他們確實(shí)被建立了為止。
如果你的隊(duì)列的大長(zhǎng)度為500的話,當(dāng)隊(duì)列中已經(jīng)存在了499個(gè)請(qǐng)求時(shí),這時(shí)如果第500個(gè)請(qǐng)求到達(dá)了,就會(huì)發(fā)生“server is too busy”錯(cuò)誤。
那么怎么來(lái)使正在申請(qǐng)的請(qǐng)求最小化了,并且如何提高響應(yīng)時(shí)間呢,下面是幾個(gè)建議:成都服務(wù)器托管
1.盡量使用.htm后綴的文件,避免使用.asp(尤其是在那些有可能招成超負(fù)荷的條件的特殊事件時(shí))。因?yàn)閔tm不會(huì)障塞服務(wù)器同時(shí)能夠得到大的緩存性能。(有關(guān)這個(gè)的效率問(wèn)題我曾經(jīng)介紹過(guò)一篇文章,在精華區(qū)中)
2.盡量在你的asp中少使用server.createobject
3.嚴(yán)格限制你的asp調(diào)用不在你服務(wù)器上的外部資源,例如你的資源在另外一臺(tái)服務(wù)器上
4.盡量?jī)?yōu)化你的網(wǎng)絡(luò)性能和穩(wěn)定性,例如增強(qiáng)你的后臺(tái)的sql server數(shù)據(jù)庫(kù)或則遠(yuǎn)程文件共享的局域網(wǎng)性能。
5.盡量讓每一個(gè)組件的執(zhí)行速度快與調(diào)用它的速度.例如,一個(gè)組件一秒鐘被調(diào)用了20次,那么它就必須在1/20秒的時(shí)間內(nèi)執(zhí)行完成,否則該組件將會(huì)阻塞。要知道,一個(gè)阻塞的組件將會(huì)導(dǎo)致你網(wǎng)站上所有的asp崩潰
6.每個(gè)禮拜都要監(jiān)視你的網(wǎng)站的性能狀態(tài).因?yàn)閱蝹€(gè)能夠產(chǎn)生阻塞的對(duì)象能夠?qū)δ愕恼麄€(gè)網(wǎng)站產(chǎn)生很不好的影響。