mongo php-fpm 连接池问题

72次阅读

用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

阿熊

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

modi

参考一下这个用golang实现的解决方案 https://github.com/seiferli/m…

seiferli

开源轻量级PHP数据库ORM框架ycdb(2) : 构建稳定的PHP数据库连接池
https://blog.csdn.net/caohao0…

smallhow

正文完