設計上の決定:Azure で Citrix DaaS を提供することのスケーラビリティと経済性

このドキュメントの目的は、Microsoft AzureクラウドにCitrix Desktops-as-a-Service(DaaS)を展開しようとしている企業にガイダンスを提供することです。

お客様に最善のアドバイスを提供するために、Citrix アーキテクチャと設計の決定に影響を与える4つの重要な質問に対する答えを決定しました。

  1. DaaS をホストするのに最も効率的なインスタンスシリーズは何ですか
  2. 最も効率的なファミリで最も費用対効果の高いインスタンスタイプは何ですか
  3. マシン作成サービスI/O(MCSIO)キャッシュにはどのような影響がありますか
  4. Windows 10 マルチセッションスケーラビリティは、Windows Server OS と比較してどうですか?

Citrixでは、テスト方法の詳細と、評価中にキャプチャされたパフォーマンス結果に関する詳細な論文を用意しています。
このホワイトペーパーでは、高レベルの結果に焦点を当て、Microsoft Azure クラウドで効率的なCitrix実装を設計する方法について説明します。

パフォーマンスを判断するために、LoginVSI 4.1.32.1を使用して、単一のCitrixサーバーに対してシミュレートされたセッションを作成します。テストに使用した 2 つのワークロードは、次のように説明されています:

  • タスクワーカーワークロード — Microsoft Office アプリ、Internet Explorer、Adobe Acrobat、PDF Writer を含むセグメントが含まれます。タスクワーカーのワークロードは、環境への要求はそれほど高くなく、システムをあまり使用しないユーザーを対象としています。
  • ナレッジワーカーのワークロード — Microsoft Officeアプリ、Adobe Acrobat、および360pムービーの視聴を含むその他の特定のアプリを含むセグメントが含まれます。ナレッジ・ワーカーのワークロードは、使用可能なメモリの使用量の増加など、環境への要求が高く、ユーザーがシステムをより頻繁に使用する傾向にあります。

マルチセッションテストを正常に完了したユーザーの数は、実際の状況下で主要なパフォーマンス指標を提供します。この値 (VSImax セッション数と呼ばれる) は、比較分析に使用されます。Login VSI ワークロードは、システム上の 1 人のユーザーの応答時間を観察して VSImax セッション数を計算します。
VSImax に達するのは、応答時間が、システム上の 1 人のユーザーのみで取得されたベースライン値から導き出された予想しきい値を大幅に下回った場合です。

専門知識がなくても一貫して再現できる控えめな数値を提供するため、すべての結果には、WindowsおよびOffice製品のデフォルトのCitrixポリシーと最適化されていないデフォルト設定を使用したテストの実行が反映されています。
Citrix WEMやCitrix OptimizerなどのCitrix 最適化ツールを適用することで、パフォーマンスと密度の両方を向上させることができます。

最も効率的なインスタンスシリーズは何ですか

最も効率的なインスタンスシリーズを見つけるには、ミックス内の他の変数を変更せずに、さまざまなインスタンスシリーズをテストする必要がありました。基本イメージはWindows Server 2016で、1903.1バージョンのCitrix VDAと、システムC: ドライブ用の標準のハードディスク・ドライブ(HDD)128 GBディスクが搭載されています。8 コアのインスタンスタイプを選択しました。主な理由は 2 つあります。

1) これらは、ホストされたセッションの Azure インスタンスタイプの機能を表し、一般的にデプロイされた最も人気のあるサイズです 2) 小型の 2 コアシステムとは対照的に、CPU と RAM のバランスがよく、OS への影響を最小限に抑えます。

次のグラフは、テストを実行した Azure US-West-2 リージョンの従量課金制に基づく、インスタンスファミリの結果と、1 時間あたりのユーザーあたりの平均コストを示しています。

8コア・パフォーマンス

分析

これらのインスタンスタイプのほとんどは、同じプロセッサ、インテル (R) Xeon (R) CPU E5-2673 v4 @ 2.30 GHz を使用します。主な違いは、仮想マシンで使用できるメモリの量です。これらのさまざまなシリーズの詳細については、 MicrosoftのWebサイトを参照してください

一般に、8 コアインスタンスのパフォーマンスは、ハイパースレッドコア (F8S_v2、D8_v3、E8_v3) と比較して物理コア (D13_v2、D4_v2、L8s) を考慮すると、かなり類似しています。ただし、インスタンスの時間当たりのコストを考慮すると、D13_v2 および F8S_v2 インスタンスの使用がより効率的です。E_v3 および LS_v1 シリーズは、Microsoft がメモリ最適化インスタンスおよびストレージ最適化インスタンスに対して高いプレミアムを請求するため、コスト効率が低くなります。ユーザーのアプリケーションが非常にメモリやストレージを大量に消費する状況では、これらのインスタンスを使用すると投資収益率が高くなることがよくあります。

推奨事項

一般的なユーザーのアプリケーションが CPU を大量に消費し、実行に大量のメモリを必要としない場合、最もコスト効率の高いパフォーマンスは F シリーズです。優れたCPU応答時間が必要で、大量のメモリを必要としない場合は、 Fシリーズを選択します 。ユーザーのアプリケーションがかなりの量のメモリを消費する場合は、ユーザーの環境に必要なコアあたりの追加メモリ量に応じて、D インスタンスタイプの 1 つを使用します。

