2013-02-10 175 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實例來控制它的最大連接。

持續的連接壽命到目前爲止還不可調整或不可見。無論如何,當新的連接覆蓋舊連接時,你並不需要它。未使用的持續連接不會造成傷害,並且新的連接會被註冊,從而推出舊連接。因此,生命週期取決於每次新連接的數量。