[ASP]伺服器逾時(TimeOut)

[ASP]伺服器逾時(TimeOut)

最近USER一直反應系統經常性會發生逾時情況,記得以前維護時好像也沒那麼嚴重應該是設定的問題,

不過一直回想不起來當初是如何設定的,所以上網查詢一下並將此問題記錄下,

而發逾時的設定有下列四種:

1. Server.ScriptTimeout

2. Connection對象的ConnectionTimeout 屬性

3. Command對象的CommandTimeout 屬性

4. IE瀏覽器的設定

前三種是需在ASP中下SQL指令時需指定,如未指定將會使用預設值,

 

Server.ScriptTimeout 預設值是90秒,更新為 Server.ScriptTimeout=9999 '單位(秒)

單位(秒)如設定為0,則將不會逾時

CommandTimeOut 預設值為30秒,更新為.ConnectionTimeout = 15000

Command預設值為30秒,更新為.CommandTimeout = 15000

最後,IE瀏覽器本身也有TimeOut的設定(原文請參照微軟KB中的Q181050):

1. IE必需為4.01 sp1以上版本

2. 在註冊表 regedit.exe

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

    新增[DWORD類型][ReceiveTimeout]將[值]設為8個9(99999999)

3. 重新開機


以上的解法應該就可以完全排除系統發生逾時的情況,但只是治標不治本,

因為讓USER等太久好像也不是個好辦法,而且應該會常常發生DB LOCK,

所以還是得回頭查詢DB效能問題 ,與SQL語法的調較才能正常解決問題。

參考資料:

http://www.dotblogs.com.tw/erichuang223/archive/2011/11/24/59380.aspx