2013-02-10 210 views
0

默认情况下持久连接处于活动状态,没有明确的要求,我想知道它的设置。最大连接寿命,最大持续连接数...PHP MongoDB持久连接

是否有机会优化这些设置或至少看到它们的值?

phpinfo()函数不会告诉我太多: -/

回答

2

这似乎并不能够配置以这种方式连接的设置,只能够设置超时某些连接操作:http://www.php.net/manual/en/mongoclient.construct.php

至于持久连接的最大数目(http://www.php.net/manual/en/mongo.connecting.pools.php)PHP的MongoDB的司机居然拥有的连接数它创造非常严格,如指出:

驱动程序的最新版本没有池的概念并且对于每个连接类型(ReplicaSet/standalone/mongos),对于每个凭证组合,每个进程仅保留一个连接。

因此很明显,连接数量取决于您使用的连接类型的数量以及有多少PHP进程已经启动,而不是配置中的某个值。

0

自从mongo 1.2.3开始不推荐使用连接池时,您无法再获取或设置池的大小(存在需要存取的连接)。连接由PHP管理,这意味着它存储包含主机,端口,数据库名称,进程ID等信息的“哈希”,这些信息标识唯一的连接。

如果您有权访问(而不是通过PHP),则可以通过实际的mongod过程设置最大同时连接(如您所述,持久性为新默认值)。在服务器端,您可以使用参数--maxConns = 5000运行一个mongod实例来控制它的最大连接。

持续的连接寿命到目前为止还不可调整或不可见。无论如何,当新的连接覆盖旧连接时,你并不需要它。未使用的持续连接不会造成伤害,并且新的连接会被注册,从而推出旧连接。因此,生命周期取决于每次新连接的数量。