关于mongodb 数据库 连接数过高导致数据库崩溃
mongodb吧
全部回复
仅看楼主
level 3
星河剑海 楼主
昨天(16.9.28) 到今天(16.9.29)这段时间我的mongodb数据库(Replica Sets) 出现了 崩溃的状况。原因是有一个程序(公司内部测试程序)在不断的创建链接,导致连接数过大。引起的崩溃。
关闭程序后,数据库恢复正常。
疑问:
1.连接数过大 会导致数据库崩溃么?
2.如果问题一成立。怎样做到 即使 连接数 超过了 限制数据库也不会崩溃!
附:
开启和关闭产生链接的程序时数据库的连接数对比
test:PRIMARY> db.serverStatus().connections
{ "current" : 405, "available" : 414, "totalCreated" : NumberLong(10948) }
test:PRIMARY> db.serverStatus().connections
{ "current" : 68, "available" : 751, "totalCreated" : NumberLong(10995) }
数据库崩溃后的日志
2016-09-29T01:39:01.357+0000 I NETWORK [initandlisten] Listener: accept() returns -1 errno:24 Too many open files
2016-09-29T01:39:01.357+0000 E NETWORK [initandlisten] Out of file descriptors. Waiting one second before trying to accept more connections.
2016-09-29T01:39:02.053+0000 E STORAGE [thread2] WiredTiger (24) [1475113142:53933][8740:0x7f44074e5700], file:WiredTiger.wt, WT_SESSION.checkpoint: WiredTiger.turtle: fopen: Too many open files
2016-09-29T01:39:02.054+0000 E STORAGE [thread2] WiredTiger (24) [1475113142:54338][8740:0x7f44074e5700], checkpoint-server: checkpoint server error: Too many open files
2016-09-29T01:39:02.054+0000 E STORAGE [thread2] WiredTiger (-31804) [1475113142:54357][8740:0x7f44074e5700], checkpoint-server: the process must exit and restart: WT_PANIC: WiredTiger library panic
2016-09-29T01:39:02.054+0000 I - [thread2] Fatal Assertion 28558
2016-09-29T01:39:02.054+0000 I - [thread2]
***aborting after fassert() failure
2016-09-29T01:39:02.059+0000 F - [thread2] Got signal: 6 (Aborted).
0x12de422 0x12dd349 0x12ddb52 0x7f44121ad100 0x7f4411e115f7 0x7f4411e12ce8 0x1264ff2 0x104e863 0x1a3644c 0x1a365ed 0x1a369d4 0x19bfd0b 0x7f44121a5dc5 0x7f4411ed2c9d
----- BEGIN BACKTRACE -----
{"backtrace":[{"b":"400000","o":"EDE422","s":"_ZN5mongo15printStackTraceERSo"},{"b":"400000","o":"EDD349"},{"b":"400000","o":"EDDB52"},{"b":"7F441219E000","o":"F100"},{"b":"7F4411DDC000","o":"355F7","s":"gsignal"},{"b":"7F4411DDC000","o":"36CE8","s":"abort"},{"b":"400000","o":"E64FF2","s":"_ZN5mongo13fassertFailedEi"},{"b":"400000","o":"C4E863"},{"b":"400000","o":"163644C","s":"__wt_eventv"},{"b":"400000","o":"16365ED","s":"__wt_err"},{"b":"400000","o":"16369D4","s":"__wt_panic"},{"b":"400000","o":"15BFD0B"},{"b":"7F441219E000","o":"7DC5"},{"b":"7F4411DDC000","o":"F6C9D","s":"clone"}],"processInfo":{ "mongodbVersion" : "3.2.4", "gitVersion" : "e2ee9ffcf9f5a94fad76802e28cc978718bb7a30", "compiledModules" : [], "uname" : { "sysname" : "Linux", "release" : "4.4.5-15.26.amzn1.x86_64", "version" : "#1 SMP Wed Mar 16 17:15:34 UTC 2016", "machine" : "x86_64" }, "somap" : [ { "elfType" : 2, "b" : "400000", "buildId" : "1E53E3DEDC131F278C437B0E3E04847DABCB0B59" }, { "b" : "7FFD12FA9000", "elfType" : 3, "buildId" : "41FCD6A73F6D071E1D71C6CB2583BE9195E257E7" }, { "b" : "7F44133C9000", "path" : "/usr/lib64/libssl.so.10", "elfType" : 3, "buildId" : "C9DB6FDB87F3CAAF209AEACD2EC345B152605135" }, { "b" : "7F4412FE3000", "path" : "/lib64/libcrypto.so.10", "elfType" : 3, "buildId" : "3ED8A0B863A9237EDAB3024F0BCA235E6A841220" }, { "b" : "7F4412DDB000", "path" : "/lib64/librt.so.1", "elfType" : 3, "buildId" : "42833B65941483A611C40EA7D32F56EA83EA6E93" }, { "b" : "7F4412BD7000", "path" : "/lib64/libdl.so.2", "elfType" : 3, "buildId" : "6335077ACD51527BE9F2F18451A88E2B7350C5B6" }, { "b" : "7F44128D2000", "path" : "/usr/lib64/libstdc++.so.6", "elfType" : 3, "buildId" : "0A90C35D3174805453EA67A785446D628E298B59" }, { "b" : "7F44125D0000", "path" : "/lib64/libm.so.6", "elfType" : 3, "buildId" : "BB312C4A65B8FD830C148612CBEACEACC8B08E4F" }, { "b" : "7F44123BA000", "path" : "/lib64/libgcc_s.so.1", "elfType" : 3, "buildId" : "00FA2883FB47B1327397BBF167C52F51A723D013" }, { "b" : "7F441219E000", "path" : "/lib64/li
bp
thread.so.0", "elfType" : 3, "buildId" : "E5E575776DAD20ADE8FD0CAF17897C9D89020A87" }, { "b" : "7F4411DDC000", "path" : "/lib64/libc.so.6", "elfType" : 3, "buildId" : "7128B52741C2494951D285A80DAF25B2BC9C7A0D" }, { "b" : "7F4413636000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3, "buildId" : "7B7BF8FEEF1A9C627EF90CA5C9188EFD4DA2DDD2" }, { "b" : "7F4411B90000", "path" : "/lib64/libgssapi_krb5.so.2", "elfType" : 3, "buildId" : "E203354E7F907ACC8C3028FE465541B666DCFBA0" }, { "b" : "7F44118AB000", "path" : "/lib64/libkrb5.so.3", "elfType" : 3, "buildId" : "D769C8FFAF8772FDA55031ABF2E167DF2207E378" }, { "b" : "7F44116A8000", "path" : "/usr/lib64/libcom_err.so.2", "elfType" : 3, "buildId" : "5C01209C5AE1B1714F19B07EB58F2A1274B69DC8" }, { "b" : "7F4411476000", "path" : "/lib64/libk5crypto.so.3", "elfType" : 3, "buildId" : "6C2243D37143F7FD1E16ED1F6CE4D7F16C2D7EF1" }, { "b" : "7F4411260000", "path" : "/lib64/libz.so.1", "elfType" : 3, "buildId" : "89C6AF118B6B4FB6A73AE1813E2C8BDD722956D1" }, { "b" : "7F4411051000", "path" : "/lib64/libkrb5support.so.0", "elfType" : 3, "buildId" : "744272FEAAABCE629AB9E11FAA4A96AEBE8BC2B4" }, { "b" : "7F4410E4E000", "path" : "/lib64/libkeyutils.so.1", "elfType" : 3, "buildId" : "37A58210FA50C91E09387765408A92909468D25B" }, { "b" : "7F4410C34000", "path" : "/lib64/libresolv.so.2", "elfType" : 3, "buildId" : "EE46CA824A1683662BCDA445CC1A4122BBE552BA" }, { "b" : "7F4410A13000", "path" : "/usr/lib64/libselinux.so.1", "elfType" : 3, "buildId" : "F5054DC94443326819FBF3065CFDF5E4726F57EE" } ] }}
mongod(_ZN5mongo15printStackTraceERSo+0x32) [0x12de422]
mongod(+0xEDD349) [0x12dd349]
mongod(+0xEDDB52) [0x12ddb52]
libpthread.so.0(+0xF100) [0x7f44121ad100]
libc.so.6(gsignal+0x37) [0x7f4411e115f7]
libc.so.6(abort+0x148) [0x7f4411e12ce8]
mongod(_ZN5mongo13fassertFailedEi+0x82) [0x1264ff2]
mongod(+0xC4E863) [0x104e863]
mongod(__wt_eventv+0x40C) [0x1a3644c]
mongod(__wt_err+0x8D) [0x1a365ed]
mongod(__wt_panic+0x24) [0x1a369d4]
mongod(+0x15BFD0B) [0x19bfd0b]
libpthread.so.0(+0x7DC5) [0x7f44121a5dc5]
libc.so.6(clone+0x6D) [0x7f4411ed2c9d]
----- END BACKTRACE -----
2016年09月29日 03点09分 1
1