我在雲計算提供商(大約320個作業)上同時啓動大量python作業。每個python作業在啓動時都會連接到MySQL服務器。連接成功完成大多數作業,但連接時總會有一些掛起。使用gdb檢查掛起作業的回溯顯示了下面的回溯,這似乎表明該進程已掛起等待MySQL的響應。Python:處理MySQL連接掛起
有什麼辦法可以修復掛在MySQL端或Python端?
(gdb) bt
#0 0x00007f64612d14cc in recv() from /lib/x86_64-linux-gnu/libpthread.so.0
#1 0x00000000004fb139 in ??()
#2 0x0000000000510b4b in ??()
#3 0x00000000004cbb0a in PyObject_CallMethodObjArgs()
#4 0x00007f645e2ee69c in API_recvSocket (sock=0x4f03d00, buffer=0x7f644774b010 "", [email protected]=65536) at ./python/io_cpython.c:229
#5 0x00007f645e2ef1c0 in Connection::readSocket ([email protected]=0x5301720) at ./lib/Connection.cpp:153
#6 0x00007f645e2ef264 in Connection::recvPacket ([email protected]=0x5301720) at ./lib/Connection.cpp:354
#7 0x00007f645e2efd84 in Connection::connect (this=0x5301720, _host=<optimized out>, _port=<optimized out>, _username=<optimized out>,
_password=<optimized out>, _database=<optimized out>, _autoCommit=0x0, _charset=MCS_utf8_general_ci) at ./lib/Connection.cpp:487
#8 0x00007f645e2ee8aa in UMConnection_Connect (conn=<optimized out>, _host=<optimized out>, _port=<optimized out>, _username=<optimized out>,
_password=<optimized out>, _database=<optimized out>, _autoCommit=0x0, _charset=33) at ./lib/capi.cpp:84
#9 0x00007f645e2ed74e in Connection_connect (self=0x510fcd8, args=<optimized out>) at ./python/umysql.c:860
#10 0x00000000004ac5ce in PyEval_EvalFrameEx()
#11 0x00000000004b3fd8 in PyEval_EvalCodeEx()
#12 0x00000000004b4b4c in ??()
#13 0x0000000000481cc4 in ??()
#14 0x00000000004613b4 in ??()
#15 0x0000000000463cc2 in ??()
#16 0x00000000004acc66 in PyEval_EvalFrameEx()
#17 0x00000000004acde0 in PyEval_EvalFrameEx()
#18 0x00000000004b3fd8 in PyEval_EvalCodeEx()
#19 0x00000000004acb98 in PyEval_EvalFrameEx()
#20 0x00000000004b3fd8 in PyEval_EvalCodeEx()
#21 0x0000000000536723 in ??()
#22 0x0000000000446bf2 in PyRun_FileExFlags()
#23 0x00000000004470ec in PyRun_SimpleFileExFlags()
#24 0x0000000000447cdc in Py_Main()
#25 0x00007f64606b6ead in __libc_start_main() from /lib/x86_64-linux-gnu/libc.so.6`
#26 0x00000000004c7f39 in _start()
如果你的意思是max_connections,我把它設置爲10000 :-) –