最も効率的なファミリで最も費用対効果の高いインスタンスタイプは何ですか

ファミリー全体で幅広いテストを完了すると、1つのシリーズが明確なリーダーになることが期待されました。しかし、この結果により、追加のテストに最適な2つのインスタンス・ファミリーが標準HDDストレージでテストされた場合、DシリーズとFシリーズであることが納得しました。次のステップでは、D_v2ファミリとFS_v2ファミリ内で、2~16個のvCPUの範囲の特定のサイズをテストしました。これらのテストの結果:

FSおよびDシリーズのパフォーマンス

分析

パフォーマンスグラフには、D14_v2 インスタンスタイプ (16 コア、112 GB RAM) で取得された、タスクワーカーとナレッジワーカーのユーザーセッション密度がそれぞれ 74 と 63 のユーザーセッションが最も高いテストの結果が表示されます。インスタンスタイプによって料金が異なるため、密度が高くなるとユーザーあたりのコストが下がるとは限りません。

Azure インスタンスの料金モデルは、リージョン、インスタンスタイプ、提供されるリソースによって異なります。グラフには、単一サーバーテストで達成されたVDAユーザー密度に基づく各インスタンスタイプのコスト効率も含まれています。このコストには、2019 年 9 月時点での標準 VM インスタンスの米国西部 2 従量課金制を反映しており、Microsoft Windows ライセンス料が含まれています。

グラフに示されているように、D13_v2 インスタンスタイプはタスクワーカーでユーザー 1 時間あたりのコストが 0.018 USD と最も低く、F16s_v2 と F8s_v2 は 0.019 USD で 2 番目になっています。ナレッジワーカーに関しては、F16S_v2 インスタンスタイプと F8S_v2 インスタンスタイプの両方が 0.025 USD の最良の時間コストを共有し、続いて D13_v2 インスタンスタイプは 0.026 USD になります。

推奨事項

テストでは、密度の結果は、ナレッジワーカーの負荷が重い場合に、FS v2 シリーズインスタンスで使用できる高速プロセッサによる明確なメリットを示しました。ただし、FS v2 のメモリとコアの比率は D v2 シリーズの比率よりも低く、ワークロードのメモリ消費量が少ない場合にのみFS v2 シリーズのインスタンスを使用することをお勧めします。ユーザーがメモリを大量に消費するアプリケーションを実行する場合は、D_V2 シリーズが最適です。

F8S_v2 と F16S_v2 の場合など、ユーザーあたりのコストが類似する場合は、次のいずれかの条件が存在する場合は、小さいインスタンスサイズを選択します。

  • 耐障害性の必要性:メンテナンス期間中の影響を減少させるユーザー数を減らしたい
  • 効率的な電源管理の必要性:使用していないマシンの電源を迅速に切断したい

次のいずれかの条件が存在する場合は、大きいインスタンスサイズを選択します。

  • 管理の削減の必要性:環境内で管理するマシンの数を減らしたい
  • API 呼び出しの削減:操作に必要な Azure インフラストラクチャへの API 呼び出しが少なくて済みます

マシン作成サービスI/Oキャッシュにはどのような影響がありますか

テストに使用されたインスタンスタイプは、仮想マシン上のシステムドライブ用の高価な SSD ストレージではなく、標準ストレージで構成されていました。SSD ストレージを持つインスタンスタイプは、ディスクが高速であっても、ページファイルが格納されるエフェメラルディスクが小さいため、高い負荷下で必要な仮想メモリをサポートするのに十分なスワップファイル領域がインスタンスにないため、スケーラビリティは低下しました。

私たちが使用しているディスクサイズでは、HDDとSSDディスクは同様のIOPSパフォーマンス(500)を持っています。SSDディスクのパフォーマンスはより一貫していますが、追加コストは必ずしも正当化されるわけではありません。

そこで、大型の標準ディスクでSSDのようなパフォーマンスを実現する方法として、マシン作成サービスI/O(MCSIO)キャッシュを検討することにしました。テストは、D5_v2(16 vCPU、RAM 56 GB)インスタンスタイプで、Citrix VDAバージョン1903.1およびWindows Server 2016を使用して完了しました。このグラフは、ナレッジワーカーの負荷でMCSIOキャッシュを有効にすることでユーザー密度が向上したことを示しています。

MCSIOパフォーマンス

分析

オペレーティングシステムディスクで MCSIO キャッシュが有効になっていない場合、VSImax ユーザースコアは 128 GB HDD で 61、64 GB SSD ディスクで 74、128 GB SSD ディスクで 75 になります。標準のHDDディスクでMCSIOキャッシュを有効にすると、実際にはSSDよりも優れたパフォーマンスが得られ、64 GBのHDDで4 GBキャッシュを有効にするとスコアは76に増加し、2 GBキャッシュではスコアは77にわずかに増加しました。4 GB と 2 GB のキャッシュサイズの間の追加ユーザーの損失は、追加の RAM がキャッシュに使用され、ユーザーのワークロードで使用できないことが原因です。

