1

訪問者数の増加は、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 スクリプトです)。

この問題をデバッグして、コマンドが多すぎる原因を特定するにはどうすればよいですか?

4

1 に答える 1