本文將介紹如何針對Blast Extreme協議在廣域網接入的場景下進行優化。如果是第一次看這篇文章的小夥伴,建議先點擊以下文章連結對Blast Extreme協議有個基本的了解。
VMware Blast Extreme協議解析
本文分為兩部分內容,Blast Extreme編碼選項配置和廣域網調優。
Blast Extreme編碼選項配置
要配置Blast Extreme, 首先要在桌面或RDSH池設置中使用Blast Extreme協議作為默認連接協議,或者允許用戶可選擇協議。
Horizon客戶端設置
如果池設置允許用戶選擇協議,要在客戶端確認使用Blast作為連接協議,如下圖
啟用編碼選項
在客戶端中也可以設定啟用特定編碼,如下圖。
其它編碼選擇則需要管理員通過組策略、DEM或Agent端註冊表來啟用,同樣也需要客戶端進行相應配置,如下表。
編碼器
需要客戶端設置?
需要後臺管理員設置?
JPG/PNG
是: 取消勾選H.264編碼、高精度色彩和HEVC
否
Blast Codec
是: 取消勾選H.264編碼、高精度色彩和HEVC
是: EncoderBlastCodecEnable = 1
PNG (無損)
是: 取消勾選H.264編碼、高精度色彩和HEVC
是:EncoderBuildToPNG = 1
H.264
是: 勾選H.264編碼,取消勾選其它編碼
否
H.264高色彩精度
是: 勾選H.264編碼和允許高色彩精度,取消勾選其它
否
Encoder Switch: JPG/PNG and H.264
是: 勾選H.264編碼,取消勾選其它編碼
是:EncoderSwitchEnabled = 1
Encoder Switch: Blast Codec and H.264
是: 勾選H.264編碼,取消勾選其它編碼
是:EncoderSwitchEnabled = 1
和EncoderBlastCodecEnabled = 1
Encoder Switch: JPG/PNG and H.264 with HCA
是: 勾選H.264編碼和允許高色彩精度,取消勾選其它編碼
是:EncoderSwitchEnabled = 1
Encoder Switch: Blast Codec and H.264 with HCA
是: 勾選H.264編碼和允許高色彩精度,取消勾選其它編碼
是:EncoderSwitchEnabled = 1
和EncoderBlastCodecEnabled = 1
高效視頻編碼 (HEVC)
是: 勾選高效視頻解碼(HEVC),取消勾選其它編碼
否
NVIDIA Encoded H.264
是: 勾選H.264編碼,取消勾選其它編碼
否
管理員端配置項
Blast Extreme編碼設置可由管理員通過策略統一管理。可以使用組策略統一配置或虛擬桌面內註冊表來單獨設置。(使用企業板組件Dynamic Environment Management也可進行統一配置,未來另寫文章單講,不在此過多贅述)
如果想通過組策略來統一設置,首先要在進行組策略管理的伺服器上(一般是域控)導入Blast組策略文件vdm_blast.admx,這個文件可在官網下載文件 VMware-Horizon-Extras-Bundle-xxx.zip 中找到。組策略配置界面如下圖。
大部分Blast Extreme配置都可通過組策略管理,但也有少部分不行,比如新的Blast Codec和Encoder Switch相關編碼配置。
如果想單獨更改某個桌面的策略,最簡單的方式就是直接更改其註冊表,在註冊表中更改的配置只需客戶端斷開會話重新連接即可生效。配置Blast Extreme的註冊表位置為:HKEY_LOCAL_MACHINE\SOFTWARE\VMware,Inc.\VMware Blast\Config
每項配置為一個註冊表鍵值,設為1時為啟用,設為0時就是禁用。如果需要啟用某個編碼,則把此項鍵值設為1,而其它編碼鍵值設為0。下表列出註冊表鍵值:
設置
註冊表名稱和描述
默認鍵值
H.264 Codec
EncoderH264Enabled – 啟用或禁用支持H.264
1
H.264 高色彩精度
EncoderH264YUV444 –啟用或禁用支持H.264高色彩精度
1
HEVC (H.265) Codec
EncoderHEVCEnabled –啟用或禁用支持HEVC codec (H.265)
1
JPG/PNG Codec
EncoderAdaptiveEnabled –啟用或禁用支持 JPG/PNG codec.
1
PNG(無損)
EncoderBuildToPNG –啟用或禁用支持無損
0
Blast Codec
EncoderBlastCodecEnabled –啟用或禁用支持Blast Codec.
0
Encoder Switch
EncoderSwitchEnabled –啟用或禁用支持H.264 and JPG/PNG自動切換
0
NVIDIA H.264 Offload
EncoderNvidiaH264Enabled –啟用或禁用支持GPU卸載的H.264
1
NVIDIA H.265 Offload
EncoderNvidiaHEVCEnabled –啟用或禁用支持GPU卸載的H.265
1
UDP Transport
UdpEnabled –啟用或禁用支持UDP 傳輸協議
1
確認配置生效
最簡單的確認配置生效的辦法是使用Horizon Client連接桌面後打開Horizon PerformanceTracker,需要在安裝Agent時勾選安裝此功能。通過HorizonPerformance Tracker可實時查看當前使用的協議和編碼情況,如下圖,當前使用Blast UDP協議,並啟用了基於Nvidia GPU卸載的HEVC編碼,當前傳輸每秒幀率為6,預估可用最大帶寬為183Mbps,延時28ms,實時佔用帶寬為1.85Mbps。
Blast Extreme調優
Blast Extreme的出廠默認策略主要是基於內網場景來進行優化的,對於其它的使用場景,比如廣域網接入時,則需要管理員進行調優。
當上述配置規劃和優化工作都完成後,我們接下來可以對顯示協議進行優化了。以下註冊表設置都會對資源佔用和用戶體驗產生影響,這些設置同樣也可以使用組策略來統一管理或單獨進行註冊表更改。
配置項
註冊表名稱和描述
默認值
Max Session Bandwidth
MaxBandwidthKbps – 最大佔用帶寬(kbps),包括顯示、鍵盤、滑鼠、音頻、文件傳輸、剪切板等等
1000000
Minimum Session Bandwidth
MinBandwidthKbps– 最小佔用帶寬(kbps)
256
Maximum Screen Bandwidth
MaxBandwidthKbpsPerMegaPixelSlope – 用來傳輸圖像內容的每百萬像素最大佔用帶寬(kbps)
注: 這項設置不影響非圖像傳輸內容,例如音頻、文件傳輸等
6200
Lowest Starting H.264 Quality
H264maxQP – 使用H.264協議時最小初始成像質量(圖像漸近式顯示),設置範圍是1–36, 1是最高質量
36
Lowest JPG Quality
JpegQualityLow – 使用JPG/PNG協議時最小初始成像質量
25
Mid JPG Quality
JpegQualityMid –使用JPG/PNG協議時中間成像質量
35
Highest JPG Quality
JpegQualityHigh –使用JPG/PNG協議時可達到的最高質量,最高為100
90
Max Frames per Second
EncoderMaxFPS – 最大幀率
30
Audio Support
AudioEnabled – 啟用或禁用音頻
0 – 禁用
1 – 啟用
1
Clipboard SupportClipboardState– 啟用或禁用剪切板
0 – 雙向禁止
1 – 雙向允許
2 – 只允許客戶端到桌面
3 – 只允許桌面到客戶端
2
針對廣域網環境對Blast Extreme進行調優
通常需要對顯示協議進行調優的主要是用戶需要從廣域網連接桌面的情況下,包括窄帶寬、高延時或有丟包的情況。通過對Blast Extreme進行特定調優可以較好的應對以上情況。
需要說明的是,物理條件始終是無法逾越的,遇到特別差的網絡條件,任何調優也不可能讓用戶體驗變成如區域網使用一般。
在廣域網使用中,以下調優項可以降低CPU和帶寬的佔用。
註:在區域網使用中如需減少帶寬佔用,上述方法同樣適用。
針對窄帶寬條件下的額外調優
註:最小和最大帶寬設置不是強制限制,為了保障用戶會話正常使用和體驗,Blast Extreme會儘量佔用更多可用帶寬。
針對高延時條件下的額外調優
同樣的,處理高延時也要從減少帶寬佔用開始,顯示協議傳輸的數據包越少,延時對其影響也相對越小。
如果延時高於250ms,使用TCP協議的效果優於UDP。
設置 MinBandwidthKbps (最小會話帶寬) 為128。
根據實際規劃設置 MaxBandwidthKbps (最大會話帶寬) 和 MaxBandwidthKbpsPerMegaPixelSlope (最大顯示帶寬) 。
針對有丟包條件下的額外調優
周上,處理丟包也要從減少帶寬佔用開始,傳輸的數據包越少,丟包造成的影響越小。
使用UDP協議,UDP協議可以更好的處理丟包的情況。
設置 MinBandwidthKbps (最小會話帶寬) 為128。
根據實際規劃設置 MaxBandwidthKbps (最大會話帶寬) 和 MaxBandwidthKbpsPerMegaPixelSlope (最大顯示帶寬) 。
註:本文部分內容摘自techzone.vmware.com
預告:下周的文章將介紹在區域網條件下,如何對Blast Extreme協議的傳輸質量進行調優。