VM サイズ: Azure VM 上の SQL Server のパフォーマンスに関するベスト プラクティス

適用対象:Azure VM 上の SQL Server

この記事では、Azure Virtual Machines (VM) 上の SQL Server のパフォーマンスを最適化するための一連のベスト プラクティスおよびガイドラインとして、VM サイズのガイダンスを提供します。

通常、コストの最適化とパフォーマンスの最適化はトレードオフの関係になっています。 このパフォーマンスに関するベスト プラクティス シリーズでは、Azure Virtual Machines の SQL Server の "最善の" パフォーマンスを得ることに重点を置いています。 ワークロードの要求が厳しくない場合は、推奨される最適化がすべて必要になるわけではありません。 各推奨事項を評価するときに、パフォーマンスのニーズ、コスト、およびワークロードのパターンを考慮してください。

総合的な情報は、このシリーズ記事 (チェックリストストレージセキュリティHADR の構成ベースラインの収集) の他の記事をご覧ください。

チェック リスト

次のチェックリストを参照して、この記事の残りの部分で詳しく説明されている VM サイズのベスト プラクティスの概要を確認してください。

  • 新しい Ebdsv5 シリーズでは、Azure で最高の I/O スループットと仮想コアの比率が提供され、メモリと仮想コアの比率は 8 になります。 このシリーズのオファーでは、Azure VM 上の SQL Server ワークロードに対して最適な価格パフォーマンス比が提供されます。 ほとんどの SQL Server ワークロードで、このシリーズを最初に検討してください。
  • 4 つ以上の vCPU を持つ VM サイズ (E4ds_v5 以上など) を使用します。
  • SQL Server ワークロードの最適なパフォーマンスを得るために、メモリ最適化済み仮想マシン サイズを使用します。
  • Edsv5 シリーズ、M-Mv2- シリーズでは、OLTP ワークロードに必要な、最適なメモリと仮想コアの比率が提供されます。
  • M シリーズの VM は、メモリと仮想コアの比が Azure で最も高くなっています。 ミッション クリティカルなワークロードとデータ ウェアハウス ワークロードについては、これらの VM を検討してください。
  • パフォーマンスが最適になるように SQL Server の設定とストレージ オプションが構成されるため、Azure Marketplace イメージを使って SQL Server 仮想マシンをデプロイします。
  • ターゲット ワークロードのパフォーマンス特性を収集し、それらを使用してお客様のビジネスに適した VM サイズを決定します。
  • Data Migration AssistantSKU 推奨ツールを使って、既存の SQL Server ワークロードに適した VM サイズを確認します。
  • Azure Data Studio を使って Azure に移行します。

この VM サイズのチェックリストを他と比較するには、総合的なパフォーマンスに関するベスト プラクティスのチェックリストをご覧ください。

概要

Azure VM で SQL Server を作成するときは、必要なワークロードの種類を慎重に検討します。 既存の環境を移行する場合は、パフォーマンス ベースラインを収集して、Azure VM での SQL Server の要件を確認します。 新しい VM の場合は、ベンダーの要件に基づいて新しい SQL Server VM を作成します。

クラウド用に構築された新しいアプリケーションを使用して新しい SQL Server VM を作成する場合は、データや使用量の要件が変化したときに、それに合わせて SQL Server VM のサイズを簡単に変更できます。 下位レベルの D シリーズ、B シリーズ、または Av2 シリーズで開発環境を開始し、時間の経過とともに環境を拡張します。

ポータルでのストレージ構成で SQL Server VM のマーケットプレース イメージを使用します。 これにより、お客様のワークロードに必要なサイズ、IOPS、スループットを確保するために必要な記憶域プールの適切な作成が容易になります。 Premium Storage と Premium Storage キャッシュをサポートしている SQL Server VM を選択することが重要です。 詳細については、ストレージに関する記事をご覧ください。

現在、Ebdsv5 シリーズは、Azure で利用できる最高の I/O スループットと仮想コアの比率を提供しています。 SQL Server ワークロードの I/O 要件がわからない場合は、このシリーズがニーズを満たす可能性が最も高くなります。 詳細については、ストレージに関する記事をご覧ください。

注意

Ebdsv5 シリーズは、サイズが大きい場合 (48 vCPU 以上)、NVMe 対応ストレージ アクセスをサポートします。 この I/O パフォーマンスの高さを利用するには、NVMe を使用して仮想マシンをデプロイする必要があります。 SQL Server マーケットプレース イメージに対する NVMe のサポートは近日公開予定ですが、現在は NVMe を利用するために SQL Server を自身でインストールする必要があります。

