SQL データベースのストレージ管理-IO
ディスク
ディスクの基本的なパラメータ
1.1容量:
容量インジケータは、ハードディスクのプラッタの容量を含む、いわゆるシングルプラッタハードディスクドライブの容量は、モノリシックディスク容量であり、より大きな単一のディスク容量、低いユニットコストは、平均アクセス時間が短くなります。彼は500Gハードディスクが、500G未満の実際の容量であるとき、彼らは買います。工場は1メガバイト=千キロバイトに基づいているので、我々は小さなポイントを購入する時の実際の量よりも新しいハードドライブを、買ったので、変換することができます。
1.2の速度(回転速度やスピンドル速度)、
ハード・ディスク・スピンドルモータの回転速度は、ハードディスク内のディスクの回転、すなわち最大数は1分以内に完了することができます。スピードの速さは重要なパラメータの一つは、ハードディスクのグレードは、それが大幅に直接ハードドライブの速度に影響を与える、内蔵ハードディスクの転送速度を決定する重要な要因の一つであることを示しています。ハードディスクの高速化、ファイルを見つけるためのハードディスク、より高速なハードディスクの相対伝送速度を向上させることになります。RPM単位、毎分多くの回転に発現ハードディスク回転速度、RPM回転あたり、分は略語である回転/分です。RPMより高い値、より高速な内部転送速度、短いアクセス時間、ハードドライブの全体的なパフォーマンスが向上。
1.3の転送速度
伝送速度(データ転送レート)ディスクの高速データ転送速度は、毎秒メガバイト単位でデータを読み書きするのは難しいです(MB /秒)。ハードディスクのデータ転送速度とデータ転送速度は、内部および外部のデータ転送速度を含みます。
また、使用されていないハードディスク・バッファの性能を反映持続転送速度(持続転送速度)として知られている内部転送レート(内部転送レート)。内部転送速度はハードディスクの回転速度に依存します。
外部転送レート(外部転送レート)のデータ転送速度は、システムバスとハードディスク・バッファ、及び外部のデータ転送レートとの間のデータ転送の名目レートでバースト(バーストデータ転送レート)又はインタフェース転送速度と呼ばれますハードディスクのインターフェイスタイプとハード・ディスク・キャッシュのサイズ。
概要:内部データ転送速度は、伝送速度のボトルネックです。一般的には、現在のハードドライブのデータを購入していない、あなたは、テストする必要があります。
1.4平均シーク時間(Averageseektime)
平均命令を受信した後、時刻手段MO磁気光学系を求め、データが必要なトラックに移動するヘッドの移動を開始するための平均時間は、それがコンピュータのアドレスを参照し、対象データに対応するコマンドを発行することで見出されます時間はミリ秒(ms)で、必要な。
一般的に、ディスクの回転速度が高いほど、短い平均シーク時間。
5ミリ秒の現在10K最小、4MSの平均。
現在、15K最小4msの、3.5msの平均。
1.5平均回転待ち時間
ディスクを回転させることによって、そうセクタがヘッドの下に読み取られることが、今回は、回転待ち時間(回転待ち時間)と呼ばれます。
ハードディスク7200(R /分)、時間(平均半回転が必要)、60 1000×÷7200 = 8.33ミリ秒の各回転に対して8.33÷2 = 4.17ミリ秒の平均回転待ち時間を必要としました。
ハードディスクから、60÷1000×10000 = 6ミリ秒の各回転に要する時間は、平均回転待ち時間は6÷2 = 2ミリ秒(平均は、半回転を必要とする)1000(R /分)。
1.6ハードディスクインターフェース
ハードディスクとホストシステムとの間の接続部材は、ホストメモリとディスクキャッシュとの間でデータを転送することです。異なるハード・ディスク・インターフェースは、システム全体におけるハードドライブとコンピュータとの間の接続の速度を決定し、ハードディスクインターフェースのメリットは直接走行速度とシステム性能の品質に影響を与えます。
1.7概要
回転待ち時間;シーク時間:上記の指標、最も重要なこと、あるいは我々は、ほとんどの2つだけに関係する必要があることから。データベースのハードドライブの速度が最も重要であるので、しかし、これらの2つのパラメータは、速度に大きく依存しています。
二つのIOPSとスループット
2.1概要
MBに/秒メモリ転送から1秒以内のバイトの一定数の単位を測定するために使用されます。また、オンライン分析処理(オンライン分析処理)システムとして知られているOLAPは、時々、私たちは、データウェアハウスと呼んでいるもの、DSSの意思決定支援システムと呼ばれます。主にスループットを参照するには、OLAP
多くのユニットは、1秒あたりのディスクIOを実行することができる方法を示しスループットIOPSためのIO /秒。OLTPオンライン・トランザクション処理(オンライントランザクション処理)、主にIOPSを参照するにはOLTP。
ランダム読み取りおよび書き込みOLTPデータベースを実行するデータベースのパフォーマンスに大きな影響を有するMB /秒とIOPSは、主IOPS、主MB /秒シーケンシャルリードの多数のためのOLAP分析データベースです。
IOPSとスループットスループットは、2つのパラメータのストレージ・パフォーマンスを測定するための主要な指標です。毎秒送信IOPSストレージIO、秒当たりのデータスループットのスループット伝送量の数を示す、と述べました。異なる状況下での両方がストレージの性能条件が、異なるシナリオのアプリケーションを表すことができます。同時に、両者の間にも別のリンクあり
同じ単一のストアがOLAPのスループットスループットより良い、より適切な、より大きなIOブロックをまとめました。小さなブロック、より多くのIOPS、OLTPのために、より適したシングルIO。
2.2単一ディスクIOPS計算
IOPS = 1 / IO時間
IOタイム=シーク時間+ 60秒/回転数/ 2 + IOチャンクサイズ/転送レート
シーク時間=平均は、時間(Averageseektime)を求めます
(回転速度=ディスク速度
転送レート=データ転送速度
コンピューティング10Kディスクの異なるページ
IO時間8K = 5msの+(60秒/ 10000rpmで/ 2)+ 8K / 40メガバイト= 5 + 3 + 0.2 = 8.2ms
IOPS8k = 1 / 8.2ms = 121 IOPS
IO Time16k = 5msの+(60秒/ 10000rpmで/ 2)+ 16K / 40メガバイト= 5 + 3 + 0.4 = 8.4ms
IOPS16K = 1 / 7.4MS = 119 IOPS
IO Time32k = 5msの+(60秒/ 10000rpmで/ 2)+ 32K / 40メガバイト= 5 + 3 + 0.8 = 8.8
IOPS32K =(1 / 8.8秒= 123のIOPS)
IO Time64k = 5msの+(60秒/ 10000rpmで/ 2)+ 64K / 40メガバイト= 5 + 3 + 1.6 = 9.6
IOPS64K =(1 / 9.6秒= 104IOPS)
IOPS 2.3レイドの計算
RAIDの書き込み罰(書き込みペナルティ)とIOPSの計算に。
パフォーマンスのRAID保護の種類を議論する際に通常、結論はRAID-1が高い良いRAID-5の読み取り性能、優れたパフォーマンスを読み書き提供しますが、書き込み性能はRAID-1として良いとしてではなく、RAID-6の保護レベルになりますが、書き込み性能はRAID10はそうで最高のパフォーマンスとデータ保護が、最高のコストとを提供することで、比較的貧弱です。実際には、これらの要因は、パフォーマンス上の考慮事項が非常に単純です決定し、それは、RAIDライトペナルティ(書き込み罰)です。この記事では、原則とIOPSが罰を書くことで利用可能です算出する方法について書かれた罰からRAID保護の異なるレベルを説明しています。
2.3.1 RAID5 IOPS計算
計画策定のプロセスのストレージソリューションは、二つの基本的な考慮事項、パフォーマンスと容量があります。IOPSのパフォーマンスと帯域幅の要件を分けることができるコンピューティングを参照してください。余談IOPS、脇キャッシュ・メモリ・アレイとフロントポートを計算します。バックエンドの物理ディスクIOPSを計算することは、単純に最大の物理ディスクを追加したIOPS置くことはできません。その理由は、物理ディスクに損傷がある場合、データを復元することができることを確実にするために、異なるRAIDレベルのために、それである、プロセスのニーズを書き込みデータは、いくつかの特別な計算で持っています。例えば、RAID-5は、任意のディスクストリップ変更に関するデータ、パリティビットを再計算します。以下に示すように、1 + 7、7つのデータディスクストレージのRAID-5ストライプは、磁気ディスク・ストレージ・パリティは最後のビット。
データを書き込むために、我々は以下に示すように、データは、5つ目のディスク1111に書かれていることを前提としています。その後、我々は全体のRAID-5書き込みプロセスは、以下のステップに分けて完了する必要があります。
0110は、元のデータ、新しいデータを読み込み、その後、XOR演算1111の操作を行います。0110 XOR 1111 = 1001
旧パリティビット0010を読みます
計算された値を使用しての最初のステップは、元のパリティビットXOR演算で再びそれを行う:0010 XOR 1001 = 1011
新しいデータは、データディスク1111に書き込まれ、第3のステップは、新たなパリティビットがパリティディスクに書き込まれている計算されます。
任意の追記型のための上記の手順から見た、ストレージの終わりに、ライトペナルティRAID-5の値が4であるように、それぞれ二回+ 2読み書きを必要とします。
異なるRAIDレベルは、ペナルティを書きます:
次の表は、さまざまな書き込みペナルティRAIDレベルの値を示しています。
RAID |
書き込みペナルティ |
0 |
1 |
1 |
2 |
5 |
4 |
6 |
6 |
10 |
2 |
RAID-0:直接ストリップ、データはライトワンスディスクは、物理的な対応に書き込まれるたびに
RAID-1および10:書き込みRAID-1およびRAID-10の罰は、ミラーリングされたデータが存在するため、理解することは非常に簡単ですので、一度書かれた2があるでしょう。
RAID-5、RAID-5の機構の存在によるパリティビットの計算には、データ、リードパリティ、ライトデータを読み出すために必要な、書き込みパリティは、4つのステップをビット、RAID-5書き込みペナルティ値は4です。
RAID-6:ライトペナルティ値は、RAID-6であるので、RAID-6の2つのパリティビットの存在に起因し、RAID-5と比較して、パリティビットを2回読み取られ、二回パリティビットを書き込む必要があります6。
計算されたIOPS:
上記の説明によれば、プログラムを実際の設計プロセスに格納され、演算処理は、RAIDライトペナルティ計算におけるIOPSに組み込まれるように、実際に利用可能です。次の式
ディスクの物理ディスク内の物理ディスクのIOPS×総数は= IOPS
利用可能なIOPS =(総物理ディスク書き込みIOPS×÷RAID書き込みペナルティ率)+(全体の物理ディスク読み取りIOPS×割合)
RAID-5は、組成物はIOPS 500合計物理ディスクを提供し、メモリ書き込み割合アプリケーションは、50%/ 50%であることが想定される場合、フロントエンドホストに、実際に利用可能なIOPSです。
(500×50%÷4)+(500 * 50%)312.5 IOPSを=
通常の状況下では、時間の合計IOPSの75%あれば、IOのパフォーマンスの問題だったでしょう。
RAID10と2.3.2 RAID5のコントラスト
異なるRAIDレベルは、ペナルティを書きます:
次の表は、さまざまな書き込みペナルティRAIDレベルの値を示しています。
RAID |
書き込みペナルティ |
0 |
1 |
1 |
2 |
5 |
4 |
6 |
6 |
10 |
2 |
RAID-0:直接ストリップ、データはライトワンスディスクは、物理的な対応に書き込まれるたびに
RAID-1および10:書き込みRAID-1およびRAID-10の罰は、ミラーリングされたデータが存在するため、理解することは非常に簡単ですので、一度書かれた2があるでしょう。
RAID-5、RAID-5の機構の存在によるパリティビットの計算には、データ、リードパリティ、ライトデータを読み出すために必要な、書き込みパリティは、4つのステップをビット、RAID-5書き込みペナルティ値は4です。
RAID-6:ライトペナルティ値は、RAID-6であるので、RAID-6の2つのパリティビットの存在に起因し、RAID-5と比較して、パリティビットを2回読み取られ、二回パリティビットを書き込む必要があります6。
計算されたIOPS:
上記の説明によれば、プログラムを実際の設計プロセスに格納され、演算処理は、RAIDライトペナルティ計算におけるIOPSに組み込まれるように、実際に利用可能です。次のように計算されます。
ディスクの物理ディスク内の物理ディスクのIOPS×総数は= IOPS
利用可能なIOPS =(総物理ディスク書き込みIOPS×÷RAID書き込みペナルティ率)+(全体の物理ディスク読み取りIOPS×割合)
RAID-5は、組成物はIOPS 500合計物理ディスクを提供し、メモリ書き込み割合アプリケーションは、50%/ 50%であることが想定される場合、フロントエンドホストに、実際に利用可能なIOPSです。
(500×50%÷4)+(500 * 50%)312.5 IOPSを=
ディスクRAID10 / RAID5構成のIOPSコントラスト
ディスクIOPSの比較
場合を想定、ビジネスは、キャッシュヒット率が30%読み取り、60%のIOPSを読み出し、10000 IOPS、書き込みは、ディスク120の数、値がRAID5 RAID10各ディスクの計算される場合に40%IOPSどのくらいのIOPS。
RAID5:
モノリシックディスクIOPS =(10000 *(1-0.3)* 0.6 + 4 *(10000 * 0.4))/ 120
=(4200 + 16000)/ 120
= 168
ここでは10000 *(1-0.3)×0.6表現が読み込まれるIOPS、比率は、実際には、唯一の4200 IOPSをキャッシュヒットを削除し、0.6です。
4 *(0.4 * 10 000)に示す書き込みIOPSを、RAID5の各書き込み、4つの実際のIOが、そうライトのよう16000をIOPSため
2つの読み取り操作がヒットして、その書き込みが発生したときにRAID5を検討するためには、より正確な計算は次のとおりです。
モノリシックディスクIOPS =(10000 *(1-0.3)* 0.6 + 2 *(10000 * 0.4)*(1-0.3)+ 2 *(10000 * 0.4))/ 120
=(4200 + 8000 + 5600)/ 120
= 148
単一のディスクが148 IOPSとして計算し、ディスクの限界に達し
Radl0
モノリシックディスクIOPS =(10000 *(1-0.3)* 0.6 + 2 *(10000 * 0.4))/ 120
=(+ 8000 4200)/ 120
= 102
これは、書き込み動作のためのRAID10として見ることができる、IOは同じ圧力、同じディスクは、各ディスクは限界がディスクIOPSずっと下、唯一102 IOPSように、二回のみ起こります。
RAID5 RAID10との詳細な比較
比較のために、私は多くのディスクドライブを比較、3D + 1PのRAID方式で、2D + 2DのRAID方式でのRAID10の選択のRAID5の選択を行うと取るためにここにいます。
・
RAID5とRAID10ディスク・アレイは、彼らは何が違うの現在の主流のソリューションですか?ここでは、私がどのような状況下で、我々は1が正しいRAIDのためであるかを選択する必要があり、解析するために内部RAIDの原則の両方を実行します。
比較のために、私が示したように、多くのディスクドライブは、それぞれの比較、3D + 1PのRAIDスキームのRAID5の選択、2D + 2DのRAID方式のRAID10の選択を行うと取るためにここにいます:
3D + 1PのRAID方式、2D + 2DのRAID10 RAID方式選択のRAID5選択
その後、我々は次の三つのプロセス分析:キャッシュ:読書を、連続、ランダム書き込みを書いて、しかし、これらの三つのプロセスを導入する前に、私は、特に重要な概念を導入する必要があります。
近年のキャッシュ技術は、ディスク・ストレージ・テクノロジーでは、最も簡単なRAIDカードを含む、大きなキャッシュもあり、ローエンドのストレージがあり、キャッシュは、ストア全体の中心にすでにある、ハイエンドのストレージとして、非常に迅速に開発します一般的に、彼らは数十またはRAIDキャッシュのメガバイトの何百も含まれています。
主な役割キャッシュは書き込みキャッシュに、書き込みアレイは、非常に高速で読み書きが一般的にだけでも、書き込み動作を完了したストレージアレイのキャッシュへの書き込みに必要とするかのように、書き込みの二つの異なる側面に反映?それをある何ですかある程度蓄積されたデータ、およびのみ、ディスクブラシへのデータアレイ、一括書き込みを達成することができ、保護されたデータキャッシュと、ミラーは、バッテリ(またはUPS)の位相に一般に依存します。
キャッシュがキャッシュにヒットを読んでいるかのように、無視できない同じ缶を読むの初めからディスクを集中的IOのそれらのために、一般的に、より6msのよりで、データを検索しようと、今回ので、それは、ディスクを減らすことを目指しますアプリケーションは理想的ではないかもしれません。キャッシュにヒットすることができます場合は、一般的な応答時間は1msの未満とすることができます。
迷信ではないストレージベンダーのIOPS(毎秒のIO数)のデータを行い、それらはすべてキャッシュヒットに基づいて行われるかもしれないが、実際には、あなたのキャッシュヒット率はわずか10%とすることができます。
キャッシュの概要は、我々は、異なるモードで作業効率をRAID5とRAID10を説明することができ、その後、我々は、上記の3つの質問を分析する必要があります。
1つの読み取り
RAID5とRAID10ディスクは上記の読書で、サービスを提供する、とすることができるのでヒット率が得られ、キャッシュヒット率に影響を与えることができ、データを読み取るため除いて、基本的にそれらの間に違いはありませんが同じではありません。
2、シーケンシャル書き込み
連続書き込み処理書き込みキャッシュが存在する場合、一般に、そのようなストリーミングメディア、大容量のファイルなど、書き込み動作等の大量のデータを書き込む連続データを表し、およびアルゴリズムもRAID10よりも、RAID5は問題ありませんよりよい(ここでは、十分な書き込みキャッシュを保存して、CPUのチェックサムしませんボトルネックを計算するために特定のサイズであると想定)。チェックがキャッシュで行われ、この時、RAID5 4のようにディスクブロックなので、あなたは同時に+ 1つのパリティ3つのデータを書き込み、メモリ内のチェックサムを計算することができます。同時に書き込まれた2つだけのデータ+2ミラー位相ながらRAID10。
シーケンシャル書き込み
例えば、RAID5のディスク4は、同時に、2、3でキャッシュに書き込むことができ、キャッシュチェックサムを計算した後、図6に示すように、私は(計算された実際のチェックサムが場合ではないものとする場合にのみI仮説)、3件のデータがディスクに書き込まれている間。そして、4つのディスクRAID10のキャッシュに関係なく存在するかどうかの、書き込みは、データが2つのフェーズ2つのミラーに同時に書き込まれます。
しかし、あるI一定期間まで缶キャッシュ書き込み操作のことを、前に書き込みキャッシュを述べた後、ディスクに書き込まれている、しかし、より良い読み込みより書き込みが、すぐにこれを書い以降に発生する必要があり、昨年の秋ディスク上に書かれたが、まだ避けることができない強力なシーケンシャル書き込みの継続でない場合、彼らはリミットディスクの書き込みに達していない、しかし、その差はあまり大きくありません。
3、個別の書き込み
オンラインログはシーケンシャルな書き込みに見えるかもしれないが、ここでは、そのような8Kとして、しかし、Oracleデータベースは、データのブロックがそれぞれ書き込みとして、ほとんどの個別の書き込み操作であるなど、データベースの最も重要な部分である、おそらく理解することが最も困難です少量の各書き込みのため、保証はRAID5のストリップを埋めることはできないので、それほど頻繁に離散書かれ、(各ディスクを書き込むことができることを確実にします)。
離散書き込み
私たちは、数字は、RAID5のために、その後、デジタル数2に4を想定する必要があり、その後、4回の実際のIO、2と第1チェック6を読み出し、その後、チェックを発生することがあり、キャッシュ内の新しい読み取りヒットを計算4と新しいデジタル書き込み新しいチェック8
RAID10のために、私たちは同じ単一の操作、2つだけ最後のRAID10のIO、およびRAID5は4 IOを必要としていることがわかります。
しかし、ここで私はそれらの2 RAID5は動作時間を読んで、また、データをキャッシュに読み込む必要がある場合、それは、4つのIOを必要とするだけでなく、証明しないことがあり、あること、発生したヒット操作を読み出して、無視しましたRAID5キャッシュの重要性は、単にチェックサムのニーズを計算するだけでなく、重要なのパフォーマンスを向上させるためではありません。テストされたら、書き込みキャッシュをオフにした場合、RAID5アレイは、RAID5のパフォーマンスは、多くのより悪い倍になります。
ここでは、書き込みバッファがヒットを読んでいるので、スピードを向上させるためのキーですが、RAID10 RAID5はそれほど明らかで、それがキャッシュに依存しない、で、重要ではないRAID10のキャッシュを避けます。
ここで、我々はまた、一般的に、小さなIOデータベースタイプの操作のような、一般的に、我々はスペース利用、缶の観点から、RAID10、および大規模なファイルストレージ、データウェアハウスを使用することをお勧めしている理論やRAID5とRAID10の違いを理解する必要がありますRAID5を使用しました。
あなたがトランザクション操作が多数ある場合は、我々はOLTP環境、IO性能の主要な側面を考慮しているため、一般的なOLTP環境では、我々は、より良いRAID10を検討してください。スペースは、RAID5より適切であるため、一般的なデータ・ウェアハウス環境、OLAP環境のために、我々は、RAID5を選択します。
ストレージに関する考慮すべき3つの課題
3.1は、より多くのディスクを使用しています
RAIDでは、ディスク速度は、長い時間が速くディスクより来た常にあります。例えば4TB容積は、2ハード2TB駆動性能が得られるよりも高い10 400Gの使用を必要としました。いくつかのケースでは、スループットは、個々のディスクのスループットの和にほぼ等しいです。400G及び2Tは20M / S、400G 200M / S、2TB組み合わせ40M / Sの総スループットの組合せのその後の使用のために一貫した速度仮説 400G 2TBの組み合わせは、5時間の組み合わせです。
3.2高速なハードディスク
間違いなく、高速なハードディスクは、低速のハードドライブよりも優れた性能を持っています。15Kは、実際には、ハードディスク250M / Sの理論上の速度であり、非シーケンシャル、ランダム読み出し速度実際2-4M / S、シーケンシャルバルクは速度を読ん50-60M / Sを超えることはありません
3.3ディスクテスト
あなたは、測定するのに平均秒/転送電卓をライン平均秒/読み取り、平均秒/書き込み上の3つのパラメータを組み込みのWindowsシステムのパフォーマンスモニタウィンドウを使用するか、またはIOMeterのを使用することができます。
データベースのトランザクションログ:なし以上5MSよりも、最高は0ms。
OLTPデータ:10MS未満。
OLAPおよび報告システム:これ以上25MS以下です。
遅延の物理ディスクIOの監視
Windowsのレベルでの遅延解析上の物理ディスクIOは、主に主に3つあり、物理ディスクIO遅延カウンタを測定するために、パフォーマンスモニタカウンタに依存します。
平均ディスク秒/転送:.ディスクの平均時間を使用して、各アクセス動作
平均ディスク秒/読み取り:.ディスクの平均時間を使用して、各読み取り操作
各書き込みディスクが使用される平均時間:平均ディスク秒/書き込み。
avg.Disk秒/(譲渡、読み取り、書き込み)は、うまくディスクIOの割合を反映することができ、IO速度はディスク(ベースライン)のベースライン測定をお勧めします:
すぐに:<10msの
一般:10-20ms
Aは遅いビット:20-50ms
非常に遅い:> 50ミリ秒