2
我只是在Prolog中測試一個小腳本來檢查MySQL連接的健全性。在建立大約3000多個連接後,連接會隨機失敗。 MySQL Server中是否存在連接數量限制經過3000多次嘗試後mysql連接失敗
:-dynamic db_connection/1.
sanity_check_open_db:-
odbc_connect('myDSN', _,
[ user(bob),
password(pop),
alias(myDSN),
open(once)
]),
( db_connection(_),
retractall(db_connection(_))
; assert(db_connection(myDSN))).
sanity_chec_close:-
( db_connection(C),
odbc_disconnect(C),
retractall(db_connection(C))
; write('Error: No connection opened to close')).
sanity_check_open_close(10000).
sanity_check_open_close(N):-
format(atom(C),'~wth Iteration~n',[N]),
write(C),
sanity_check_open_db,
sanity_chec_close,
N1 is N + 1,!,
sanity_check_open_close(N1).
但是,當我嘗試使用MSSQL服務器相同的腳本,並嘗試10000連接時,它很好。這是一個很大的驚喜。 – JPro 2009-12-04 12:18:59
進行netstat檢查。您可能會發現連接處於其他某種狀態,或者處於不同的WAIT狀態或類似FIN_RCVD狀態,這表明您的基礎數據庫驅動程序未正確關閉連接。 – 2009-12-04 12:31:58
我想,既然你接受了我的回答,你就會得出一些結論。小心分享? – 2009-12-07 15:41:49