---
title: 视频流云手机密度测试
description: "1. 从DemoVideoEngine.tar.gz中解压cfct_config配置文件。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/230RC2/armnative/kunpengcpsvideo_20_0033.html
sourcePath: /source/zh/kunpengboostkithistory/230RC2/armnative/kunpengcpsvideo_20_0033.html
indexId: 87cad225b49461809282860a9f9854cf45d81eac848fc6bf200c89c89f30190279
---
# 视频流云手机密度测试

1. 从DemoVideoEngine.tar.gz中解压cfct_config配置文件。

```
#cd /home/kbox_video/
#tar -xvf DemoVideoEngine.tar.gz cfct_config
#chmod 644 cfct_config
```


2. 核对BIOS配置参数及GPU工作模式，参照配置BIOS和配置GPU工作模式。
3. 通过BMC调整服务器的风扇转速百分比为100%。

  a. SSH登录BMC。

```
ssh
{
BMC用户名
}
@
{
BMC IP地址
}
```


  b. 将风扇模式设置为手动调速。

```
ipmcset -d fanmode -v 1 0
```


  c. 调整风扇转速百分比为100%。

```
ipmcset -d fanlevel -v 100
```


  d. 查询风扇状态。

```
ipmcget -d faninfo
```


命令执行的回显信息如下：
4. GPU驱动进程绑定到空闲核，网卡中断绑定空闲核请参见《Kbox云手机容器 特性指南(https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/230RC2/armnative/kunpengcpskbox_20_0050.html)》中的“网卡绑定CPU”章节。

```
#ps -ef |grep gfx
#taskset -pc 32-33 1379
#taskset -pc 64-65 1511
```


  若查询出4个GPU驱动进程，则将前2个驱动进程绑到32-33核，后2个驱动进程绑到64-65核。

5. 单队列网卡中断散列。对单队列网卡可以使用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
```


6. 将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密度测试配置修改步骤。

7. 使用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
```


  待截图完成后，将截图下载至本地。若看到截图全为地铁跑酷游戏界面，如下图所示，即证明已成功启动。

8. 在另外一台服务器上准备两台Kbox云手机（以kbox_1和kbox_2为例）用来安装压测工具（CloudPhoneClientEmulator_20230413.apk）或视频流客户端APK。
  Kbox云手机规格要求：8核/32GB内存/64GB存储空间，两台Kbox云手机上安装好压测工具后，连接服务端（每个压测工具限制同时连接数不能超过58路），收集15min数据。

  具体方法是，打开压测工具，在左上角输入15，右上角单击“开始”。

  15分钟倒计时结束后会生成如下图的帧率数据分析报告：

9. 从视频流引擎中获取native_perf_tools_20230415.tar.gz并解压，进入native_perf_tools文件夹，依次输入以下命令，收集15min数据。`{prefix_number}`为存储采集数据文件夹的前缀，下图中以`115`为例。

```
#source env.sh
#./native_get_perf_data.sh all {prefix_number}
```


10. 收集完成后，将以下几个数据文件下载至本地，解析后生成测试报告。

  a. 服务端“native_perf_tools”文件夹下的log文件夹，其中包含了服务端的性能数据，如CPU、GPU、编码卡等性能数据。
  b. 客户端的“/home/mount/data/kbox_1/data/media/0/logs”和“/home/mount/data/kbox_2/data/media/0/logs”目录下，压测工具收集的接收帧率数据。
  c. 真机客户端的“/sdcard/log”目录下的client.log，是客户端的日志，包括解码帧率、网络Lag等数据。
  d. 将上述3步所说的文件和文件夹放到同一个路径下，此处以“D:\tmp”为例。
    下载ExtractingData_20230310.tar.gz并解压，进入“ExtractingData”
    文件夹下，输入：

```
python parse.py D:\tmp
```


    “D:\tmp”下会生成一个output文件夹，里面有相应的表格和图片。
