1

私たちのプロダクションにはmongodb 1.6を使用しています。

次の質問があります

これらの質問の答えを見つける方法を教えてください。

  1. 実行に時間がかかっているmongodbのクエリを特定する方法??
  2. MongoDB でページ フォールトを表示する方法 ??
  3. この RAID コンセプトとは何ですか? また、どの RAID を使用しているかを知るにはどうすればよいですか?? (RAID が 10 の場合、パフォーマンスが向上すると書かれているため)
  4. MongoDB のワーキング セットのサイズを知るには??
  5. mongodb でインスタンスの負荷を確認する方法

    インスタンスが 65% を超える負荷を示している場合は、スケールアップを検討する必要があります。通常の操作中、負荷は一貫してこのしきい値を下回っている必要があります

4

2 に答える 2

0

まず、新しい MongoDB バージョンへのアップグレードを検討することをお勧めします。現在のバージョンは 2.4 で、1.6 はかなり古いバージョンです。以下では、現在の MongoDB バージョンの機能を参照します。それらは 1.6 でそのように存在する場合と存在しない場合があります。

  1. MongoDB は、指定されたしきい値 (既定では 100 ミリ秒) よりも時間がかかるクエリを mongod のメイン ログ ファイルに記録します。db.setProfilingLevel()または--slowmsコマンド ライン オプションを使用して、そのしきい値を別の値に設定できます。
  2. mongostatコマンドを使用します。
  3. RAID とは、「独立したディスクの冗長アレイ」を意味します。これは、単一のディスクではなく、何らかのパターンでデータをストライプ/複製するように構成されたディスクのグループと話していることを意味します。そのパターンは、RAID という単語の後ろにある番号によって分類されます。MongoDB の推奨パターンは RAID 10 です。
  4. ワーキング セットは、アプリケーションが定期的に必要とするドキュメントで構成されています。db.serverStatus()コマンドは 2.4 で推定値を提供しますが、ワーキング セットを正確に「測定」する方法はありません。目標は、mongod が通常作業しているすべてのドキュメントを mongod のメモリ内に直接保持できるようにすることです。mongostat でページ フォールトが発生することは、めったにありません。その場合、ワーキング セットがメモリに収まらないことを示しています。
  5. Unix システムでは、top または uptime を使用して負荷率を報告します。0.65 * ボックスの CPU 数を超えてはなりません。
于 2013-08-20T12:34:38.313 に答える
0
  1. すべてのクエリをログに記録する MongoDBで回答
  2. ページ フォールトに関する情報は、 serverStatusコマンドで確認できます。
  3. RAID は、まあ、RAIDです。ストライピングとミラーリングの組み合わせである RAID 10 は、速度と信頼性の組み合わせにより、データベース ストレージのより良いオプションと一般に考えられています。RAID サポートは、ハードウェア コントローラー (Dell の PERC や HP の Smartarray ファミリーのコントローラーなど) (一般にハードウェア RAID と呼ばれる)、または Linux md などによって提供されます。後者はしばしばソフトウェア RAID と呼ばれます。
  4. ワーキング セット情報は2.4 からしか入手できないので、アップグレードする必要があります (なぜまだ 1.6 を使用しているのですか)?
  5. 環境に付属の監視ツールを使用して負荷を確認してください。
于 2013-08-20T12:35:20.053 に答える