terminal Server Editionでは、通常のアプリケーションをそのまま動作させることが出来ますが、よりよい性能を実現するためには、アプリケーションで以下のような配慮をするとこが望ましくなっています。
当たり前といえば当たり前ですが、以下のようなリソースを占有しないようにアプリケーションプログラムは開発するべきです。CPU
ディスクアクセス
メモリ
ネットワーク
サーバー・ハードウェア
NTオブジェクト、NTリソースへのアクセス
レジストリHoldを正しく使用する
すべてのユーザーが共通に使用することになるレジストリのHKEY_LOCAL_MACHINEは、正しく使用しないと多くのユーザーに影響を与えてしまいます。グローバルな場所にローカルなデータを格納しない
ファイルベースである情報についても、グローバルな場所にローカルな情報を格納してしまうと、同一のアプリケーションが稼動した際に情報を正しく維持することが出来ません。ですから、そうした競合がおきないように配慮してください。ロック機構を利用する
ファイルやデータベースのロック機構を必ず利用してください。メモリリークを解決する
メモリリークしているプログラムがあると、平行して同じプログラムが動作する可能性がある以上、影響が大幅に大きくなります。IPアドレスがユーザーに対応しない
同一のサーバーで複数のユーザーに対応するので、IPアドレスが一人のユーザーに対応していると考えることは出来ません。サーバーは複数クライアントを認識できるようにする
アプリケーションプログラムがクライアントとサーバーに分かれている場合は、サーバープログラムは複数のクライアントを認識できるように作られていなければなりません。通常はネゴシエーションなどにより、認識できるように開発します。ユーザープロファイルをサポートする
インストール時に機能を設定したり除外する方法は、複数のユーザーがアプリケーションを利用するために、利用時に不都合を招きます。ですから、ユーザー毎にどのような機能をするかを
ユーザープロファイルにより設定できるようにしてください。
クライアントはサーバーとrdpによる通信により結ばれています。このプロトコル上には、画面の変更などが載せられます。ですから、以下のような点を配慮して、通信量が課題になら無い様に配慮するべきです。スプラッシュ スクリーンの使用を少なくする
アニメーションの使用を最小にする
直接ビデオアクセスを最小にする
wtsは複数のnt Workstationが動作しているイメージになるために、バックグラウンドは、スタンドアローンの場合よりもスケジュールを受けにくくなりますので、以下の配慮が必要です。ユーザー入力ルーチンをフォアグラウンドにする
バックグラウントのリソース消費をWTS用に調整する
スレッドの使用率をWTS用に調整する