搜索

首页  >  问答  >  正文

mongodb - 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

黄舟黄舟2767 天前980

全部回复(1)我来回复

  • ringa_lee

    ringa_lee2017-04-21 10:58:23

    文档里提到了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的方案,不支持管道,并发的脚本是不会重用连接的,当某个脚本释放了所使用的连接,另外一个脚本才可以从连接池中取用。

    回复
    0
  • 取消回复