web-dev-qa-db-ja.com

期待を下回るディスクパフォ​​ーマンス

これは、私が尋ねた前の質問のフォローアップです( ディスク速度が一貫していない2台のサーバー )。

3Gb/s帯域幅の8台のディスクを使用して構築されたPERCH700統合RAIDコントローラー(このサーバーBと呼びます)を備えたPowerEdge R510サーバーがあり、4台を使用して構築されたほぼ同一のサーバー(このサーバーAと呼びます)と比較しました。 6Gb/s帯域幅のディスク。サーバーAのI/OレートはサーバーBよりもはるかに優れていました。

ディスクとの違いを発見すると、サーバーAをより高速な6Gbpsディスクで再構築しました。残念ながら、これによってディスクのパフォーマンスが向上することはありませんでした。サーバー間に他の構成の違いがあるはずであると予想して、サーバーAから6Gbpsディスクを取り出し、サーバーBに配置しました。これにより、ディスクのパフォーマンスも向上しませんでした。

これで、2つの同一のサーバーが構築されました。ただし、1つは6つの6Gbpsディスクで構築され、もう1つは8つの3Gbpsディスクで構築され、ディスクのI/Oレートはほぼ同じです。これは、ディスク以外にいくつかのボトルネックがあることを示唆していますが、サーバーBが元々より優れたI/Oを持っていて、その後「失われた」のか理解できません。

SQLIOによって測定された以下の比較I/O情報。各テストに同じパラメーターを使用しました。重要なのは実際の数値ではなく、システム間のばらつきです。いずれの場合も、D:は2ディスクRAID 1ボリュームであり、E:は4ディスクRAID 10ボリュームです(元のサーバーAを除き、E:は2ディスクRAID 0ボリュームでした)。

サーバーA(6Gpbsディスクを使用した元のセットアップ)

D: Read (MB/s)     63 MB/s
D: Write (MB/s)    170 MB/s
E: Read (MB/s)     68 MB/s
E: Write (MB/s)    320 MB/s

サーバーB(3Gpbsディスクを使用した元のセットアップ)

D: Read (MB/s)     52 MB/s
D: Write (MB/s)    88 MB/s
E: Read (MB/s)     112 MB/s
E: Write (MB/s)    130 MB/s

サーバーA(3Gpbsディスクを使用した新しいセットアップ)

D: Read (MB/s)     55 MB/s
D: Write (MB/s)    85 MB/s
E: Read (MB/s)     67 MB/s
E: Write (MB/s)    180 MB/s

サーバーB(6Gpbsディスクを使用した新しいセットアップ)

D: Read (MB/s)     61 MB/s
D: Write (MB/s)    95 MB/s
E: Read (MB/s)     69 MB/s
E: Write (MB/s)    180 MB/s

誰かがここで何が起こっているのかアイデアを提案できますか?

使用中のドライブは次のとおりです。

4
paulH

これは通常ボトルネックであるため、インターフェイスの最大速度にあまり焦点を当てず、物理ディスクのパフォーマンス特性を詳しく調べる必要があります。 Hitachi Hus153030vls300 300GBのこのサイト サーバーSASリンクしたディスク。

パフォーマンスの観点から、Hitachipdfに記載されている重要な数値は次のとおりです。

  • データバッファ(MB)16
  • 回転速度(RPM)15,000
  • レイテンシー平均(ms)2.0
  • メディア転送速度(メガビット/秒、最大)1441
  • 持続転送速度(MB /秒、標準)123-72(ゾーン0-19)
  • シーク時間(読み取り、ミリ秒、標準)3.6/3.4/3.4

これらの数字はすべて、ディスクが3 Gbpsチャネルを飽和させることができないことを意味するため、6Gbpsチャネルを使用しても意味がありません。

同じアレイで各ディスクの最大性能を同時に活用できるレイドコントローラーは想像できません。したがって、2つのディスクを備えたRAID 1があるとすると、最初のディスクは60MB/sの持続的なシーケンシャル読み取りおよび書き込み速度が可能で、2番目のディスクは50MB/sのみであり、アレイへの書き込みは50MB/sに制限されますが、適切なRAIDカードは1つは60MB /秒、もう1つは50MB /秒の2つの同時読み取りストリームを持つことができます。配列が複雑になるほど、これらの図は複雑になります。

