视频流云手机密度测试
- 从DemoVideoEngine.tar.gz中解压cfct_config配置文件。
#cd /home/kbox_video/ #tar -xvf DemoVideoEngine.tar.gz cfct_config #chmod 644 cfct_config
- 核对BIOS配置参数及GPU工作模式,参照配置BIOS和配置GPU工作模式。
- 通过BMC调整服务器的风扇转速百分比为100%。
- SSH登录BMC。
ssh {BMC用户名}@{BMC IP地址}
- 将风扇模式设置为手动调速。
ipmcset -d fanmode -v 1 0
- 调整风扇转速百分比为100%。
ipmcset -d fanlevel -v 100
- 查询风扇状态。
ipmcget -d faninfo
命令执行的回显信息如下:
- SSH登录BMC。
- GPU驱动进程绑定到空闲核,网卡中断绑定空闲核请参见《Kbox云手机容器 特性指南》中的“网卡绑定CPU”章节。
#ps -ef |grep gfx #taskset -pc 32-33 1379 #taskset -pc 64-65 1511
若查询出4个GPU驱动进程,则将前2个驱动进程绑到32-33核,后2个驱动进程绑到64-65核。
- 单队列网卡中断散列。对单队列网卡可以使用RPS将中断分散到各个core处理,避免软中断集中到一个core导致该core软中断过高形成性能瓶颈。具体的方法是输入如下内容,本文以网卡enp125s0f1为例进行说明。
#systemctl stop irqbalance.service #systemctl disable irqbalance.service #echo ff > /sys/class/net/enp125s0f1/queues/rx-0/rps_cpus #echo 4096 > /sys/class/net/enp125s0f1/queues/rx-0/rps_flow_cnt #echo 32768 > /proc/sys/net/core/rps_sock_flow_entries
- 将cfct_config配置文件中“CPU_BIND_MODE”字段设置为如表1所示值(“0”表示2容器2核的绑核方式)。
表1 测试规格与CPU_BIND_MODE值对应关系 测试规格
CPU_BIND_MODE
7265F+W6800密度摸高115路,地铁跑酷新手关,720p@30fps
0
7260+W6600密度测试100路,地铁跑酷新手关,720p@30fps
0
若测试的是表1中7260+W6600密度测试100路的规格,请确认已执行W6600密度测试配置修改步骤。
- 使用cfct_video脚本启动多路容器,此处启动容器的数量需要根据步骤6中表1具体测试规格决定,这里以115路为例,依次输入如下命令。以下四行命令的含义分别是:启动云手机、打开游戏、进入新手关页面、截图。
#./cfct_video qstart 1 115 #./cfct_video start_game 1 115 #./cfct_video play_game 1 115 #./cfct_video screencap 1 115
待截图完成后,将截图下载至本地。若看到截图全为地铁跑酷游戏界面,如下图所示,即证明已成功启动。
- 在另外一台服务器上准备两台Kbox云手机(以kbox_1和kbox_2为例)用来安装压测工具(CloudPhoneClientEmulator_20230413.apk)或视频流客户端APK。
Kbox云手机规格要求:8核/32GB内存/64GB存储空间,两台Kbox云手机上安装好压测工具后,连接服务端(每个压测工具限制同时连接数不能超过58路),收集15min数据。
具体方法是,打开压测工具,在左上角输入15,右上角单击“开始”。
15分钟倒计时结束后会生成如下图的帧率数据分析报告:
- 从视频流引擎中获取native_perf_tools_20230415.tar.gz并解压,进入native_perf_tools文件夹,依次输入以下命令,收集15min数据。`{prefix_number}`为存储采集数据文件夹的前缀,下图中以`115`为例。
#source env.sh #./native_get_perf_data.sh all {prefix_number}
- 收集完成后,将以下几个数据文件下载至本地,解析后生成测试报告。
- 服务端“native_perf_tools”文件夹下的log文件夹,其中包含了服务端的性能数据,如CPU、GPU、编码卡等性能数据。
- 客户端的“/home/mount/data/kbox_1/data/media/0/logs”和“/home/mount/data/kbox_2/data/media/0/logs”目录下,压测工具收集的接收帧率数据。
- 真机客户端的“/sdcard/log”目录下的client.log,是客户端的日志,包括解码帧率、网络Lag等数据。
- 将上述3步所说的文件和文件夹放到同一个路径下,此处以“D:\tmp”为例。下载ExtractingData_20230310.tar.gz并解压,进入“ExtractingData”文件夹下,输入:
python parse.py D:\tmp
“D:\tmp”下会生成一个output文件夹,里面有相应的表格和图片。
父主题: 软件部署