スケーラビリティに関する考慮事項
セッションレコーディングは、数千から数万のセッションを処理できる、高いスケーラビリティを持つシステムです。セッションレコーディングのインストールと実行には、Citrix Virtual Apps and Desktops™ または Citrix DaaS (旧称 Citrix Virtual Apps and Desktops service) の実行に必要なもの以外に、追加のリソースはほとんど必要ありません。ただし、多くのセッションを記録する予定がある場合、または記録する予定のセッションが大きなセッションファイル(グラフィックを多用するアプリケーションなど)になる可能性がある場合は、システムのパフォーマンスを考慮することをお勧めします。
この記事では、セッションレコーディングが高いスケーラビリティをどのように実現するか、そして最小限のコストでレコーディングシステムを最大限に活用する方法について説明します。
セッションレコーディングのスケーラビリティが高い理由
セッションレコーディングのスケーラビリティが競合製品と比較して高い主な理由は2つあります。
-
小さいファイルサイズ
セッションレコーディングで作成された記録済みセッションファイルは、非常にコンパクトです。画面スクレイピングを行うソリューションで作成された同等のビデオ録画よりも、何桁も小さくなります。記録済みセッションファイルの転送/保存に必要なネットワーク帯域幅、ディスク容量、およびディスクIOPSは、通常、同等のビデオファイルの少なくとも10分の1です。
記録済みセッションファイルのサイズが小さいということは、ビデオフレームのレンダリングがより速く、よりスムーズになることを意味します。記録はロスレスであり、ほとんどのコンパクトなビデオ形式で一般的なピクセル化もありません。記録内のテキストは、元のセッションと同様に、再生中に読みやすくなっています。ファイルサイズを小さく保つため、セッションレコーディングはファイル内にキーフレームを記録しません。セッションレコーディングは、ビデオが実行されているセッションを記録する際にH.264パッケージをドロップできるため、記録ファイルのサイズを削減できます。この機能は、圧縮記録機能とは互換性がありません。この機能を使用するには、セッションレコーディングエージェントで
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\SmartAuditor\Agent\DropH264Enabledを1に設定し、Use video codec for compressionの値をFor actively changing regionsに設定します。
-
ファイル生成に必要な処理が少ない
記録済みセッションファイルには、ほぼネイティブ形式で抽出されたセッションのICA®プロトコルデータが含まれています。このファイルは、Citrix Workspace™アプリとの通信に使用されるICAプロトコルデータストリームをキャプチャします。リアルタイムでデータの形式を変更するために、高価なトランスコーディングまたはエンコーディングソフトウェアコンポーネントを実行する必要はありません。処理量が少ないことは、VDAのスケーラビリティにとっても重要です。これにより、同じVDAから多数のセッションが記録される場合でも、エンドユーザーエクスペリエンスが維持されます。
さらに、再生可能なICA仮想チャネルのみが記録され、これによりさらなる最適化が図られます。たとえば、プリンターチャネルとクライアントドライブマッピングチャネルは記録されません。これらのチャネルは、ビデオ再生に何のメリットもなく大量のデータを生成する可能性があります。
データ入力および処理レートの見積もり
セッションレコーディングサーバーは、記録済みセッションファイルの中央収集ポイントです。セッションレコーディングが有効になっているマルチセッションOS VDAを実行している各マシンは、記録済みセッションデータをセッションレコーディングサーバーに送信します。セッションレコーディングは大量のデータを処理でき、バーストや障害にも耐えることができます。しかし、1つのサーバーが処理できるデータ量には物理的な制限があります。
各セッションレコーディングサーバーに送信するデータ量を考慮してください。サーバーがデータを処理および保存できる速度を見積もってください。システムが受信データを保存できる速度は、データ入力レートよりも高くなければなりません。
データ入力レートを推定するには、次の計算を実行します。
- 記録されたセッション数に平均セッションサイズを掛けます。
- その積を、セッションを記録している時間で割ります。
たとえば、8時間の勤務時間中に、それぞれ20 MBのMicrosoft Outlookセッションを5,000回記録する場合があります。この場合、データ入力レートは約28 Mbpsです(5,000セッションに20 MBを掛け、8時間で割り、1時間あたり3,600秒で割り、Mbpsに変換するために8を掛けます)。記録されたデータを保存するのに十分なディスク容量を持つ100 Mbps LANに接続された一般的なSession Recordingサーバーは、約5.0 Mbpsでデータを処理できます。このレートは、ディスクおよびネットワークIOPSによって課される物理的な制限に基づく処理レートです。この例では、処理レート(5.0 Mbps)が入力レート(28 Mbps)よりも低いため、5,000のOutlookセッションを記録することは不可能です。
セッションあたりのデータ量は、記録される内容によって大きく異なります。画面解像度、色深度、グラフィックモードなどの他の要因も影響します。CADが実行されているセッションは、ユーザーがOutlookでメールを送受信するセッションよりもはるかに大きな記録を生成する可能性があります。したがって、同数のCADセッションを記録すると、高い入力レートが生成され、より多くのSession Recordingサーバーを使用する必要がある場合があります。
バーストと障害
前の例では、データの単純な均一スループットを想定していますが、バーストとして知られる短期間のより高いアクティビティにシステムがどのように対処するかは説明していません。バーストは、朝にすべてのユーザーが同時にログオンするとき(9時のラッシュとして知られています)に発生する可能性があります。また、Outlookの受信トレイで同じメールを一度に受信したときにも発生する可能性があります。Session Recordingサーバーの5.0 Mbpsの処理レートは、この突然の需要に対処するには非常に不十分です。
各VDAで実行されているSession Recordingエージェントは、Microsoft Message Queuing (MSMQ) を使用して、記録されたデータを中央のSession Recordingサーバーで実行されているStorage Managerに送信します。データは、送信者、メールサーバー、受信者の間でメールが配信されるのと同様に、ストアアンドフォワード方式で送信されます。Session Recordingサーバーまたはネットワークがバースト時の高いデータレートを処理できない場合、記録されたデータは一時的に保存されます。ネットワークが混雑している場合、データメッセージはVDAの送信キューに一時的に保存されることがあります。もう1つのケースは、データがネットワークを通過したが、Storage Managerが他のメッセージの処理でビジーである場合です。この場合、データメッセージはSession Recordingサーバーの受信キューに保存されます。
MSMQはフォールトトレランスメカニズムとしても機能します。Session Recordingサーバーがダウンしたり、リンクが切断されたりした場合、記録されたデータは各VDAの送信キューに残ります。障害が修正されると、キューに入れられたすべてのデータがまとめて送信されます。MSMQを使用すると、セッション記録を中断したりデータを失ったりすることなく、アップグレードやメンテナンスのためにサーバーをオフラインにすることもできます。
MSMQの主な制限は、データメッセージの一時保存用のディスク容量が有限であることです。この制限により、データが最終的に失われるまでにバースト、障害、またはメンテナンスイベントがどれくらいの期間続くことができるかが制限されます。データ損失後もシステム全体は継続できますが、この状況では、個々の記録にデータの一部が欠落しています。データが欠落しているファイルは再生可能ですが、データが最初に失われた時点までしか再生できません。以下に注意してください。
-
各サーバー、特にSession Recordingサーバーにディスク容量を追加し、それをMSMQで利用できるようにすることで、バーストや障害に対する耐性を高めることができます。
-
各Session Recordingエージェントのメッセージライフ設定を適切なレベルに構成することが重要です(Session Recordingエージェントのプロパティの接続タブ)。デフォルト値は7,200秒(2時間)です。これは、各記録されたデータメッセージがStorage Managerに到達するまでに2時間の猶予があり、それを過ぎるとStorage Managerがメッセージを破棄し、記録ファイルを破損することを意味します。より多くのディスク容量が利用できる場合(または記録するセッションが少ない場合)、この値を増やすことができます。最大値は365日です。
MSMQのもう1つの制限は、データがバックログされると、データメッセージの読み書きのためにキューで追加のディスクIOPSが発生することです。通常、Storage Managerは、データメッセージがディスクに書き込まれることなく、ネットワークから直接データを受信して処理します。データを保存するには、記録されたセッションファイルに追加する単一のディスク書き込み操作が必要です。データがバックログされると、ディスクIOPSは3倍になります。各メッセージはディスクに書き込まれ、ディスクから読み取られ、ファイルに書き込まれる必要があります。Storage ManagerはIOPSに大きく依存しているため、メッセージのバックログが解消されるまでSession Recordingサーバーの処理レートが低下します。この追加のIOPSの影響を軽減するには、次の推奨事項を採用してください。
-
MSMQがメッセージを保存するディスクが、記録ファイルストレージフォルダーとは異なることを確認してください。IOPSバストラフィックが3倍になったとしても、実際の処理レートの低下はそれほど深刻ではありません。
-
停止はオフピーク時のみに計画してください。予算の制約に応じて、高可用性サーバーを構築するための認識されたアプローチに従ってください。このアプローチには、無停電電源装置(UPS)、デュアルNIC、冗長スイッチ、ホットスワップ可能なメモリとディスクの使用が含まれます。
予備容量を考慮した設計
記録されたセッションデータのデータレートは均一である可能性が低く、バーストや障害が発生する可能性があり、メッセージバックログのクリアはIOPSにおいてコストがかかります。このため、各Session Recordingサーバーは十分な予備容量を持つように設計してください。後のセクションで説明するように、サーバーを追加したり、既存のサーバーの仕様を改善したりすることで、常に容量を増やすことができます。一般的な経験則として、各Session Recordingサーバーは総容量の最大50%で稼働させるべきです。前の例では、サーバーが5.0 Mbpsを処理できる場合、システムは2.5 Mbpsのみで稼働するように目標を設定します。
バックログとライブ再生
ライブ再生とは、レビュー担当者がセッションがまだアクティブな間に再生のためにセッション記録を開くことです。ライブ再生中、担当のSession Recordingエージェントはそのセッションのストリーミングモードに切り替わります。記録データは内部バッファリングなしでStorage Managerに即座に送信されます。記録ファイルは常に更新されるため、プレーヤーはライブセッションからの最新データを継続的に受け取ることができます。ただし、エージェントからStorage Managerに送信されるデータはMSMQを介しているため、以前に説明したキューイングルールが適用されます。このシナリオでは問題が発生する可能性があります。MSMQがバックログ状態になると、ライブ再生で利用可能な新しい記録データは、他のすべてのデータメッセージと同様にキューに入れられます。レビュー担当者は引き続きファイルを再生できますが、最新のライブ記録データの表示は遅延します。ライブ再生がレビュー担当者にとって重要な機能である場合、バックログの発生確率を低く抑えるようにしてください。展開に予備容量とフォールトトレランスを設計できます。
システムのスケーラビリティ
Session Recordingは、セッションパフォーマンスを低下させたり、記録データのバックログに応じてセッションを停止させたりすることはありません。エンドユーザーエクスペリエンスとシングルサーバーのスケーラビリティを維持することは、Session Recordingシステムの設計において最も重要です。記録システムが回復不能なほど過負荷になった場合、記録されたセッションデータは破棄されます。ICAセッションの記録は、VDAsのパフォーマンスとスケーラビリティに与える影響が小さいです。影響の大きさは、プラットフォーム、利用可能なメモリ、および記録されるセッションのグラフィックの性質によって異なります。以下の構成では、シングルサーバーのスケーラビリティへの影響は1%から5%の間と予想されます。言い換えれば、Session Recordingがインストールされていない状態でサーバーが100ユーザーをホストできる場合、インストール後は95~99ユーザーをホストできます。
- マルチセッションOS VDAを実行する8 GB RAM搭載の64ビットサーバー
- OutlookやExcelなどのOffice生産性アプリケーションを実行するすべてのセッション
- アプリケーションの使用がアクティブかつ継続的であること
- すべてのセッションがSession Recordingポリシーによって構成されたとおりに記録されること
記録されるセッションが少ない場合や、セッションアクティビティが継続的ではなく散発的である場合、影響は少なくなります。多くの場合、スケーラビリティへの影響はごくわずかで、サーバーあたりのユーザー密度は変わりません。前述のとおり、影響が小さいのは、各VDA上のSession Recordingコンポーネントの処理要件が単純であるためです。記録データはICAセッションスタックから抽出され、MSMQを介してSession Recordingサーバーにそのまま送信されます。データの高価なエンコーディングは行われません。
セッションが記録されていない場合でも、Session Recordingを使用することにはわずかなオーバーヘッドがあります。特定のサーバーからセッションを記録しない場合は、そのサーバーで記録を無効にできます。Session Recordingを削除するのも一つの方法です。より侵襲性の低いアプローチは、Session Recording Agent PropertiesのSession RecordingタブにあるこのVDAマシンでセッション記録を有効にするチェックボックスをオフにすることです。将来的にセッション記録が必要になった場合は、このチェックボックスを再度選択してください。
スループットの測定
送信元のVDAから受信側のSession Recordingサーバーへの記録されたセッションデータのスループットを測定できます。シンプルで効果的なアプローチは、記録ファイルのサイズと、Session Recordingサーバー上のディスクスペースが消費される速度を監視することです。ディスクに書き込まれるデータ量は、生成されるネットワークトラフィック量と密接に相関しています。Windowsパフォーマンスモニターツール (perfmon.exe) には、Session Recordingによって提供されるいくつかのカウンターに加えて、監視できる標準システムカウンターがあります。カウンターは、スループットの測定、ボトルネックとシステム問題の特定に使用できます。次の表は、最も有用なパフォーマンスカウンターの一部を示しています。
| パフォーマンスオブジェクト | カウンター名 | 説明 |
|---|---|---|
| Citrix Session Recording Agent | Active Recording Count |
特定のVDAで現在記録されているセッションの数。 |
| Citrix Session Recording Agent | Bytes read from the Session Recording Driver |
セッションデータの取得を担当するカーネルコンポーネントから読み取られたバイト数。単一のVDAがそのサーバーで記録されたすべてのセッションに対して生成するデータ量を判断するのに役立ちます。 |
| Citrix Session Recording Storage Manager | Active Recording Count |
Session Recordingサーバーを除き、Citrix Session Recordingエージェントカウンターに類似しています。すべてのサーバーで現在記録されているセッションの総数を示します。 |
| Citrix Session Recording Storage Manager | Message bytes/sec |
記録されたすべてのセッションのスループット。Storage Managerがデータを処理する速度を判断するために使用できます。MSMQがメッセージでバックログ状態の場合、Storage Managerはフルスピードで実行されます。この値は、Storage Managerの最大処理速度を示すために使用できます。 |
| LogicalDisk | Disk Write Bytes/sec |
ディスクのライトスループットパフォーマンスを測定するために使用できます。これはSession Recordingサーバーの高いスケーラビリティを達成するために重要です。個々のドライブのパフォーマンスも監視できます。 |
| MSMQ Queue | Bytes in Queue |
CitrixSmAudDataメッセージキューにバックログされているデータ量を判断するために使用できます。この値が時間とともに増加する場合、ネットワークから受信される記録データの速度は、Storage Managerがデータを処理できる速度よりも大きくなります。このカウンターは、データバーストや障害の影響を監視するのに役立ちます。 |
| MSMQ Queue | Message in Queue |
キュー内のバイト数カウンターに似ていますが、メッセージ数を測定します。 |
| Network Interface | Bytes Total/sec |
セッションが記録されるときに生成されるデータ量を観察するために、リンクの両側で測定できます。Session Recordingサーバーで測定した場合、このカウンターは受信データレートを示します。これは、データの処理速度を測定するCitrix Session Recording Storage Manager Message bytes/secカウンターとは対照的です。ネットワークレートがこの値よりも大きい場合、メッセージはメッセージキューに蓄積されます。 |
| Processor | % Processor Time |
CPUがボトルネックになる可能性は低いですが、監視する価値はあります。 |
セッション録画サーバーのハードウェア
セッション録画サーバーのハードウェアを慎重に選択することで、展開の容量を増やすことができます。選択肢は2つあります。スケールアップ(各サーバーの容量を増やすことによって)とスケールアウト(サーバーを追加することによって)です。どちらの選択肢を選んだ場合でも、目標は最小限のコストでスケーラビリティを向上させることです。
スケールアップ
単一のセッション録画サーバーを検討する際は、利用可能な予算で最適なパフォーマンスを確保するために、次のベストプラクティスを考慮してください。システムは、ネットワークからディスクへの録画データの高スループットを確保できるIOPSに依存します。そのため、適切なネットワークおよびディスクハードウェアに投資することが重要です。高パフォーマンスのセッション録画サーバーの場合、デュアルCPUまたはデュアルコアCPUが推奨されますが、それ以上の仕様にしてもほとんどメリットはありません。64ビットプロセッサアーキテクチャが推奨されますが、x86プロセッサタイプも適しています。4 GBのRAMが推奨されますが、これもまた、それ以上追加してもほとんどメリットはありません。
スケールアウト
最適なスケールアッププラクティスを用いても、多数のセッションを録画する場合、単一のセッション録画サーバーで達成できるパフォーマンスとスケーラビリティには限界があります。負荷に対応するために、追加のサーバーが必要になる場合があります。複数のセッション録画サーバーを異なるマシンにインストールして、セッション録画サーバーが負荷分散プールとして機能するようにできます。この種の展開では、セッション録画サーバーはストレージとデータベースを共有します。負荷を分散するには、ワークロード分散を担当するロードバランサーにセッション録画エージェントを向けます。
ネットワーク容量
100 Mbpsのネットワークリンクは、セッション録画サーバーの接続に適しています。ギガビットイーサネット接続はパフォーマンスを向上させる可能性がありますが、100 Mbpsリンクの10倍のパフォーマンスが得られるわけではありません。実際には、スループットの向上はそれほど大きくありません。
セッション録画で使用されるネットワークスイッチが、利用可能なネットワーク帯域幅を競合する可能性のあるサードパーティアプリケーションと共有されないようにしてください。理想的には、ネットワークスイッチはセッション録画サーバー専用に使用されます。ネットワークの輻輳がボトルネックであることが判明した場合、ネットワークのアップグレードは、システムの拡張性を高めるための比較的安価な方法です。
ストレージ
ディスクおよびストレージハードウェアへの投資は、サーバーのスケーラビリティにおいて最も重要な単一の要素です。データがディスクに書き込まれる速度が速いほど、システム全体のパフォーマンスは高くなります。ストレージソリューションを選択する際は、読み取りパフォーマンスよりも書き込みパフォーマンスに注意してください。
データをRAIDまたはSANに保存します。
注:
SMBやNFSなどのファイルベースプロトコルに基づくNASにデータを保存することは、パフォーマンスとセキュリティに影響を与える可能性があります。セキュリティ上の影響を避けるために、使用するプロトコルの最新バージョンを使用し、適切なパフォーマンスを確保するためにスケールテストを実行してください。
ローカルドライブのセットアップの場合、内蔵キャッシュメモリを備えたディスクコントローラーを目指してください。キャッシュにより、コントローラーはライトバック中にエレベーターソートを使用できます。これにより、ディスクヘッドの移動が最小限に抑えられ、物理ディスク操作の完了を待たずに書き込み操作が完了することが保証されます。これにより、最小限の追加コストで書き込みパフォーマンスを大幅に向上させることができます。ただし、キャッシュは停電後のデータ損失の問題を引き起こします。データとファイルシステムの整合性を確保するため、キャッシュディスクコントローラー用のバッテリーバックアップ設備を検討してください。
適切なRAIDストレージソリューションの使用を検討してください。パフォーマンスと冗長性の要件に応じて、多くのRAIDレベルが利用可能です。次の表は、各RAIDレベルと、各標準がセッション録画にどの程度適用できるかを示しています。
| RAIDレベル | タイプ | 最小ディスク数 | 説明 |
|---|---|---|---|
| RAID 0 | パリティなしのストライプセット | 2 | 高いパフォーマンスを提供しますが、冗長性はありません。いずれかのディスクが失われると、アレイが破壊されます。RAID 0は、データ損失の影響が少ない録画セッションファイルを保存するための低コストソリューションです。ディスクを追加することでパフォーマンスを簡単にスケールアップできます。 |
| RAID 1 | パリティなしのミラーセット | 2 | 1つのディスクと比較してパフォーマンスの向上はなく、比較的高価なソリューションです。このソリューションは、高いレベルの冗長性が必要な場合にのみ使用してください。 |
| RAID 3 | 専用パリティ付きストライプセット | 3 | RAID 5と同様の冗長性特性を持つ高い書き込みパフォーマンスを提供します。RAID 3は、ビデオ制作およびライブストリーミングアプリケーションに推奨されます。セッション録画はこの種のアプリケーションであるため、RAID 3が最も強く推奨されますが、一般的ではありません。 |
| RAID 5 | 分散パリティ付きストライプセット | 3 | 冗長性のある高い読み取りパフォーマンスを提供しますが、書き込みパフォーマンスが遅くなるというコストがかかります。RAID 5は汎用用途で最も一般的です。しかし、書き込みパフォーマンスが遅いため、セッション録画にはRAID 5は推奨されません。RAID 3は同様のコストで、より優れた書き込みパフォーマンスで展開できます。 |
| RAID 10 | ミラーセットとストライプセット | 4 | RAID 0のパフォーマンス特性とRAID 1の冗長性メリットを提供します。セッション録画には推奨されない高価なソリューションです。 |
RAID 0とRAID 3が最も推奨されるRAIDレベルです。RAID 1とRAID 5は一般的な標準ですが、セッション録画には推奨されません。RAID 10はいくつかのパフォーマンス上の利点を提供しますが、追加の利得に対しては高価すぎます。
ディスクドライブの種類と仕様を決定します。IDE/ATAドライブ、外部USBドライブ、またはFirewireドライブは、セッション録画での使用には適していません。主な選択肢はSATAとSCSIです。SATAドライブは、SCSIドライブと比較して、MBあたりのコストを抑えつつ、かなり高い転送速度を提供します。ただし、SCSIドライブはより優れたパフォーマンスを提供し、サーバー展開でより一般的です。サーバーRAIDソリューションはほとんどがSCSIドライブをサポートしていますが、一部のSATA RAID製品も現在利用可能です。ディスクドライブ製品の仕様を評価する際には、ディスクの回転速度やその他のパフォーマンス特性を考慮してください。
1日に数千のセッションを録画すると、大量のディスク容量を消費する可能性があるため、全体的な容量とパフォーマンスのどちらかを選択する必要があります。以前の例では、8時間の勤務時間中に5,000のOutlookセッションを録画すると、約100 GBのストレージ容量を消費します。10日分の録画(つまり、50,000の録画セッションファイル)を保存するには、1,000 GB(1 TB)が必要です。このディスク容量への圧迫は、古い録画をアーカイブまたは削除する前に保持期間を短縮することで軽減できます。1 TBのディスク容量が利用可能な場合、7日間の保持期間は妥当であり、ディスク容量の使用量を約700 GBに保ち、忙しい日のためのバッファとして300 GBを残します。セッション録画では、ICLDBユーティリティを使用してファイルのアーカイブと削除がサポートされています。最小保持期間は2日間です。1日に1回、オフピーク時にバックグラウンドタスクを実行するようにスケジュールできます。ICLDBコマンドとアーカイブの詳細については、「データベースレコードの管理」を参照してください。
ローカルドライブとコントローラーを使用する代わりに、ブロックレベルのディスクアクセスに基づくSANストレージソリューションを使用する方法があります。セッション録画サーバーにとって、ディスクアレイはローカルドライブとして表示されます。SANはセットアップに費用がかかりますが、ディスクアレイが共有されるため、管理が簡素化され、一元化されるという利点があります。SANには主に2つのタイプがあります。Fibre ChannelとiSCSIです。iSCSIは本質的にTCP/IP上のSCSIであり、Gbイーサネットの導入以来、Fibre Channelよりも人気を集めています。
データベースのスケーラビリティ
セッション録画データベースに送信されるデータ量は少量です。これは、データベースが録画されたセッションに関するメタデータのみを保存するためです。録画されたセッションのファイル自体は、別のディスクに書き込まれます。通常、各録画セッションは、セッションに検索可能なイベントを挿入するためにSession Recording Event APIが使用されない限り、データベース内で約1 KBのスペースしか必要としません。
Microsoft SQL Server 2019、Microsoft SQL Server 2017、Microsoft SQL Server 2016、Microsoft SQL Server 2014、Microsoft SQL Server 2012、およびMicrosoft SQL Server 2008 R2のExpress Editionでは、データベースサイズが10 GBに制限されています。録画セッションあたり1 KBの場合、データベースは約4,000,000セッションをカタログ化できます。Microsoft SQL Serverの他のエディションにはデータベースサイズの制限はなく、利用可能なディスク容量によってのみ制限されます。データベース内のセッション数が増加しても、データベースのパフォーマンスと検索速度の低下はごくわずかです。
Session Recording Event APIを介してカスタマイズを行わない場合、各録画セッションは4つのデータベーストランザクションを生成します。録画開始時に2つ、ユーザーが録画中のセッションにログオンしたときに1つ、録画終了時に1つです。Session Recording Event APIを使用してセッションをカスタマイズする場合、記録された検索可能なイベントごとに1つのトランザクションが生成されます。最も基本的なデータベース展開でも毎秒数百のトランザクションを処理できるため、データベースへの処理負荷はほとんどかかりません。その影響は非常に軽微であるため、Session Recordingデータベースは、Citrix Virtual Apps and Desktopsデータストアデータベースを含む他のデータベースと同じSQL Server上で実行できます。
セッション録画の展開で数百万もの録画セッションをデータベースにカタログ化する必要がある場合は、SQL Serverのスケーラビリティに関するMicrosoftのガイドラインに従ってください。