これは、私が尋ねた前の質問のフォローアップです( ディスク速度が一貫していない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
誰かがここで何が起こっているのかアイデアを提案できますか?
使用中のドライブは次のとおりです。
これは通常ボトルネックであるため、インターフェイスの最大速度にあまり焦点を当てず、物理ディスクのパフォーマンス特性を詳しく調べる必要があります。 Hitachi Hus153030vls300 300GBのこのサイト サーバーSASリンクしたディスク。
パフォーマンスの観点から、Hitachipdfに記載されている重要な数値は次のとおりです。
これらの数字はすべて、ディスクが3 Gbpsチャネルを飽和させることができないことを意味するため、6Gbpsチャネルを使用しても意味がありません。
同じアレイで各ディスクの最大性能を同時に活用できるレイドコントローラーは想像できません。したがって、2つのディスクを備えたRAID 1があるとすると、最初のディスクは60MB/sの持続的なシーケンシャル読み取りおよび書き込み速度が可能で、2番目のディスクは50MB/sのみであり、アレイへの書き込みは50MB/sに制限されますが、適切なRAIDカードは1つは60MB /秒、もう1つは50MB /秒の2つの同時読み取りストリームを持つことができます。配列が複雑になるほど、これらの図は複雑になります。
他のいくつかのメモ
6 Gbpsの高性能ディスクとして宣伝されているディスクがいくつかありますが、実際にはそれほど高性能ではなく、6 Gbpsのインターフェイスしかなく、とにかく3 Gbpsのリンクを飽和させることさえできませんでした(357 MiB/s )。
6Gbps sas/sataの主な利点は、SSDとポートマルチプライヤ(つまり、1つのsas/sataポートに複数のディスクを接続すること)です。
私はWindowsシステムにあまり詳しくありませんが、特にIOのベンチマークを行う際に考慮すべき点がいくつかあります。
アプリケーションとディスクの間のレイヤーを表すこのスキーマに注意してください。
Application <=> Filesystem (OS) <=> Disk controller <=> Hard drive
そして、この各部分には、情報を上部と下部に移動する独自の方法があり、独自のキャッシュ、構成などがあります...
また、データアライメントについて検索します。Windowsが何度もミスアライメントされたパーティションを作成しているのを見ました。したがって、ファイルシステムが4kbの1ブロックを書き込みたい場合、FSブロックは2つのデバイスブロックにあるため、ドライブに2つのI/Oが発生します。
詳細は、ボトルネックを見つけるのに役立ちます。
エイドリアン。
H710、HDD、バックプレーン(ある場合)のファームウェアをアップグレードする必要があります。 Linuxを実行している場合は、ファームウェアのみをアップグレードする必要があります。
また、これを行う前に、現時点で7.3.0.1などのDell Server Admin(OMSA)をインストールして、非互換性の問題について通知されるかどうかを確認できます。
SASの場合は、同じアレイで同じタイプのドライブも使用する必要があります。
したがって、基本的に、HDDファームウェアが間違っている場合、古いSASファームウェア、さまざまなSASドライブ(SATAであってもSASとして実行できます))はありませんすべてのドライブで一貫したパフォーマンスを得る方法。
実際、これを引き起こす可能性のある異なるドライブタイプを取得した場合。
私の経験では、15k SASドライブのパフォーマンスに大きなばらつきが見られました。いくつかのドライブスワップについて言及しましたが、3Gigと6Gigのバス速度に焦点を当てているようです。それはあなたが示したI/O数とはほとんど関係がありません。私があなたの立場にあった場合、私はドライブを個別にベンチマークして、遅いドライブがあるかどうかを確認します。
RAIDセットアップに適用される他の設定。ポリシー、キャッシュ、ストライプサイズなどを記述します...ベンチマーク間で一貫性がありましたか?