[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