リモート デスクトップでグラフィックスのパフォーマンスの問題を診断する
リモート セッションでのエクスペリエンス品質の問題を診断するために、パフォーマンス モニターの RemoteFX グラフィックスのセクションにカウンターが用意されています。 この記事は、これらのカウンターを使用して、リモート デスクトップ プロトコル (RDP) セッション中のグラフィックス関連のパフォーマンス ボトルネックを特定して解決するために役立ちます。
リモート セッション名を確認する
グラフィックスのパフォーマンス カウンターを特定するにはリモート セッション名が必要です。 各カウンターのインスタンスを識別するには、このセクション手順に従います。
- リモート セッションから Windows のコマンド プロンプトを開きます。
- qwinsta コマンドを実行し、セッション名を見つけます。
- マルチセッション仮想マシン (VM) でセッションがホストされている場合: 各カウンターのインスタンスには、"rdp-tcp 37" のように、セッション名のサフィックスと同じ番号のサフィックスが付きます。
- 仮想グラフィック処理装置 (vGPU) をサポートする VM でセッションがホストされている場合: 各カウンターのインスタンスは、VM ではなくサーバーに格納されます。 カウンター インスタンスには、セッション名の中の番号ではなく VM 名が含まれます ("Win8 Enterprise VM" など)。
Note
カウンターの名前には RemoteFX がありますが、vGPU のシナリオにはリモート デスクトップ グラフィックスも含まれます。
パフォーマンス カウンターへのアクセス
リモート セッション名を決定したら、次の手順に従ってリモート セッションの RemoteFX Gグラフィックス パフォーマンス カウンターを収集します。
- [スタート]>[管理ツール]>[パフォーマンス モニター] を選択します。
- [パフォーマンス モニター] ダイアログ ボックスで [監視ツール] を展開し、[パフォーマンス モニター] を選択してから [追加] を選択します。
- [カウンターの追加] ダイアログ ボックスで、[使用可能なカウンター] 一覧から、RemoteFX グラフィックスのセクションを展開します。
- 監視するカウンターを選択します。
- [選択したオブジェクトのインスタンス] 一覧で、選択されているカウンターについて監視する特定のインスタンスを選択してから、[追加] を選択します。 使用できるすべてのカウンター インスタンスを選択するには、[すべてのインスタンス] を選択します。
- カウンターを追加したら、[OK] を選択します。
選択したパフォーマンス カウンターが [パフォーマンス モニター] 画面に表示されます。
Note
ホスト上の各アクティブ セッションには、各パフォーマンス カウンターの独自のインスタンスがあります。
問題の診断
グラフィックス関連のパフォーマンスの問題は、通常 4 つのカテゴリに分類されます。
- 低フレーム レート
- ランダムな失速
- 長い入力の待機時間
- 低フレーム品質
低フレーム レート、ランダムな失速、および長い入力の待機時間への対処
まず [Output Frames/Second]\(出力フレーム/秒\) カウンターを確認します。 これによって、クライアントから使用できたフレーム数が測定されます。 この値が [Input Frames/Second]\(入力フレーム/秒\) カウンターよりも小さい場合、フレームはスキップされています。 ボトルネックを特定するには、[Frames Skipped/Second]\(スキップされたフレーム/秒\) カウンターを使用します。
[Frames Skipped/Second]\(スキップされたフレーム/秒\) カウンターには次の 3 つの種類があります。
- Frames Skipped/Second (Insufficient Server Resources) (スキップされたフレーム/秒 (サーバー リソース不足))
- Frames Skipped/Second (Insufficient Network Resources) (スキップされたフレーム/秒 (ネットワーク リソース不足))
- Frames Skipped/Second (Insufficient Client Resources) (スキップされたフレーム/秒 (クライアント リソース不足))
いずれかの [Frames Skipped/Second]\(スキップされたフレーム/秒\) カウンターが高い値の場合、カウンターが追跡するリソースに関連する問題であることを意味します。 たとえば、サーバーがフレームを提供するレートと同じレートでクライアントがフレームをデコードおよび表示していない場合、[Frames Skipped/Second (Insufficient Client Resources)]\(スキップされたフレーム/秒 (クライアント リソース不足)\) カウンターが高くなります。
[Output Frames/Second] (出力フレーム/秒) カウンターが [Input Frames/Second] (入力フレーム/秒) カウンターに一致していても、引き続き通常とは異なる遅延または失速が発生する場合は、[Average Encoding Time] (平均エンコード時間) が原因である可能性があります。 エンコードは、シングルセッション (vGPU) シナリオではサーバー上で、マルチセッション シナリオでは VM 上で発生する同期プロセスです。 [Average Encoding Time]\(平均エンコード時間\) は 33 ミリ秒未満になるようにします。 [Average Encoding Time]\(平均エンコード時間\) が 33 ミリ秒未満でも、パフォーマンスの問題がある場合は、使用しているアプリまたはオペレーティング システムに問題がある可能性があります。
アプリ関連の問題の診断の詳細については、[User Input Delay]\(ユーザー入力の遅延\) パフォーマンス カウンターに関する記事を参照してください。
RDP は 33 ミリ秒の [Average Encoding Time]\(平均エンコード時間\) をサポートしているので、最大 30 フレーム/秒の入力フレーム レートをサポートします。 33 ミリ秒がサポートされる最大フレーム レートであることに注意してください。 多くの場合、ソースから RDP にフレームが提供される頻度に応じて、ユーザーが経験するフレーム レートは低くなります。 たとえば、ビデオの視聴などのタスクには 30 フレーム/秒の完全な入力フレーム レートが必要ですが、低い頻度でのドキュメントの編集などの計算負荷の低いタスクでは、[Input Frames/Second]\(入力フレーム/秒\) の値がはるかに低くてもユーザーのエクスペリエンス品質は低下しません。
低フレーム品質への対処
フレーム品質の問題を診断するには、[Frame Quality]\(フレーム品質\) カウンターを使用します。 このカウンターは、ソース フレームの品質に対する出力フレームの品質をパーセンテージで表します。 品質の低下は、RemoteFX が原因か、グラフィックス ソースに固有のものである可能性があります。 RemoteFX が品質の低下の原因である場合、問題は、より忠実度の高いコンテンツを送信できるネットワークまたはサーバー リソースの不足である可能性があります。
対応策
サーバー リソースがボトルネックの原因である場合は、パフォーマンスを向上させるために次のアプローチのいずれかを試してください。
- ホストあたりのセッション数を減らします。
- サーバー上のメモリとコンピューティング リソースを増やします。
- 接続の解像度を下げます。
ネットワーク リソースがボトルネックの原因である場合は、セッションごとのネットワーク可用性を向上させるために次のアプローチのいずれかを試してください。
- ホストあたりのセッション数を減らします。
- より広い帯域幅のネットワークを使用します。
- 接続の解像度を下げます。
クライアント リソースがボトルネックの原因である場合は、パフォーマンスを向上させるために次のアプローチのいずれかを試してください。
- 最新のリモート デスクトップ クライアントをインストールします。
- クライアント マシン上のメモリとコンピューティング リソースを増やします。
Note
現在、[Source Frames/Second]\(ソース フレーム/秒\) カウンターはサポートされていません。 現在のところ、[Source Frames/Second] (ソース フレーム/秒) カウンターには常に 0 が表示されます。
次のステップ
- GPU 最適化された Azure 仮想マシンを作成するには、「Azure Virtual Desktop に対する GPU アクセラレーションの有効化」を参照してください。
- トラブルシューティングとエスカレーション トラックの概要については、「トラブルシューティングの概要、フィードバック、サポート」を参照してください。
- サービスの詳細については、Windows Desktop の環境に関する記事を参照してください。