他のいくつかのメモ

  • ディスクの最大転送速度は、ディスクの領域によって異なります。通常、ディスクの開始時の方が高速です。
  • シーケンシャル読み取りは、ディスクが実行できる最速の持続操作であり、ランダム読み取りまたは書き込みは大幅に遅くなります。
  • 通常、レイドコントローラーはディスクのオンボード書き込みキャッシュを無効にし、バッテリーが十分にある場合、またはデフォルトをオーバーライドした場合にのみ、書き込みに独自のキャッシュを使用します。
  • 不良バッテリーを誤って検出し、すべての書き込みキャッシュを無効にする、いくつかのディスク/ RAIDファームウェアコンボのインスタンスをいくつか読んだことがあります。したがって、ディスクとレイドコントローラーの両方のファームウェアを更新します

6 Gbpsの高性能ディスクとして宣伝されているディスクがいくつかありますが、実際にはそれほど高性能ではなく、6 Gbpsのインターフェイスしかなく、とにかく3 Gbpsのリンクを飽和させることさえできませんでした(357 MiB/s )。

6Gbps sas/sataの主な利点は、SSDとポートマルチプライヤ(つまり、1つのsas/sataポートに複数のディスクを接続すること)です。

3
BeowulfNode42

私はWindowsシステムにあまり詳しくありませんが、特にIOのベンチマークを行う際に考慮すべき点がいくつかあります。

アプリケーションとディスクの間のレイヤーを表すこのスキーマに注意してください。

Application <=> Filesystem (OS) <=> Disk controller <=> Hard drive

そして、この各部分には、情報を上部と下部に移動する独自の方法があり、独自のキャッシュ、構成などがあります...

  • アプリケーション:(ここではツール)。大きなブロックに大きな変更を書き込むことは、多くの小さな書き込みを行うよりも優れています。ディスクへの完全なフラッシュを待っていますか、シーケンシャルアクセスまたはランダムアクセス
  • ファイルシステム:ここには多くのパラメータがあります:OSによるキャッシュ、データのプリフェッチ、データのブロックサイズ
  • ディスクコントローラー:彼はハードドライブにアクセスする前の中心点です。彼の構成は、微調整の30%に相当します。その中で、要点は:
    • 読み取り/書き込み間のキャッシュ比率。読み取りまたは書き込みが集中する可能性のあるアプリケーションに応じて、それに応じてこの比率を構成します。
    • バッテリーキャッシュ。WRITE-THROUGHまたはWRITE-BACKメソッドを許可します。
    • RAIDレベル:フェイルトレランスの必要性に応じてレベルを選択する必要があります。 RAID0は許容度0で優れたパフォーマンス、RAID1は耐障害性はあるが合計ディスク容量は50%使用可能、RAID5/6は妥協点...
  • ハードドライブ:回転速度が速いほど、さまざまなドライブ領域にあるデータにすばやくアクセスできます。したがって、ランダムシークに適しています

また、データアライメントについて検索します。Windowsが何度もミスアライメントされたパーティションを作成しているのを見ました。したがって、ファイルシステムが4kbの1ブロックを書き込みたい場合、FSブロックは2つのデバイスブロックにあるため、ドライブに2つのI/Oが発生します。

詳細は、ボトルネックを見つけるのに役立ちます。

エイドリアン。

2
Adrien M.

H710、HDD、バックプレーン(ある場合)のファームウェアをアップグレードする必要があります。 Linuxを実行している場合は、ファームウェアのみをアップグレードする必要があります。

また、これを行う前に、現時点で7.3.0.1などのDell Server Admin(OMSA)をインストールして、非互換性の問題について通知されるかどうかを確認できます。

SASの場合は、同じアレイで同じタイプのドライブも使用する必要があります。

したがって、基本的に、HDDファームウェアが間違っている場合、古いSASファームウェア、さまざまなSASドライブ(SATAであってもSASとして実行できます))はありませんすべてのドライブで一貫したパフォーマンスを得る方法。

実際、これを引き起こす可能性のある異なるドライブタイプを取得した場合。

1
Andrew Smith

私の経験では、15k SASドライブのパフォーマンスに大きなばらつきが見られました。いくつかのドライブスワップについて言及しましたが、3Gigと6Gigのバス速度に焦点を当てているようです。それはあなたが示したI/O数とはほとんど関係がありません。私があなたの立場にあった場合、私はドライブを個別にベンチマークして、遅いドライブがあるかどうかを確認します。

RAIDセットアップに適用される他の設定。ポリシー、キャッシュ、ストライプサイズなどを記述します...ベンチマーク間で一貫性がありましたか?

1
Ryan