概要
PVS サーバーに障害が発生して利用できなくなった場合などに、端末が一時的に フリーズしてしまう時間を短くしたい場合の設定について述べます。
詳細
利用していた PVS サーバー (PVS Stream Service) が障害などにより 突然利用できなくなった場合、端末は一時的にフリーズしてしまい、 デフォルトではフェイルオーバーして利用が再開できるまでに約 1 分半 かかります。
このフェイルオーバーにかかる時間は端末側のレジストリで設定されている値に 基づいています。したがって、この設定値を変更することにより、フェイルオーバー にかかる時間を短縮することが可能です。
対策
警告: レジストリエディタを使用する前に、この記事の最後の免責条項を 参照してください。
端末のフェイルオーバー時間は以下の 2 つのレジストリキーの値で制御されています。
リトライ間隔
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bnistack\Parameters]
"IosPacketTimeoutms"=dword:<DWORD>
端末が接続先が利用できるかどうか確認するリトライの間隔を設定するパラメータで、
500-10000 ミリ秒 (0.5-10 秒) で設定できます。
短く設定すればするほど短時間でフェイルオーバーします。既定値は 5000 ミリ秒 (5 秒) です。
リトライ間隔は、リトライするたび倍々に増えて行きます (上限は 10 秒)。
リトライ回数上限
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bnistack\Parameters]
"IosRetryLimit"=dword:<DWORD>
リトライ回数を設定するパラメータで、2-1000 回 (既定値は 10 回) で設定できます。
回数を少なくすればするほど短時間でフェイルオーバーします。
デフォルトのふるまい
既定では、リトライ間隔初期値が 5 秒、間隔の上限が 10 秒 (変更不可)、 リトライ回数が 10 回であるため、下記の通り 95 秒でフェイルオーバーします。
5 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 + 10 = 95 秒
設定例 1
フェイルオーバー時間を短くしたい場合の推奨値です。 .reg ファイルを ここ からダウンロードできます。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bnistack\Parameters]
"IosPacketTimeoutms"=dword:000001f4
"IosRetryLimit"=dword:00000003
タイムアウトの最小値を 500 (0.5 秒) に、リトライ回数を 3 回と設定することにより、 約 3.5 秒でフェイルオーバーするようになります。
0.5 + 1 + 2 = 3.5 秒
設定例 2
設定値がどのように働くのかを解説するための例です。(この設定を推奨するものではありません。)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\bnistack\Parameters]
"IosPacketTimeoutms"=dword:000003e8
"IosRetryLimit"=dword:00000008
タイムアウトの最小値を 1000 (1 秒) に、リトライ回数を 8 回と設定することにより、 約 55 秒でフェイルオーバーするようになります。
1 + 2 + 4 + 8 + 10 + 10 + 10 + 10 = 秒
初期値の 1 秒から 2, 4, 8 と倍々に増えて行き、上限の 10 秒に到達した 後は 10 秒間隔でリトライします。
補足
この記事は Citrix Support の以下の記事に基づいています。
https://support.citrix.com/article/CTX119223
免責条項
レジストリエディターを誤って使用すると、オペレーティングシステムの
再インストールが必要になるかもしれない深刻な問題を引き起こす可能性が
あります。
レジストリエディタの誤用により発生した問題を解決することができることを
保証することはできません。
ご自身の責任においてレジストリエディタを使用してください。
編集する前にレジストリをバックアップしてください。