MongoDB が実行したクエリーを出力する(Windows サービス)

Pocket

MongoDB を使用するアプリケーションを開発していると、デバッグやチューニングのために、実行したクエリーや遅いクエリーなどを取得したいことがある。そこで、本書では、Windows サービスで動作している MongoDB が実行したクエリーを出力する方法を記載する。動作確認は、MongoDB 3.0.x で実施。

(1) クエリー出力設定

(1-1) MongoDB のサービス名を取得する。

オプションの設定に使用するサービス名を取得します。

  1. 「サービス」一覧ダイアログを起動する。
  2. MongoDB のサービスノードをダブルクリックし、「サービス名」を確認する。(※サービス名は、アプリケーションによって異なる。)

(1-2) MongoDB にオプションを設定する。

クエリーを出力するために、オプションを設定する。

  1. スタートメニューから「ファイル名を指定して実行」をクリックし、「regedit」と入力し、Enter 。
  2. 「レジストリ エディタ」を開き、以下のパスへ移動。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\サービス名
  3. 画面右の「ImagePath」をダブルクリックする。
  4. 「値のデータ」に表示されている内容の末尾に以下を追記する。
    –profile=1 –slowms=-1
  5. サービスを再起動する。

ちなみに、

(2) ログの保存先

以下のコレクション、または log ファイル(mongodb\data\log\1.log)に出力されている。

(3) ログの確認

(3-1) 最新のログを確認する

(3-2) 最も遅いログを確認する

(4) ログからクエリーの生成

例えば、

ならば、

以上

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です