MongoDB 監視
MongoDB サービスをインストールして実行した後、MongoDB の動作状況を把握し、パフォーマンスを確認する必要があります。これにより、大規模なトラフィックが発生した場合でも適切に対応し、MongoDB の正常な動作を保証できます。
MongoDB には、mongostat と mongotop という2つのコマンドがあり、MongoDB の動作状況を監視できます。
mongostat コマンド
mongostat は MongoDB に組み込まれている状態検出ツールで、コマンドラインで使用します。一定間隔で MongoDB の現在の実行状態を取得して出力します。データベースが突然遅くなったり、他の問題がある場合は、まず mongostat を使用して MongoDB の状態を確認することを検討してください。
Mongod サービスを起動し、インストールした MongoDB ディレクトリの bin ディレクトリに移動して、mongostat コマンドを入力します。次のようになります:
D:\set up\mongodb\bin>mongostat
上記のコマンドの出力結果は次のとおりです:
mongotop コマンド
mongotop も MongoDB の組み込みツールです。mongotop は、MongoDB インスタンスを追跡し、読み取りと書き込みデータにどれだけの時間が費やされているかを確認する方法を提供します。mongotop は各コレクションレベルの統計データを提供します。デフォルトでは、mongotop は毎秒の値を返します。
Mongod サービスを起動し、インストールした MongoDB ディレクトリの bin ディレクトリに移動して、mongotop コマンドを入力します。次のようになります:
D:\set up\mongodb\bin>mongotop
上記のコマンドを実行した出力結果は次のとおりです:
パラメータ付きの例
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop 10
末尾の10は<sleeptime>パラメータで、省略可能です。mongotop の呼び出し間隔の待機時間を秒単位で指定します。デフォルトでは、mongotop は毎秒データを返します。
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop --locks
各データベースのロック使用状況を報告するには、mongotop --locks を使用します。これにより、次の出力が生成されます:
出力結果のフィールドの説明:
-
ns:
データベースの名前空間を含みます。後者はデータベース名とコレクションを組み合わせたものです。
db:
データベース名を含みます。名前が "." のデータベースは特定のデータベースではなく、グローバルロックに対するものです。
total:
mongod がこの名前空間での作業に費やした合計時間です。
read:
mongod がこの名前空間で読み取り操作を実行するために費やした時間を提供します。
write:
mongod がこの名前空間で書き込み操作を実行するために費やした時間を提供します。