2016-08-17 18 views
2

流星が私のmongoのoplogを使用しているかどうかを確認するにはどうすればいいですか? 私はmongoのクラスタを持ち、私の流星のために2つのenvを設定します。Mongo Oplogを使って流星ですか?

MONGO_URL=mongodb://mongo/app?replicaSet=rs0 
MONGO_OPLOG_URL=mongodb://mongo/local?authSource=app 

オプトログが実際に使用されているかどうかを確認する方法を教えてください。メテオは、非常に非効率なクエリポーリングにフォールバックすることができますが、私はそれがoplogと正常に動作しているかどうかを確認したいと思います。

アイデア?

+0

@ michel-floyd訂正ありがとうございました。 – Luman75

答えて

3

流星のOplogObserveDriver docsから関連するビットを引用:あなたのクエリが今の

をOplogObserveDriver使用している場合

がどのように伝えるために、私たちはどのように多くのobserveChanges呼び出しを使用している伝えるために、粗方法を持っていますOplogObserveDriverであり、どのコールではないかを示します。

これは、現在のMeteorサーバーのリアルタイムメトリックを公開する内部Meteorパッケージであるfactsパッケージを使用します。アプリでmeteor add factsを実行し、{{> serverFacts}}テンプレートをアプリに追加します。 autopublishパッケージを使用している場合、Meteorはすべてのメトリックをすべてのユーザーに自動的に公開します。 autopublishを使用していない場合は、サーバーコードでFacts.setUserIdFilterを呼び出してMeteorにどのメトリックが表示されるかを伝える必要があります。例えば:

Facts.setUserIdFilter(function (userId) { 
    var user = Meteor.users.findOne(userId); 
    return user && user.admin; 
}); 

は(ローカルでアプリケーションを実行している場合、Facts.setUserIdFilter(function() { return true; });は十分に良いかもしれません!)

今すぐあなたのアプリを見てみましょう。ファクト・テンプレートは、さまざまなメトリックをレンダリングします。私たちが探しているのは、モンゴ・ライブデータのセクションで観測されたドライバー・オブローグとオブザーバー・ドライバー・ポーリングです。 observe-drivers-pollingがゼロか全くレンダリングされない場合、observeChangesのすべての呼び出しはOplogObserveDriverを使用しています!

0

アプリのパフォーマンスを監視するためにKadira APMを使用している場合oplogsは「ライブ問合せ」セクションに移動し、「Oplog通知」のチャートを見て持つことで作業している場合、あなたが見ることができます。

グラフ(右下)に値が表示されるので、oplogsが機能していることを私のスクリーンショットで見ることができます。 oplogsが動作していなかった場合、このグラフは空になります。

apm oplog chart ninjapixel meteor

関連する問題