Mongos 连接未清除

Mongos connection not cleared

提问人:tkraja mdu 提问时间:11/10/2023 最后编辑:M. Erikssontkraja mdu 更新时间:11/10/2023 访问量:51

问:

我们设置了 MongoDB 分片服务器,包括路由器 + 配置 + 2 个分片服务器 [MongoDB 版本 4.4],并通过 4 个服务器使用 PHP7 访问 mongos 连接。

最近增加了 1 台额外的服务器 (4+1=5) 与 PHP8 设置 [相同的 Mongo DB 版本 4.4] 由于升级并使用通用的 PHP 最新库。

在新服务器中,mongos 连接不断增加到 240,并且在完成申请流程后连接不清晰。

因此,当在所有 450 台服务器中达到 5 个以上的 mongos 连接时,意味着 mongos 断开连接,并出现以下错误:

PHP错误消息:

未捕获的 MongoDB\Driver\Exception\ConnectionTimeoutException:未找到合适的服务器(设置):[连接被拒绝在'xx.xx.xxx.xxx:xxxxx'上调用 ismaster]serverSelectionTryOnce

MongoDB 错误日志消息:

{
    "t":{
        "$date":"2023-10-31T08:31:32.410+00:00"
    },
    "s":"I",
    "c":"NETWORK",
    "id":23018,
    "ctx":"listener",
    "msg":"Error accepting new connection on local endpoint",
    "attr":{
        "localEndpoint":"xx.xx.xxx.xxx:xxxxx",
        "error":"Too many open files"
    }
}

断开连接时的 Mongos 连接计数:

{
    "current":452,
    "available":367,
    "totalCreated":29913,
    "active":10,
    "exhaustIsMaster":0,
    "exhaustHello":0,
    "awaitingTopologyChanges":0
}

完成申请流程后需要清除连接

php mongodb mongodb查询

评论

0赞 Joe 11/11/2023
当你完成连接时,你是否明确地关闭了它们?
0赞 tkraja mdu 11/14/2023
当显式关闭连接时,它显示 php mongo 驱动程序的弃用错误
0赞 Joe 11/15/2023
哦,我误读了错误。它不是抱怨太多的连接,而是抱怨太多的文件。您可以尝试增加打开文件限制,请参阅 mongodb.com/docs/manual/reference/ulimit/#unix-ulimit-settings
0赞 tkraja mdu 11/15/2023
我们已经增加了打开文件的限制,但是在PHP8中完成所有过程后,打开连接不会关闭

答: 暂无答案