SQL Server のデータ ウェアハウスおよびミッション クリティカルな環境では多くの場合、メモリと仮想コアの比率を 8 よりも大きくする必要があります。 中規模の環境では、メモリと仮想コアの比率 16 を選択し、より大規模なデータ ウェアハウス環境では、メモリと仮想コアの比率 32 を選択することをお勧めします。

SQL Server のデータ ウェアハウス環境では多くの場合、サイズの大きなマシンの並列処理が有効です。 このため、M シリーズと Mv2 シリーズは、大規模なデータ ウェアハウス環境に適切なオプションです。

現在のオンプレミス SQL Server データベースを Azure VM 上の SQL Server に移行するためのベースラインとして、ソース マシンの vCPU とメモリ構成を使用します。 ソフトウェア アシュアランスをお持ちである場合は、Azure ハイブリッド特典を利用してライセンスを Azure に提供し、SQL Server のライセンス コストを節約できます。

メモリ最適化

メモリ最適化済み仮想マシン サイズは、SQL Server VM のプライマリ ターゲットであり、Microsoft が推奨する選択肢です。 メモリ最適化済み仮想マシンでは、メモリと CPU のより高い比率および中規模から大規模のキャッシュ オプションを提供します。

Ebdsv5 シリーズ

Ebdsv5 シリーズは、Azure で使用できる最高のリモート ストレージ スループットを提供する新しいメモリ最適化シリーズの VM です。 これらの VM のメモリと仮想コアの比率は 8 で、高い I/O スループットと共に、SQL Server ワークロードに最適です。 Ebdsv5 シリーズの VM は、Azure 仮想マシンで実行される SQL Server ワークロードに対して最適な価格パフォーマンス比を提供し、ほとんどの運用環境の SQL Server ワークロードに対して強く推奨されます。

Edsv5 シリーズ

Edsv5 シリーズは、メモリ負荷の高いアプリケーション向けに設計されており、Ebdsv5 シリーズで提供されるほど高い I/O スループットを必要としない SQL Server ワークロードに最適です。 これらの VM は、最大 672 GiB の RAM のローカル ストレージ SSD 容量を備えており、非常に高いローカルとリモートのストレージ スループットを実現します。 これらのほとんどの仮想マシンでは、仮想コアあたりのメモリが一貫して約 8 GiB であり、大部分の SQL Server ワークロードに最適です。

このグループの最大の仮想マシンは Standard_E104ids_v5 であり、104 個の仮想コアと 672 GiBs のメモリが備わっています。 この仮想マシンは、分離されるため注目されています。つまり、ホスト上で実行される唯一の仮想マシンであることが保証され、他のお客様のワークロードから分離されます。 これのメモリと仮想コアの比率は、SQL Server に推奨される比率よりも低いため、分離が必要な場合にのみ使用してください。

Edsv5 シリーズの仮想マシンでは、Premium StoragePremium Storage キャッシュがサポートされています。

ECadsv5-series

ECadsv5 シリーズの仮想マシン サイズは、一時ディスクを備えたメモリ最適化 Azure 機密 VM です。 Azure 機密 VM のセキュリティ上の利点については、機密 VM を確認してください。

Azure 機密 VM のセキュリティ機能によってパフォーマンス オーバーヘッドが発生する可能性があるため、ワークロードをテストし、パフォーマンス要件を満たす VM サイズを選択します。

M および Mv2 シリーズ

M シリーズは、一部の最大の SQL Server ワークロードに適した仮想コア数とメモリを提供します。

Mv2 シリーズは、最大の仮想コア数とメモリを備えており、ミッション クリティカルおよびデータ ウェアハウス ワークロードに推奨されています。 Mv2 シリーズ インスタンスはメモリ最適化済み VM サイズで、非常に優れたコンピューティング性能によって大規模なメモリ内データベースとワークロードをサポートし、リレーショナル データベース サーバー、大規模キャッシュ、インメモリ分析に最適な、メモリと CPU の高い比率を提供します。

SQL Server のパフォーマンスにとって魅力的な M および Mv2 シリーズの機能の一部には、Premium StoragePremium Storage キャッシュのサポート、Ultra ディスクのサポート、書き込みアクセラレータなどがあります。

General Purpose

汎用仮想マシン サイズは、開発とテスト、Web サーバー、小規模なデータベース サーバーのようなエントリ レベルの小さなワークロードに対して、メモリと仮想コアのバランスの取れた比率を提供するように設計されています。

