
当一个Open Harmony PC上的应用在移植到SD WAN组网的 QoS(服务质量)场景时,能否根据预设的QoS策略,对不同优先级的应用流量(如视频会议vs文件下载)进行正确的带宽保障,需要测试一下。
验证SD-WAN网络能否根据预设的QoS策略,对不同优先级的应用流量(如视频会议 vs. 文件下载)进行正确的带宽保障,从而确保关键业务的体验。
测试过程与步骤
1. 启动模拟器:在DevEco Studio中,启动一个Open Harmony模拟器作为被测“智能终端”。
2. 配置网络模拟:在模拟器主机上,使用网络模拟工具(如 tc 命令或 Network Link Conditioner)为模拟器的虚拟网卡注入网络损伤。例如,限制总带宽为10Mbps,并设置一定的背景流量,以模拟广域网拥塞场景。
3. 部署SD WAN CPE模拟节点:在本地或另一台虚拟机中,部署一个简化的SD WAN CPE模拟软件,并将其与OpenHarmony模拟器置于同一局域网。该CPE模拟器应能接收并执行来自云端控制器的QoS策略(如为特定目标端口或DSCP标记的流量保障最小带宽)。
1. 设计原子用例:
1. QosPolicyActivationModel:通过Shell命令或模拟API调用,触发并验证QoS策略在CPE及终端上的激活。
2. HighPriorityTrafficGeneratorModel:模拟生成高优先级流量(如向一个特定端口发送UDP流,模拟视频会议RTP流)。
3. 编写场景测试脚本:创建主测试类 SDWAN_QoSTest,其核心 test_qos_guarantee 方法按以下逻辑编排:
def test_qos_guarantee(self):
# 1. 激活QoS策略:保障目标端口5000的流量拥有5Mbps最小带宽
self.step_activate_policy('port', 5000, '5Mbps')
# 2. 同时启动低优先级后台下载和高优先级视频流
self.step_start_background_download()
self.step_start_high_priority_stream(dst_port=5000)
# 3. 并行监控10秒,收集性能数据
self.step_monitor_performance(duration=10)
# 4. 停止所有流量生成
self.step_stop_all_traffic()
4. 本地调试:在PyCharm中直接运行脚本,验证原子用例能否在模拟器上正确执行命令、生成流量并采集数据。
1. 创建云端任务:在DevEco Testing客户端,创建新的“场景化性能测试”任务。将编写好的脚本工程目录上传,并确保任务配置能正确拉起一个带有网络损伤的模拟器实例。
2. 执行与数据采集:提交任务。云端平台将自动执行脚本,并利用Hypium框架的@Step装饰器,在每一步操作时采集系统级的性能指标(如CPU/内存占用)及BandwidthMonitorModel上报的自定义网络指标。
3. 关键报告分析:
带宽分配对比图:检查高优先级流量的实测带宽是否稳定在策略保障的5Mbps附近,即便在总带宽拥塞时也未被低优先级流量挤占。
高优先级流量的质量指标:查看其延迟和丢包率是否维持在可接受的门限内(如延迟<50ms,丢包<0.1%)。
步骤时间线:结合Trace文件,确认QoS策略的激活、生效时间点与流量行为变化是否吻合。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。