Ошибка исключения сокета 9001 для нескольких тяжелых запросов - PullRequest
0 голосов
/ 07 июня 2019

Я использую архитектуру mongodb PSA (основной-вторичный-арбитр) для моего производственного веб-сайта.Недавно я перенес свои серверы баз данных на новые облачные серверы на базе CentOS 7 от другого поставщика.Я настроил набор реплик и запустил еще один сервер приложений, который использует mongoose для соединения с базой данных.Во время выполнения некоторых запросов с новым сервером баз данных я получаю такие сообщения, как «зависание сокета».При проверке журналов базы данных я получаю сообщение об ошибке, как показано ниже.

2019-06-05T14:23:42.975+0300 W -        [conn144] DBException thrown :: caused by :: 9001 socket exception [CLOSED] for 10.0.1.5:33346

2019-06-05T14:23:42.986+0300 I -        [conn144] 

 0x565422c67a91 0x565422c67924 0x565422bcd031 0x565422c1117a 0x565422c0cf59 0x565422c0d16b 0x565422c0d1d7 0x565422c04ef8 0x565422bc7300 0x565422bca0fa 0x565422bcaa1f 0x565422bc6a47 0x565421f6ae5b 0x565421f6b8bd 0x565422bc5ae1 0x7f15ddad9dd5 0x7f15dd802ead

----- BEGIN BACKTRACE -----

