mongodb连接数问题

问题咨询 · dionyang · 于 6年前 发布 · 3762 次阅读

项目上线之后正常,运行一段时间后,出现如下错误:

[yii\mongodb\Exception] exception 'MongoDB\Driver\Exception\ConnectionTimeoutException' with message 'No suitable servers found (serverSelectionTryOnce set): [connection closed calling ismaster on xxxxx(内容敏感)]

我网上查了一下,大致是这个原因https://bbs.aliyun.com/read/283922.html

机器的fpm worker数为800 可能太多了。 而且mongodb官方也推荐使用长连接。

我这边用的确实是阿里云的mongo服务。所以想请教下解决方法。谢谢

共收到 4 条回复
Fecmall#16年前 0 个赞

你们的用户并发比较大,php mongodb扩展,用的是长连接方式,

mongodb的并发数非常高,20000是可以的,如果真的如上面文章说的那样,就尴尬了,这个不能提交吗?

Fecmall#26年前 0 个赞

新的php-mongodb扩展的确是这样,是长连接,无法关闭

如果你找到了关闭连接的方法,拜托,你看到的是已经淘汰掉的php-mongo库,而不是新的php-mongodb库。php-mongo库不支持mongodb V3.*版。 
PHP-mongodb库根本没有关闭连接的方法,因为设计者压根没想到会有只支持200个连接数的mongodb数据库。 
 
这是PHP-mongodb库的文档地址,http://php.net/manual/zh/set.mongodb.php 
dionyang#36年前 0 个赞

@Terry #1楼 用户并发应该是不高的。应该是阿里云限制并发数了。在考虑要不要用replica set

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics