1

我希望在我的 Mongodb HTTPS 服务器上默认激活持久连接。

实现它的正确配置是什么?示例:最大连接寿命、最大持久连接数...

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

phpinfo() 什么也没告诉我。

4

2 回答 2

3

似乎无法以这种方式配置连接设置,只能为某些连接操作设置超时: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 进程的数量,而不是配置中的某些值。

于 2013-02-10T22:41:54.987 回答
1

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

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

持久连接寿命目前还无法调整或查看。无论如何,您实际上并不需要它,因为新连接会覆盖旧连接。未使用的持久连接没有害处,新的连接被注册,旧的被推出。因此,生命周期取决于每次新连接的数量。

于 2013-02-10T23:09:26.773 回答