51Testing软件测试论坛
标题:
直播 APP 后端性能测试思路
[打印本页]
作者:
lsekfe
时间:
2021-6-2 11:14
标题:
直播 APP 后端性能测试思路
一、概述
直播 APP 场景中通常包含主播(+辅麦主播)、粉丝 2个主要角色。
· 主播主要的交互以推流为主,粉丝主要的交互以拉流为主
· 另外包括粉丝与主播之间的互动,文本消息、表情、送礼物
直播的中的用户核心性能体验为:主播与粉丝之间的交互延迟,而推流是直播第一步,如果推流不稳定,无论如何优化体验都会非常差。
二、性能需求
三、
测试
实现
1)通讯协议
推、拉流的通讯
网络层:Socket 或 St 负责传输
协议层:RTMP 或 HLS 负责网络打包(主播连麦:WebRTC)
封装层:flv、ts 负责解码数据封装
编码层:h.264、acc 负责图像、音频压缩
非推、拉流的通讯
HTTP、WebSocket
2)测试工具
四、测试策略
说明:直播类压测的核心是验证并发下推、拉流的顺畅,是协议层的测试。用户体验的关键是和主播之间的交互延迟。
1)核心角色与业务
主播 - 直播 - 抓流/推流
主播 - 互动 - 查看/回应粉丝的互动
粉丝 - 直播 - 切换直播间
粉丝 - 直播 - 拉流
粉丝 - 互动 - 评论、打赏等互动行为
2)
测试用例
编写参考
参考上条,略
3)测试场景设计关注点
1、性能基准
建立性能基准:
· 对并发推流进行测试
· 对并发拉流进行测试
· 对粉丝进入直播间 的首次缓冲延迟(包括:首包用时延迟、视频首帧延迟)进行测试
· 对特定的码率、帧率所对应带宽开销进行测试
· 对并发进入直播间时的内容交互加载延迟进行测试
· 直播间中的主播与粉丝交互延迟
· 对弱网环境进行不同程度的并发测试
2、负载测试
· 关注日度业务峰值负载(业务量、时间、时长)
· 关注周/月中业务峰值负载(业务量、时间、时长)
· 关注运营推广过程中所涉及的业务负载(业务量、时间、时长)
· 关注意外负载 的出现时机、负载特点
3、容量测试
基于“性能基准”结果,参考:1000 - 2000 - 3000 - XXXX 的方式进行主播递增推流测试
· 关注良好性能体验条件下的最高支持在线主播数量
· 关注可容忍上限条件下的最高支持在线主播数量
· 关注系统资源充裕条件下的最高在线主播数量
· 关注系统资源不足条件下的最高在线主播数量
4、可用性测试
· 以施加峰值负载的方式达到考核时间周期的业务量
5、可靠性测试
· 关注网络异常/弱网环境对性能基准的影响
·关注服务异常对性能基准的影响
· 关注冗余节点随机的上、下线对性能基准的影响
· 关注冗余节点随机的上、下线对:功能可用性、事务性、性能、持久化设计 的影响
6、资源规划 / 扩容配置
· 关注核心业务在性能上横向扩容过程中,节点增加与性能削减的关系
· 关注主播推流对服务产生的存储空间占用开销
· 关注主播推流对服务产生的带宽占用开销
4)测试场景设计
(参考产品设计 与“测试场景设计关注点”:略)
五、备注
脚本需要实现粉丝端首次缓冲时间的延迟测试,即对首包、首帧画面的断言、延迟、丢帧判断测试。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2