General Purpose 仮想マシンではメモリと仮想コアの比率が小さいため、メモリベースのパフォーマンス カウンターを注意深く監視して、SQL Server が必要なバッファー キャッシュ メモリを確実に取得できるようにすることが重要です。 詳細については、メモリのパフォーマンス ベースラインをご覧ください。

運用環境のワークロードの開始時に推奨されるメモリと仮想コアの比率は 8 であるため、SQL Server が動作している汎用 VM の推奨される最小構成は、4 vCPU および 32 GiB のメモリです。

Ddsv5 シリーズ

Ddsv5 シリーズでは、vCPU、メモリ、一時ディスクの適正な組み合わせを提供しますが、サポートされている、メモリと仮想コアの比率は小さくなっています。

Ddsv5 VM には、低待機時間で高速のローカル ストレージが含まれています。

これらのマシンは、一時ストレージと部門別リレーショナル データベースへの高速アクセスを必要とする SQL やアプリの並列デプロイに最適です。 このシリーズのすべての仮想マシンでは、メモリと仮想コアの標準比率が 4 になっています。

このため、このシリーズのスターター仮想マシンとしては、D8ds_v5 を使うことをお勧めします。これには、8 個の仮想コアと 32 GiB のメモリが搭載されています。 最大のマシンは、96 個の仮想コアと 256 GiB のメモリが搭載された D96ds_v5 です。

Ddsv5 シリーズの仮想マシンでは、Premium StoragePremium Storage キャッシュがサポートされています。

Note

Ddsv5 シリーズでは、メモリと仮想コアの比率が、SQL Server のワークロードに推奨される 8 ではありません。 そのため、小規模なアプリケーションと開発ワークロードにのみ、これらの仮想マシンを使用することを検討してください。

DCadsv5-series

DCadsv5 シリーズの仮想マシン サイズは、一時ディスクを備えた汎用 Azure 機密 VM です。 Azure 機密 VM のセキュリティ上の利点については、機密 VM を確認してください。

Azure 機密 VM のセキュリティ機能によってパフォーマンス オーバーヘッドが発生する可能性があるため、ワークロードをテストし、パフォーマンス要件を満たす VM サイズを選択します。

B シリーズ

負荷の急増に対応できる B シリーズの仮想マシン サイズは、概念実証や、非常に小さなアプリケーションおよび開発サーバーなど、一貫したパフォーマンスを必要としないワークロードに最適です。

負荷の急増に対応できる B シリーズの仮想マシン サイズのメモリと仮想コアの比率は 4 です。 これらのマシンの最大構成は、20 個の仮想コアと 80 GiB のメモリを搭載した Standard_B20ms です。

このシリーズの特徴は、マシン サイズに応じて変化するバースト可能なクレジットを使用して業務時間中にアプリでバーストできることです。

クレジットを使い切ると、VM がマシンのベースライン パフォーマンスに戻ります。

B シリーズの利点は、特に 1 日を通して処理能力をそれほど必要としない場合、他のシリーズの他の VM サイズに比べて、コンピューティングの節約を実現しやすいことです。

このシリーズでは、Premium Storage がサポートされていますが、Premium Storage キャッシュサポートされていません

Note

負荷の急増に対応できる B シリーズでは、メモリと仮想コアの比率が、SQL Server のワークロードに推奨される 8 ではありません。 そのため、小規模なアプリケーション、Web サーバー、開発ワークロードにのみ、これらの仮想マシンを使用することを検討してください。

Av2 シリーズ

Av2 シリーズの VM は、開発とテスト、低トラフィックの Web サーバー、小規模から中規模アプリのデータベース、概念実証のようなエントリ レベルのワークロードに最適です。

Standard_A2m_v2 (2 個の仮想コアと 16 GiB のメモリ)、Standard_A4m_v2 (4 個の仮想コアと 32 GiB のメモリ)、Standard_A8m_v2 (8 個の仮想コアと 64 GiB のメモリ) のみ、メモリと仮想コアの比率がこれらの上位 3 つの仮想マシンに最適な 8 になっています。

これらの仮想マシンはどれも、小規模な開発およびテスト用の SQL Server マシンに適したオプションです。

また、8 仮想コアの Standard_A8m_v2 は、小規模なアプリケーションおよび Web サーバーにも適したオプションです。

Note

Av2 シリーズでは Premium Storage がサポートされていないため、メモリと仮想コアの比率が 8 の仮想マシンであっても、運用環境の SQL Server ワークロードにはお勧めしません。

