Azure 内のディスク パフォーマンスに対するキャッシュの影響

完了

ローカル コンピューターと同じように、仮想マシンのパフォーマンスは、多くの場合、その VM がデータの読み取りと書き込みをどれだけ速く実行できるかと直接結び付いています。 そのパフォーマンスを向上させる方法を理解するには、まずパフォーマンスの測定方法を理解する必要があります。 また、その測定に影響を与える設定と選択肢を理解する必要があります。

VM 用に使用される基になるディスクとストレージを具体的に見て行きましょう。 パフォーマンスを調べる場合は、アプリケーション層も検討する必要があることに留意してください。 たとえば、VM でデータベースを実行している場合、そのデータベースに固有のパフォーマンス設定を調べ、それを実行している VM とストレージ用に最適化されていることを確かめる必要があります。

いくつかの条件と、それらについての Azure の保証を定義することから始めましょう。

1 秒あたりの I/O

選択するストレージの種類 (Standard または Premium) によって、ディスクの速度が決まります。 このパフォーマンスは、1 秒あたりの I/O 操作 (IOPS ("アイオプス" と発音)) で測定されます。

IOPS は、ディスクが 1 秒間に処理できる要求の数です。 1 つの要求は、読み取り操作または書き込み操作です。 この測定はストレージに直接適用されます。 たとえば、5000 IOPS を処理できるディスクがある場合、理論的には、1 秒あたり 5,000 の読み取り操作または書き込み操作が処理できることになります。

Note

待機時間を含む外部要因が IOPS に影響を与える可能性があります。

IOPS は、ご利用のアプリケーションのパフォーマンスに直接影響します。 小売 Web サイトなどの一部のアプリケーションでは、サイトの応答性を維持するために、迅速に処理する必要がある小さいランダムな I/O 要求すべてを処理する高い IOPS が必要です。

Azure での IOPS

Premium Storage ディスクを高スケール VM にアタッチすると、そのディスクの仕様どおりに、保証された数の IOPS が Azure によってプロビジョニングされます。 たとえば、P50 ディスクでは 7,500 IOPS がプロビジョニングされます。 また、高スケール VM の各サイズにも、維持できる IOPS の上限が設けられています。 たとえば、Standard GS5 VM の上限は 80,000 IOPS です。

IOPS は、ディスクのパフォーマンス測定ですが、''理論上の'' 制限です。 その他にも、スループット待機時間という 2 つの要因が実際のアプリケーションのパフォーマンスに影響を与える可能性があります。

スループットとは

スループットは、アプリケーションが指定された間隔 (通常は 1 秒) でストレージ ディスクに送信するデータの量です。 アプリケーションが大量のデータ ブロックで I/O を実行している場合は、高スループットが必要です。

Azure では、Premium Storage ディスクのスループットを、そのディスクの仕様に基づいてプロビジョニングします。 たとえば、P50 ディスクでは 250 MB/秒のディスク スループットがプロビジョニングされます。 また、高スケール VM の各サイズにも、維持できるスループットの上限が設けられています。 たとえば、Standard GS5 VM の最大スループットは 2,000 MB/秒です。

IOPS とスループット

スループットと IOPS は直接関係しており、一方を変更するともう一方に直接影響します。 スループットの理論上の上限を得るには、IOPS x I/O size = throughput という数式を使うことができます。 アプリケーションを計画するときには、これらの両方の値を考慮することが重要です。

待機時間とは

データの読み取りと書き込みには時間がかかります。 ''待機時間'' は、アプリが要求をディスクに送信し、応答を受け取るのにかかる時間です。 基本的には、待機時間によって 1 つの読み取りまたは書き込みの I/O 要求を処理するのにどのくらいの時間を要するかがわかります。

待機時間により IOPS が制限されます。 たとえば、5000 IOPS を処理できるディスクがあっても、各操作の処理に 10 ミリ秒かかる場合、この処理時間によりアプリは 1 秒あたり 500 操作に制限されます。 この例はシンプルな図で、ほとんどの待機時間はこれより大幅に短くなります。 最終的には、待機時間とスループットによって、アプリがストレージからデータを処理する速度が決まります。

Premium Storage では待機時間が常に短くなり、必要な場合には "キャッシュ" を使用してさらに待機時間を短くできます。

ディスクのパフォーマンスをテストする

適切な VM サイズとストレージの種類を選択することで、ご利用の VM ディスクの IOPS、スループット、および待機時間を調整してバランスを取ることができます。 通常、VM のサイズが大きいほど、または VM の価格が高いほど、保証される最大 IOPS とスループットもより高くなります。 その式に、Standard Storage または Premium Storage の選択、HDD または SSD の選択を加えます。検討できるパラメーターがいくつかあります。

適切な組み合わせを選択するには、アプリケーションの要件を理解する必要があります。 データベース サーバーやオンライン トランザクション処理システムなどの高 I/O アプリケーションには、より高い IOPS が必要になるのに対して、より計算ベースのアプリケーションはより低い要件で済む場合があります。 さらに、アプリケーションで実行される操作の ''種類'' もスループットに影響します。 高いランダム アクセス I/O は、長い順次読み取りよりも遅くなる傾向があります。

構成を選択すると、Iometer などのツールを使用して、Linux VM および Windows VM のディスク パフォーマンスをテストできます。 このテストにより、どのようなパフォーマンスを期待できるかについて、より現実に即した感覚がもたらされます。 これは、アプリのストレージ使用を改善する方法を特定することにも役立ちます。 たとえば、シングル スレッドの I/O を処理するアプリケーションでは、待機時間により I/O パフォーマンスが低下してしまう恐れがあります。

次のユニットでは、ディスク パフォーマンスを向上させるためにできる他の方法をいくつか見ていきます。