訪問者数の増加は、MongoDB で発行されるコマンドの数の増加を引き起こします。これにより、データベースが遅くなり、システム全体が使用できなくなります。これらのピーク時には、Mongostat は次のようになります。
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 266 0 0 3 19 0 58.7g 119g 13g 2 0 0 0|0 0|0 47k 1m 167 14:24:30
0 308 4 0 0 8 0 58.7g 119g 13g 5 0.7 0 0|0 0|0 54k 880k 167 14:24:31
0 177 3 0 0 34 0 58.7g 119g 13g 0 0.5 0 0|0 0|0 49k 559k 173 14:24:32
0 73 2 0 0 8 0 58.7g 119g 13g 0 0.3 0 0|0 0|0 21k 288k 174 14:24:33
0 201 5 0 0 27 0 58.7g 119g 13g 2 0.5 0 0|0 1|0 51k 639k 167 14:24:34
0 232 4 0 0 9 0 58.7g 119g 13g 1 0.3 0 0|0 0|0 44k 456k 167 14:24:35
0 102 2 0 0 109 0 58.7g 119g 13.1g 0 0.3 0 0|0 0|0 33k 269k 193 14:24:36
0 265 3 0 0 103 0 58.7g 119g 13.1g 0 0.5 0 0|0 0|0 76k 714k 178 14:24:37
1 277 4 0 0 16 0 58.7g 119g 13.1g 2 0.5 0 0|0 0|0 71k 501k 180 14:24:38
0 237 3 0 0 92 0 58.7g 119g 13.1g 0 0.4 0 0|0 0|0 54k 670k 201 14:24:39
問題は、コード内でこれらのコマンドのソースを見つけることができないことです。完全なプロファイリング (すべてのクエリのログ) をオンにしようとしましたが、それらのコマンドが見つかりませんでした。いくつかは見えますが、毎秒数個しかありません。通常のものです。数分間、1 秒あたり 100 ~ 200 個のコマンドがある場合もありますが、ログとプロファイラーに表示されるのは認証コマンドだけです (これは、タイムアウトで終了した後に再接続する php スクリプトです)。
この問題をデバッグして、コマンドが多すぎる原因を特定するにはどうすればよいですか?