web-dev-qa-db-ja.com

ディスク時間の割合が高い非常にアクティブなデータベース

NoSqlデータベース(RavenDb)を使用している非常にアクティブなWebサイトがあります。この情報を抽出する方法がよくわからないため、正確な数値はわかりません(助けがあれば素晴らしいです!)

しかし、パフォーマンスモニターで、データベースが実行されているディスクの「%Disk Read」カウンターを見ると、通常は1000を超えています...これは、パーセンテージの場合は意味がありません。

これらの数値がこれほど高くなると、私のサイトのパフォーマンスは低下します。使用できなくなるほどで​​はありませんが、改善されるはずです。

適切なパフォーマンスカウンターを見ていますか?ディスクに高負荷がかかっているかどうかを確認するために他に何を見ることができますか...そしてその理由を見つけることができればさらに良いでしょう。

私のディスクは2TB7200 rpmディスクです(私が知っているのは理想的ではありませんが、現在利用できるのはそれだけです)12GBメモリ(約80%を使用)デュアルXeonプロセッサ

私はこの質問が少し曖昧であることを理解しています。あなたがこれにもっとよく答えるのを助けるためにあなたに正しい詳細を得るのにいくらかの助けが必要です、ただ私に何が役立つか教えてください。

ポール

5
Paul Hinett

あなたの本能は正しいです。私はディスク以上に行くことはありません。コンシューマーグレードのSATAディスクは非常に低速であり、ビジネスアプリケーションのホスティングには適していません。弱いリンクは、実際のスピンドル速度とストレージ(RAID)コントローラーになります。他のすべてが等しい、シリアル接続SCSI(SAS)は、SATAよりもはるかに多くのIOPSを生成します。 (ほとんどの)データベースではRAID5を避け、可能な限りRAID10を使用してください。

残念ながら、他の多くのIT問題と同様に、唯一の本当の解決策は「貧弱さを減らす」ことです。

更新:

「%Disk Read Time」に関する質問に答えるには、次のMicrosoft KnowledgeBase article を参照してください。特定のストレージコントローラーが奇妙な方法で統計を報告しているようです。そうは言っても、あなたのディスクは絶対的な限界に追いやられているようです。

7
Joel E Salas

%disk read timeを使用して、ディスクがビジーであるかどうかを判断することはできません。これは、「ビジー時間は、I/O要求の期間に基づいており、これには、読み取りまたは書き込み以外のアクティビティに費やされた時間が含まれるためです。次に、すべての要求のすべてのビジー時間を合計し、サンプル間隔の経過時間で除算します。一度に複数の要求が処理中の場合、合計要求時間はサンプル間隔の時間よりも長くなります。その結果、報告されたディスク使用率が実際の使用率を超える可能性があります。」

ディスクパフォ​​ーマンスの調査と調整 を参照してください

1
Jim B