ストレージ最適化

ストレージ最適化済み VM サイズは、特定のユース ケースに適しています。 これらの仮想マシンは、最適化されたディスク スループットおよび IO を考慮して特別に設計されたものです。

Lsv2 シリーズ

Lsv2 シリーズは、高スループットで低遅延のローカル NVMe ストレージを特長としています。 Lsv2 シリーズの VM は、持続性のあるデータ ディスクを使用する代わりに、VM に直接接続されているノード上のローカル ディスクを使用するように最適化されています。

これらの仮想マシンは、ビッグ データ、データ ウェアハウス、レポート、ETL などのワークロードに最適なオプションです。 ローカル NVMe ストレージの高いスループットと IOPS は、データベースに読み込まれるファイルを処理する場合や、ソース システムまたはその他のリポジトリ (Azure BLOB ストレージや Azure Data Lake など) からデータを再作成できるその他のシナリオに対して使用するのに適しています。 また、Lsv2 シリーズの VM では、一度に最大 30 分間、ディスク パフォーマンスをバーストすることもできます。

これらの仮想マシンのサイズは 8 - 80 vCPU で、vCPU あたり 8 GiB のメモリを搭載し、8 vCPU ごとに 1.92 TB の NVMe SSD があります。 つまり、このシリーズの最大の VM である L80s_v2 では、80 vCPU、640 BiB のメモリ、10 x 1.92 TB の NVMe ストレージが搭載されています。 これらのすべての仮想マシンでは、メモリと仮想コアの比率が一貫して 8 になっています。

NVMe ストレージはエフェメラルです。つまり、仮想マシンの割り当てを解除した場合、またはサービス復旧のために別のホストにデータを移動した場合、これらのディスクのデータは失われます。

Lsv2 および Ls シリーズでは、Premium Storage がサポートされていますが、Premium Storage キャッシュはサポートされていません。 IOPS を増やすためのローカル キャッシュの作成はサポートされていません。

警告

エフェメラルな NVMe ストレージにデータ ファイルを格納すると、VM の割り当てが解除されたときにデータが失われる可能性があります。

制約付き仮想コア

SQL Server の高パフォーマンス ワークロードでは、仮想コアの数は増やさずに、大量のメモリ、IOPS、スループットが必要になる場合がよくあります。

ほとんどの OLTP ワークロードは、多数の小さなトランザクションによって駆動されるアプリケーション データベースです。 OLTP ワークロードでは、少量のデータが読み取られるか変更されるだけですが、ユーザーの数に基づいて駆動されるトランザクションの量は非常に大きくなります。 SQL Server のメモリを使用して、プランをキャッシュし、パフォーマンスのために最近アクセスしたデータを格納し、物理読み取りをメモリにすばやく読み込むことができるようにすることが重要です。

これらの OLTP 環境では、より多くのメモリ、高速ストレージ、そして最適な実行に必要な I/O 帯域幅が必要です。

SQL Server のライセンス コストを上げずにこのレベルのパフォーマンスを維持するため、Azure ではvCPU の数が制限された VM サイズを提供しています。

これにより、親仮想マシンのメモリ、ストレージ、I/O 帯域幅を維持しながら、使用可能な仮想コア数を減らすことで、ライセンス コストを抑えることができます。

vCPU の数を、元の VM サイズの半分または 4 分の 1 に制限することができます。 仮想マシンで使用できる仮想コア数を削減すると、メモリと仮想コアの比率が高くなりますが、コンピューティング コストは変わりません。

これらの新しい VM サイズでは、識別しやすいように、アクティブな vCPU の数を指定するサフィックスが付加されています。

たとえば、M64-32ms には 32 個の SQL Server 仮想コアと、M64ms のメモリ、I/O、スループットのみのライセンスが必要であり、M64-16ms には 16 個の仮想コアのみのライセンスが必要です。 ただし、M64-16ms では、SQL Server のライセンス コストは M64ms の 4 分の 1 になりますが、仮想マシンのコンピューティング コストは同じです。

Note

  • それでも中規模から大規模のデータ ウェアハウスのワークロードでは制約付き仮想コア VM が有効である可能性がありますが、データ ウェアハウスのワークロードは一般に、並列で実行されるクエリ プランによって少ない数のユーザーとプロセスで大量のデータを処理するという特徴があります。
  • コンピューティング コスト (オペレーティング システムのライセンスを含む) は、親仮想マシンと同じままです。

次のステップ

詳細については、このベスト プラクティス シリーズにある他の記事を参照してください。