{"backtrace":[{"b":"5654216AC000","o":"15BBA91","s":"_ZN5mongo15printStackTraceERSo"},{"b":"5654216AC000","o":"15BB924","s":"_ZN5mongo15printStackTraceEv"},{"b":"5654216AC000","o":"1521031","s":"_ZN5mongo11DBException13traceIfNeededERKS0_"},{"b":"5654216AC000","o":"156517A","s":"_ZN5mongo15SocketExceptionC1ENS0_4TypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS9_"},{"b":"5654216AC000","o":"1560F59","s":"_ZN5mongo6Socket15handleRecvErrorEii"},{"b":"5654216AC000","o":"156116B","s":"_ZN5mongo6Socket5_recvEPci"},{"b":"5654216AC000","o":"15611D7","s":"_ZN5mongo6Socket4recvEPci"},{"b":"5654216AC000","o":"1558EF8","s":"_ZN5mongo13MessagingPort4recvERNS_7MessageE"},{"b":"5654216AC000","o":"151B300"},{"b":"5654216AC000","o":"151E0FA","s":"_ZN5mongo9transport20TransportLayerLegacy10_runTicketENS0_6TicketE"},{"b":"5654216AC000","o":"151EA1F","s":"_ZN5mongo9transport20TransportLayerLegacy4waitEONS0_6TicketE"},{"b":"5654216AC000","o":"151AA47","s":"_ZNO5mongo9transport6Ticket4waitEv"},{"b":"5654216AC000","o":"8BEE5B","s":"_ZN5mongo23ServiceEntryPointMongod12_sessionLoopERKSt10shared_ptrINS_9transport7SessionEE"},{"b":"5654216AC000","o":"8BF8BD"},{"b":"5654216AC000","o":"1519AE1"},{"b":"7F15DDAD2000","o":"7DD5"},{"b":"7F15DD705000","o":"FDEAD","s":"clone"}],"processInfo":{ "mongodbVersion" : "3.4.20", "gitVersion" : "447847d93d6e0a21b018d5df45528e815c7c13d8", "compiledModules" : [], "uname" : { "sysname" : "Linux", "release" : "3.10.0-957.12.2.el7.x86_64", "version" : "#1 SMP Tue May 14 21:24:32 UTC 2019", "machine" : "x86_64" }, "somap" : [ { "b" : "5654216AC000", "elfType" : 3, "buildId" : "2791275D61B7CD27DDAAC0655A4B944245A0322E" }, { "b" : "7FFC9FCA9000", "elfType" : 3, "buildId" : "D149FABD4DF969958863221F946E26C130432B47" }, { "b" : "7F15DEA74000", "path" : "/lib64/libssl.so.10", "elfType" : 3, "buildId" : "AEF5E6F2240B55F90E9DF76CFBB8B9D9F5286583" }, { "b" : "7F15DE612000", "path" : "/lib64/libcrypto.so.10", "elfType" : 3, "buildId" : "3593FA778645A59EA272DBBB59D318C60940E792" }, { "b" : "7F15DE40A000", "path" : "/lib64/librt.so.1", "elfType" : 3, "buildId" : "EFDE2029C9A4A20BE5B8D8AE7E6551FF9B5755D2" }, { "b" : "7F15DE206000", "path" : "/lib64/libdl.so.2", "elfType" : 3, "buildId" : "357693C8F1F49D93010C4E31529C07CDD2BD3D08" }, { "b" : "7F15DDF04000", "path" : "/lib64/libm.so.6", "elfType" : 3, "buildId" : "5B14BE4D749631673523A61074C10959D50F5455" }, { "b" : "7F15DDCEE000", "path" : "/lib64/libgcc_s.so.1", "elfType" : 3, "buildId" : "179F202998E429AA1215907F6D4C5C1BB9C90136" }, { "b" : "7F15DDAD2000", "path" : "/lib64/libpthread.so.0", "elfType" : 3, "buildId" : "96900CB0FF25B26F2BBDF247DE1408242E4773D8" }, { "b" : "7F15DD705000", "path" : "/lib64/libc.so.6", "elfType" : 3, "buildId" : "EB9F22A3891E5FD3494DFD9ED199E20AE71BB08D" }, { "b" : "7F15DECE6000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3, "buildId" : "A527FE72908703C5972AE384E78D1850D1881EE7" }, { "b" : "7F15DD4B8000", "path" : "/lib64/libgssapi_krb5.so.2", "elfType" : 3, "buildId" : "BCC30853830CD911E58700591830DF51ABCBD7BA" }, { "b" : "7F15DD1CF000", "path" : "/lib64/libkrb5.so.3", "elfType" : 3, "buildId" : "45BAB0BB455BDFA960FDA22E4124CF17B67CC930" }, { "b" : "7F15DCFCB000", "path" : "/lib64/libcom_err.so.2", "elfType" : 3, "buildId" : "B4BE1023D9606A88169DF411BF94AF417D7BA1A0" }, { "b" : "7F15DCD98000", "path" : "/lib64/libk5crypto.so.3", "elfType" : 3, "buildId" : "A9B3906192687CC45D483AE3C58C8AF745A6726A" }, { "b" : "7F15DCB82000", "path" : "/lib64/libz.so.1", "elfType" : 3, "buildId" : "B9D5F73428BD6AD68C96986B57BEA3B7CEDB9745" }, { "b" : "7F15DC972000", "path" : "/lib64/libkrb5support.so.0", "elfType" : 3, "buildId" : "94B3BCB669126166B77CDCE6092679A6AA2004C8" }, { "b" : "7F15DC76E000", "path" : "/lib64/libkeyutils.so.1", "elfType" : 3, "buildId" : "2E01D5AC08C1280D013AAB96B292AC58BC30A263" }, { "b" : "7F15DC555000", "path" : "/lib64/libresolv.so.2", "elfType" : 3, "buildId" : "C444AE61E7CBB716FD9C18A0B46A7FE8F4FCF3E5" }, { "b" : "7F15DC32E000", "path" : "/lib64/libselinux.so.1", "elfType" : 3, "buildId" : "D2DD4DA3FDE1477D25BFFF80F3A25FDB541A8179" }, { "b" : "7F15DC0CC000", "path" : "/lib64/libpcre.so.1", "elfType" : 3, "buildId" : "9CA3D11F018BEEB719CDB34BE800BF1641350D0A" } ] }}
 mongod(_ZN5mongo15printStackTraceERSo+0x41) [0x565422c67a91]
 mongod(_ZN5mongo15printStackTraceEv+0x74) [0x565422c67924]
 mongod(_ZN5mongo11DBException13traceIfNeededERKS0_+0x141) [0x565422bcd031] mongod(_ZN5mongo15SocketExceptionC1ENS0_4TypeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiS9_+0x26A) [0x565422c1117a]
 mongod(_ZN5mongo6Socket15handleRecvErrorEii+0x509) [0x565422c0cf59]
 mongod(_ZN5mongo6Socket5_recvEPci+0x5B) [0x565422c0d16b]
 mongod(_ZN5mongo6Socket4recvEPci+0x37) [0x565422c0d1d7]
 mongod(_ZN5mongo13MessagingPort4recvERNS_7MessageE+0x88) [0x565422c04ef8]
 mongod(+0x151B300) [0x565422bc7300] mongod(_ZN5mongo9transport20TransportLayerLegacy10_runTicketENS0_6TicketE+0x27A) [0x565422bca0fa]

 mongod(_ZN5mongo9transport20TransportLayerLegacy4waitEONS0_6TicketE+0x3F) [0x565422bcaa1f]
 mongod(_ZNO5mongo9transport6Ticket4waitEv+0x27) [0x565422bc6a47]
mongod(_ZN5mongo23ServiceEntryPointMongod12_sessionLoopERKSt10shared_ptrINS_9transport7SessionEE+0xCB) [0x565421f6ae5b]
 mongod(+0x8BF8BD) [0x565421f6b8bd]
 mongod(+0x1519AE1) [0x565422bc5ae1]
 libpthread.so.0(+0x7DD5) [0x7f15ddad9dd5]
 libc.so.6(clone+0x6D) [0x7f15dd802ead]
-----  END BACKTRACE  -----

2019-06-05T14:23:42.986+0300 I -        [conn144] end connection 10.0.1.5:33346 (30 connections now open)

Это не имеет никакого смысла для меня.Первичный db находится на сервере с частным ip 10.0.1.4, в то время как вторичный и арбитр находится на сервере с частным ip 10.0.1.5.Тот же набор запросов работает на моих предыдущих облачных серверах.

Я включил почти всю оптимизацию, такую ​​как ulimit, отключение THP и т. Д. На новом сервере.Но я не могу понять, что за этим стоит?

...