mongo php-fpm 连接池问题

用nginx+gridfs的方式,mongos的日志中保持稳定的连接数。
php-fpm模式连接mongo,如果不做close操作连接,压力测试,直接爆掉mongos的连接。
close的话,日志里直接end connection,手册里说好的连接池捏~~~
http://cn2.php.net/manual/en/mongo.co...

mongodb 2.0
pecl mongo 1.2.12

阅读 9.8k
3 个回答

文档里提到了connections_per_pool默认是unlimited,即每个连接池里可以创建的连接数是不限制的。

可以用MongoPool::setSize来限制:http://php.net/manual/en/mongopool.se...

另外,Mongo 2.2+配合Mongo PECL扩展1.3+(beta)可以支持单连接复用,建议关注。

UPDATE:

On top of this new framework, new functionality is also implemented to provide read preference support that comes with MongoDB 2.2. The new framework no longer has the concept of a connection pool, but instead make sure there is only one connect per node/db/username.

这意味着可以像nginx代理一样保持固定数量的连接,就像“管道”,但连接池不等于管道。

MongoDB 2.0和1.2.x的ext-mongo的方案,不支持管道,并发的脚本是不会重用连接的,当某个脚本释放了所使用的连接,另外一个脚本才可以从连接池中取用。

新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题