MCSIO は、1 時間あたりのユーザーあたりのコストの削減に貢献しますが、その数はそれ自体では重要ではありません。MCSIOの実際の影響は、エンドユーザーエクスペリエンスを見ればわかります。
グラフは、MCSIOを使用した場合の平均応答時間の低下を示しています:

MCSIO ログイン応答

推奨事項

パフォーマンスを考慮する際にユーザーエクスペリエンスが駆動要因である場合は、MCSIO キャッシュを有効にすることをお勧めします。有効にすると、2 GB キャッシュを備えた標準ディスクの使用が推奨されます。これは、ユーザー密度に影響を与えずに最適な改善が得られるためです。ただし、コンピュート用に最適化されているがメモリ対CPUコアの比率が低い F シリーズや FS シリーズのインスタンスタイプなど、メモリに制約のある仮想マシンでは MCSIO キャッシュを有効にしないでください。

Windows 10 マルチセッションスケーラビリティは、Windows Server OS と比較してどうですか?

Windows Server 2019 と Windows 10 マルチセッションオペレーティングシステムの両方のリリースにより、クライアントオペレーティングシステムがスケーラビリティに与える影響について、いくつかのガイダンスを提供することが最善であると考えました。Windows Server 2019 と Windows 10 マルチセッションオペレーティングシステムの両方には、新しいCitrix VDAバージョン1906.1が必要です。Windows 10 マルチセッションは Azure Virtual Desktops (AVD) エンタイトルメントで利用でき、テナントに仮想マシンの基本価格 (Linux 価格) を付与します。このエンタイトルメントにより、VM の価格が Windows Server 2016 および Windows Server 2019 にも拡張されます。

このグラフは、同じD4_v2(8 vCPU、28 GBのRAM)インスタンス上でCitrix VDAバージョン1906.1を使用してWindows Server 2016で同じテストを実行した場合と比較した場合の密度の変化を示しています。料金は、必要な AVD エンタイトルメントに合わせた Linux VM 価格を使用しています:

オペレーティングシステムのパフォーマンス

分析

Windows Server 2016 の結果と比較すると、Windows Server 2019 では、ナレッジワーカーとタスクワーカーの両方のユーザー密度がわずかに低くなり、タスクワーカーは 7% 減少し、ナレッジワーカーは 12% 減少しました。

Windows Server 2019 と Windows 10 のマルチセッションワークロードを比較すると、タスクワーカーが 19% 少なくなり、ナレッジワーカーが 32% 減少しました。Windows 10 は完全なクライアントバージョンであり、Windows Server 2016 や Windows Server 2019 のようなサーバーベースのコンピューティングには最適化されていないため、このパフォーマンスの低下が期待されます。

Windows 10 マルチセッションを使用する場合のコスト上の利点の 1 つは、クライアントが仮想マシンに接続するために RDS CAL ライセンスを必要としないことです。このコスト上のメリットは、Azure の 1 時間あたりのコストに加えて Microsoft のライセンスコストが発生するため、計算には含まれていません。

推奨事項

Windows Server 2016 から Windows Server 2019 へのアップグレードを計画する場合、仮想マシンの数を約 10% 増やすことが予想されます。Windows クライアントとの互換性を必要とするアプリケーションをホストするために Windows 10 マルチセッションを使用することを計画している場合は、密度が低くなり、サーバーオペレーティングシステムに比べて約 30% の追加コストがかかります。しかし、Windows 10マルチセッションでは、 ユーザーはWindowsストアにアクセスすることができます。これは、サーバーオペレーティングシステムでは利用できないものです。

結論

Citrix 仮想アプリケーションワークロードを展開するために選択した Azure インスタンスタイプは、ユーザー密度とスケーラビリティ、および Azure 配信モデルのユーザーあたりのコストを決定する重要な要素です。
図に示すように、Azure のインスタンスタイプには、高い計算要件や余分なメモリなど、特定のワークロードに対する利点があります。
通常、標準 HDD ディスクと 2 GB の MCSIO キャッシュが有効な D13_v2 インスタンスは、最小限のコストで最高のユーザーパフォーマンスを提供します。Windows ストア、アプリケーションの互換性、または真の Windows クライアントエクスペリエンスが必要な場合は、Windows 10 マルチセッションオペレーティングシステムを検討してください。

ここで示した Citrix on Azure の結果は、Azure ソリューションを構成する際のガイドラインのみを示しています。特定のユーザーワークロードに関するデータがない場合は、ここで指定した数値が設計の見積もりとなります。最終的なサイジングとデプロイを決定する前に、独自のワークロードを使用してさまざまな Azure インスタンスタイプで概念実証テストを実行し、そのデータを最終設計に使用することを強くお勧めします。

詳細情報

Microsoft AzureクラウドサービスへのCitrix Virtual Apps ワークロードの展開について詳しくは、Citrix とMicrosoft のパートナーWebサイト( https://www.citrix.com/global-partners/microsoft/resources.html)を参照してください。

設計上の決定:Azure で Citrix DaaS を提供することのスケーラビリティと経済性