Horizon Client 可以在遠端工作階段期間監控網路品質,並在偵測到由於高延遲而導致網路不穩定時顯示通知訊息。網路延遲是依 TCP 連線的來回行程時間 (RTT),以及 BEAT 和 UDP 連線的 RTT、封包遺失和 RTT 變化 (RTTV) 來衡量。
您可以使用 Horizon Client 設定來控制這些通知訊息的顯示。您也可以設定 Horizon Client 用來確定不穩定網路的臨界值參數。
設定網路通知的顯示
您可以使用設定 VMware Blast 功能表項目來控制網路通知訊息的顯示。
- 啟動 Horizon Client。
- 從功能表列中選取
。
- 設定網路不穩定時通知的顯示。
- 若要啟用網路通知,請取消選取停用網路狀態顯示選項。依預設下,將取消選取此選項以允許顯示通知。
- 若要關閉網路通知,請選取停用網路狀態顯示選項。
- 按一下確定儲存變更。
Horizon Client 判定網路品質的方式
為判定網路連線的品質,Horizon Client 會將指定時間間隔內的網路條件與一對低臨界值和高臨界值進行比較,並計算從 0% 到 100% 的品質分數。如果分數低於特定百分比,則會將網路視為高延遲且不穩定。
Horizon Client 根據使用的網路通訊協定來衡量以下網路條件。
通訊協定 | 衡量的條件 |
---|---|
TCP |
|
BEAT 或 UDP |
|
然後,Horizon Client 會使用以下規則來計算網路品質分數:
TCP Connections Definitions: rtt = detected RTT value lowBound = RTT low threshold highBound = RTT high threshold score = overall network quality score Rules: If rtt >= highBound, then score = 0 (network is considered POOR) If rtt <= lowBound, then score = 100 (network is considered GOOD) If lowBound < rtt < highBound, then score = 100 * (rtt / (highBound - lowBound))
BEAT and UDP Connections Definitions: RTT = detected RTT value RTT_extreme = RTT extreme threshold RTT_lowBound = RTT low threshold RTT_highBound = RTT high threshold RTT_score = RTT quality score RTT_weight_percentage = weight of RTT quality score PkLoss = detected packet loss value PkLoss_extreme = packet loss extreme threshold PkLoss_lowBound = packet loss low threshold PkLoss_highBound = packet loss high threshold PkLoss_score = packet loss quality score PkLoss_weight_percentage = weight of packet loss quality score RTTV = detected RTT variation RTTV_lowBound = low RTTV threshold RTTV_highBound = high RTTV threshold RTTV_score = RTTV quality score RTTV_weight_percentage = weight of RTTV quality score score = overall network quality score Rules: If RTT > RTT_extreme, then score = 0 (network is automatically considered POOR, all other calculations are skipped) If RTT >= RTT_highBound, then RTT_score = 0 If RTT <= RTT_lowBound, then RTT_score = 100 If RTT_lowBound < RTT < RTT_highBound, then RTT_score = 100 * (rtt / (RTT_highBound - RTT_lowBound)) If PkLoss > PkLoss_extreme, then score = 0 (network is automatically considered POOR, all other calculations are skipped) If PkLoss >= PkLoss_highBound, then PkLoss_score = 0 If PkLoss <= PkLoss_lowBound, then PkLoss_score = 100 If PkLoss_lowBound < PkLoss < PkLoss_highBound, then PkLoss_score = 100 * (PkLoss / (PkLoss_highBound - PkLoss_lowBound)) If RTTV >= RTTV_highBound, then RTTV_score = 0 If RTTV <= RTTV_lowBound, then RTTV_score = 100 If RTTV_lowBound < RTTV < RTTV_highBound, then RTTV_score = 100 * (RTTV / (RTTV_highBound - RTTV_lowBound)) To calculate the overall score, take the weighted average of the three quality scores: score = RTT_score * RTT_weight_percentage / 100 + PkLoss_score * PkLoss_weight_percentage / 100 + RTTV_score * RTTV_weight_percentage / 100
然後,Horizon Client 會使用以下規則判定網路的穩定性:
Definitions: score = overall network quality score thresholdGood = minimum score indicating GOOD network stability thresholdPoor = high limit of score range indicating POOR network stability Rules: If score >= thresholdGood, the network is considered GOOD and no notification is displayed. If thresholdPoor < score < thresholdGood, the network is considered OK and no notification is displayed. If score <= thresholdPoor, the network is considered POOR and a notification is displayed.
設定網路品質的臨界值參數
若要自訂 Horizon Client 用來計算網路品質分數並判定網路穩定性的臨界值參數,請在以下某個組態檔中設定對應的機碼。
- 全域設定:/usr/lib/vmware/settings
- 使用者喜好設定:~/.vmware/preferences
- 使用者預設值:~/.vmware/config
- 主機預設值:/etc/vmware/config
- 網站預設值:/usr/lib/vmware/config
Horizon Client 將按所列順序搜尋組態檔,並在找到具有已設定值的機碼時立即停止。
組態機碼 |
允許的值 | 預設值 | 說明 |
---|---|---|---|
vvc.NetworkStatsCheckEnabled | 0、1 | 1 | 指定是否啟用網路資料的處理,以計算網路品質分數。
|
vvc.NetworkStatsCheckPeriodSec | 大於 2 的正整數 | 15 | 指定監控網路條件的時間間隔 (以秒為單位)。 |
vvc.NetworkStatsQualityScoreTcpThresholdGood | 0 到 100 的數字 | 85 | 指定表示 TCP 網路品質良好所需的最低分數。 指定的值必須大於 vvc.NetworkStatsQualityScoreTcpThresholdPoor 值。 |
vvc.NetworkStatsQualityScoreTcpThresholdPoor | 0 到 100 的數字 | 40 | 指定表示 TCP 網路品質較差的分數範圍上限。 指定的值必須小於 vvc.NetworkStatsQualityScoreTcpThresholdGood 值。 |
vvc.NetworkStatsQualityScoreBeatThresholdGood | 0 到 100 的數字 | 75 | 指定表示 BEAT 和 UDP 網路品質良好所需的最低分數。 指定的值必須大於 vvc.NetworkStatsQualityScoreBeatThresholdPoor 值。 |
vvc.NetworkStatsQualityScoreBeatThresholdPoor | 0 到 100 的數字 | 45 | 指定表示 BEAT 和 UDP 網路品質較差的分數範圍上限。 指定的值必須小於 vvc.NetworkStatsQualityScoreBeatThresholdGood 值。 |
vvc.NetworkStatsTcpRttMSLow | 正整數 | 2 | 指定用來計算 TCP 網路品質分數的低 RTT 臨界值 (以毫秒為單位)。 指定的值必須小於 vvc.NetworkStatsTcpRttMSHigh 值。 |
vvc.NetworkStatsTcpRttMSHigh | 正整數 | 400 | 指定用來計算 TCP 網路品質分數的高 RTT 臨界值 (以毫秒為單位)。 指定的值必須大於 vvc.NetworkStatsTcpRttMSLow 值。 |
vvc.NetworkStatsTcpRttMSWeightPercent | 0 到 100 的百分比 | 100 | 指定用來計算 TCP 網路品質分數的 RTT 值的統計權數。
備註: 由於 RTT 是目前用來判定 TCP 網路品質的唯一網路因素,因此此機碼必須設為 100。
|
vvc.NetworkStatsBeatRttMSLow | 正整數 | 2 | 指定用來計算 BEAT 和 UDP 網路品質分數的低 RTT 臨界值 (以毫秒為單位)。 指定的值必須小於 vvc.NetworkStatsBeatRttMSHigh 值。 |
vvc.NetworkStatsBeatRttMSHigh | 正整數 | 400 | 指定用來計算 BEAT 和 UDP 網路品質分數的高 RTT 臨界值 (以毫秒為單位)。 指定的值必須大於 vvc.NetworkStatsBeatRttMSLow 值。 |
vvc.NetworkStatsBeatRttMSExtreme | 正整數 | 250 | 指定用來立即識別品質較差的 BEAT 和 UDP 網路的極端 RTT 臨界值 (以毫秒為單位)。 如果偵測到的 RTT 大於極端臨界值,則自動認定網路品質較差,且不會進行其他評分計算。 |
vvc.NetworkStatsBeatRttMSWeightPercent | 0 到 100 的百分比 | 34 | 指定用來計算 BEAT 和 UDP 網路品質分數的 RTT 值的統計權數。
備註: vvc.NetworkStatsBeatRttMSWeightPercent、vvc.NetworkStatsBeatPkLossPercentWeightPercent 和 vvc.NetworkStatsBeatRttvMSWeightPercent 的合併值必須等於 100。
|
vvc.NetworkStatsBeatPkLossPercentLow | 0 到 100 的百分比 | 0.1 | 指定用來計算 BEAT 和 UDP 網路品質分數的低封包遺失臨界值。 指定的值必須小於 vvc.NetworkStatsBeatPkLossPercentHigh 值。 |
vvc.NetworkStatsBeatPkLossPercentHigh | 0 到 100 的百分比 | 15 | 指定用來計算 BEAT 和 UDP 網路品質分數的高封包遺失臨界值。 指定的值必須大於 vvc.NetworkStatsBeatPkLossPercentLow 值。 |
vvc.NetworkStatsBeatPkLossPercentExtreme | 0 到 100 的百分比 | 25 | 指定用來立即識別品質較差的 BEAT 和 UDP 網路的極端封包遺失臨界值。 如果偵測到的封包遺失數大於極端臨界值,則自動認定網路品質較差,且不會進行其他評分計算。 |
vvc.NetworkStatsBeatPkLossPercentWeightPercent | 0 到 100 的百分比 | 33 | 指定用來計算 BEAT 和 UDP 網路品質分數的套件遺失值的統計權數。
備註: vvc.NetworkStatsBeatRttMSWeightPercent、vvc.NetworkStatsBeatPkLossPercentWeightPercent 和 vvc.NetworkStatsBeatRttvMSWeightPercent 的合併值必須等於 100。
|
vvc.NetworkStatsBeatRttvMSLow | 正整數 | 1 | 指定用來計算 BEAT 和 UDP 網路品質分數的低 RTTV 臨界值 (以毫秒為單位)。 指定的值必須小於 vvc.NetworkStatsBeatRttvMSHigh 值。 |
vvc.NetworkStatsBeatRttvMSHigh | 正整數 | 30 | 指定用來計算 BEAT 和 UDP 網路品質分數的高 RTTV 臨界值 (以毫秒為單位)。 指定的值必須大於 vvc.NetworkStatsBeatRttvMSLow 值。 |
vvc.NetworkStatsBeatRttvMSWeightPercent | 0 到 100 的百分比 | 33 | 指定用來計算 BEAT 和 UDP 網路品質分數的 RTTV 值的統計權數。
備註: vvc.NetworkStatsBeatRttMSWeightPercent、vvc.NetworkStatsBeatPkLossPercentWeightPercent 和 vvc.NetworkStatsBeatRttvMSWeightPercent 的合併值必須等於 100。
|