私は pecl mongo 1.4.x ドライバー ( http://pecl.php.net/package/mongo/1.4.1 ) を使用しており、タイトルに記載されているセットアップで中程度のトラフィック サービス (1 分あたり 5K - 10K のリクエスト) を使用しています。
そして、mongoDB では、Auth コマンドが大量のトラフィックを処理しており、接続要求率が 1 秒あたり 30 ~ 50 であることがわかりました。
これはパフォーマンスに深刻な影響を与えます (ロック率が上がり、メモリ管理がうまくいきません)
そして、ボックス(合計で5〜8個のボックスがあります)でnetstatを実行すると、ボックスごとに合計2〜3Kのmongo接続が表示されます(WAITの一部とESTABLISHEDの一部)。
私の質問は、どうすれば mongoDB への接続数を減らすことができるか、永続的な接続を適切にセットアップする方法ですか?
PECL mongoDB ドライバーで動作する永続的な接続の方法は、1.2 から 1.3 に変更されているようで、1.4 ではわずかに異なる動作をします。
ドライバーを使用してクライアントを呼び出す方法は
次
の
とおり
です
。>"myuser",
'db'=>"mydb",
'journal' => true,
"readPreference"=> MongoClient::RP_SECONDARY_PREFERRED
) );