mongostat
とを使用してmongodbでプロファイリングを行っていますmongotop
私はmongotopを実行します:
$> mongotop 30
そして単にモンゴスタット:
$> mongostat
出力は次のとおりです。
モンゴトップ:
ns total read write 2012-11-23T01:32:37
sapi.Socket 1222ms 1222ms 0ms
sapi.ChargeSpot 999ms 999ms 0ms
モンゴスタット:
insert query update delete getmore command flushes mapped vsize res faults locked db idx miss % qr|qw ar|aw netIn netOut conn set repl time
0 5351 0 0 0 1 0 608m 3.67g 64m 0 sapi:0.0% 0 0|0 1|0 569k 1m 63 capi-rs PRI 12:32:41
0 4189 0 0 0 1 0 608m 3.67g 64m 0 knightsbridge:0.0% 0 0|0 0|0 499k 308k 63 capi-rs PRI 12:32:42
質問:
mongotop の出力については、30 秒間隔でレポートするために実行したため、たとえば sapi.Socket の合計 1222 ミリ秒の読み取りは次のことを意味します。
30 秒間隔で、コレクション sapi.Socket からの読み取りクエリの実行に 1222 ミリ秒が費やされます。
つまり、30 秒間で、mongo は読み取りクエリを処理するために 2,221 ミリ秒 (1,222 ミリ秒 + 999 ミリ秒) だけビジーだったということです。つまり、mongo は残りの 27 秒間アイドル状態だったということです。
- mongostat の出力については、mongo が 1 秒あたり約 5K のクエリを処理しているように見えます。クエリは基本的です(インデックス付きキーによるルックアップ)