Microsoftには、SQL ServerインスタンスをホストするためのIaaS(Infrastructure as a Service)オプションの使用に関心がある場合に利用できる、さまざまなAzure仮想マシンシリーズとサイズが多数あります。最初に決定する必要があるのは、特定のSQLServerワークロードに使用するAzureVMのシリーズとサイズです。
オンプレミスのSQLServerの使用については、ワークロードと使用可能なサーバーモデルおよびプロセッサモデルを注意深く分析して、SQL Serverライセンスコストを最小限に抑え、最高のパフォーマンスを実現する適切なプロセッサを選択できるサーバーを取得する必要があります。特定のSQLServerライセンスコストで可能な容量。優れたプロセッサの選択と不適切なプロセッサの選択のコストとパフォーマンスの違いは、非常に劇的なものになる可能性があります。
Azure VMでは、同様の分析を行う必要がありますが、理由は多少異なります。 AzureVM上のSQLServerのライセンスコストは、VM内のコアの数に直接関係しています。 CPUのパフォーマンスと容量、メモリ容量、およびストレージのパフォーマンスに対する予想されるニーズに一致するVMサイズを選択する必要があります。
オンプレミスのシナリオとは異なり、基盤となるホストマシンでの実際のプロセッサの選択を制御することははるかに少なくなります。 Azure VMでは、特定のマシンシリーズ(GSシリーズなど)と特定のAzureデータセンターのサイズを選択し、MicrosoftがそのシリーズとそのAzureデータセンターのサイズに使用しているプロセッサを取得します。 Microsoftには現在Azureデータセンターを備えた42の異なるリージョンがあるため、このページに示されているマトリックスを使用して、各リージョンで提供されているVMシリーズを見つけることができます。
Azureコンピューティングユニット(ACU)
Azure VM SKUを比較および選択するときに理解する非常に重要な概念の1つは、Azure Compute Unit(ACU)です。これにより、さまざまなAzure VM SKU間でコンピューティングパフォーマンス(コアvCPUパフォーマンスごと)を比較できます。このACU測定値は、現在、スコアが100の小さな(Standard_A1)VMで標準化されており、他のすべてのAzure SKUには、特定のAzureSKUが標準のCPUベンチマークを実行できる速度をほぼ表すACUスコアがあります。したがって、たとえば、Standard_A1のACU / vCPUスコアは100ですが、Standard_GS5のACU/vCPUスコアは240です。
Azure VM SKUのACUスコアを見ると、基盤となるホストマシンで使用されているプロセッサのシングルスレッドCPUパフォーマンスについて適切なアイデアが得られます。さまざまなAzureVMSKUで使用されるすべてのプロセッサがこれらのテクノロジをサポートしているわけではないため、その特定のプロセッサがIntelTurboBoostやIntelHyper-Threadingをサポートしているかどうかを理解することも重要です。
これを行うには、Windowsタスクマネージャーの[パフォーマンス]タブの[CPU]ページでVM内の実際のホストCPUを特定するか、CPU-Zなどのユーティリティを使用します。ホスト内の正確なプロセッサモデルを特定したら、オンラインのIntel ARKデータベースを使用して、そのプロセッサに関する特定の詳細を取得できます。
SQLServerの新しいAzureVMサイズ
SQLServerのAzureVMサイジングに関する一般的な問題は、ワークロードをサポートするのに十分なメモリとストレージのパフォーマンスを確保するために、必要または必要な数よりもはるかに多くの仮想CPUコアを備えたVMサイズを選択せざるを得ないという事実です。これにより、毎月のライセンスコストが増加しました。
幸いなことに、Microsoftは最近、特定のVMサイズ(DS、ES、GS、およびMS)を使用する新しいシリーズのAzure VMを使用して、SQL Serverの決定プロセスを少し簡単にしましたが、vCPU数を4分の1または2分の1に減らしました。同じメモリ、ストレージ、およびI / O帯域幅を維持しながら、元のVMサイズのこれらの新しいVMサイズには、アクティブなvCPUの数を指定するサフィックスが付いており、識別しやすくなっています。
たとえば、Standard_DS14v2 Azure VMには16個のvCPU、112 GBのRAMがあり、最大51,200IOPSまたは768MB/秒のシーケンシャルスループットをサポートします(Microsoftによる)。新しいStandard_DS14-8v2AzureVMには8つのvCPUしかなく、Standard_DS14v2と同じメモリ容量とディスクパフォーマンスがあり、SQL Serverのライセンスコストを年間50%削減します。これらのAzureVMSKUはどちらも、同じACUスコア160になります。
これらの新しいAzureVMSKUのやや紛らわしい問題の1つは、これらのSKUの両方の月額コンピューティングコスト(OSライセンスを含む)が同じになることです(この例では月額989.52ドル)。節約できるのは、SQLServerの月額ライセンスコストの削減です。
基本的に、Microsoftがここで行っているのは、VMのコアを無効にして、SQL Serverのライセンスコストを削減することです。これは、オンプレミスのSQLServerでは許可されていないことです。オンプレミスのSQLServerでは、SQLServerのライセンスコストを削減するためにUEFI/BIOSのプロセッサコアを無効にすることはできません。 UEFI / BIOSでコアを無効にしても、SQLServer用にそれらのコアのライセンスを取得する必要があります。
AzureVMをCPU-Zでベンチマークする
任意のマシン(物理または仮想、Azure VMであるかどうかに関係なく)を実行できる非常に高速なCPUベンチマークの1つは、組み込みのCPU-Zベンチマークであり、完了するのに約20秒しかかかりません。米国中南部のデータセンターで標準のDS14-8_v2を作成しました。このVMは、Intel Xeon E5-2673 v3 Haswell-EPプロセッサを使用していました。これは、ベースクロック速度が2.4 GHz、ターボクロック速度が3.2 GHzの12コアプロセッサであり、特別な特注プロセッサSKUのようです。 IntelArkデータベースにありません。このプロセッサファミリは2014年の第3四半期に導入されたため、3年以上使用されています。この特定のVMでは、テスト中にTurboBoostが使用されているのはわかりませんでした。
図1から3を見ると、このAzure VMのCPU-Zベンチマークの結果がわかります。図4は、明らかに高速なDellPrecision5520ラップトップの結果です。私のラップトップには、標準のDS14-8_v2 Azure VMと同じ数の仮想コアがありますが、ベースクロック速度が高くシングルスレッドのパフォーマンスが高い、はるかに新しいIntel Xeon E3-1505M v6KabyLakeプロセッサを使用しています。
>図1:米国中南部の標準DS14-8_v2のタスクマネージャー>
図2:米国中南部の標準DS14-8_v2のCPU-ZCPUタブ
図3:米国中南部の標準DS14-8_v2のCPU-Zベンチタブ
図4:グレンのラップトップのCPU-Zベンチタブ