华为云CPTS对WebSocket协议的性能测试实践

举报
测试小妹 发表于 2019/01/16 10:02:49 2019/01/16
7.3k+ 0 0
【摘要】 WebSocket协议即时服务带来巨大流量,对系统性能造成冲击,华为云如何维护系统稳定?

互联网应用时代,用户获取信息的方式从传统媒体到新媒体,信息时效性对通信技术要求越来越高, HTTP协议已经不能适用。于是WebSocket出现了,它实现浏览器与服务器的全双工通信,服务端主动向客户端发送数据。同时即时服务带来的巨大流量对系统性能提出不小的挑战,如何才能处理高实时信息又能维护系统稳定性?

针对大规模WebSocket协议测试,需要准备专业的测试设备,加上测试环境部署和管理耗费大量时间,导致测试工作效率低下、成本高。华为云性能测试服务CPTS将这些过程迁移至云端,帮助用户省去自建性能测试环境成本,用户只需关注测试脚本的实现过程,大大降低了大规模性能测试的复杂度和开销。


1.PNG

社交聊天、弹幕、多玩家游戏、协同编辑、股票基金实时报价、体育实况更新、视频会议/聊天、基于位置的应用、在线教育、智能家居等需要高实时的场景。

2.PNG

目前CPTS服务暂不支持两个场景的使用
•wss加密场景
•多用户长连接复用场景(即每个用户事务请求完成后会重新建链)

3.png

一、登录华为云性能测试服务,进入控制台 https://console.huaweicloud.com/cpts/

1.png

二、在测试工程页面创建测试工程

2.png

三、创建WebSocket协议事务元素

1、进入创建工程下的事务模型页面

3.png

2、点击“添加事务”,创建事务模型

4.png

3、事务模型创建好后,点击事务下的“添加元素”按钮,进入到WebSocket协议卡片页面

5.png

4、正确输入WebSocket协议对应的请求链接,建立连接,点击“确定”按钮

6.png

成功保存在该事务模型下:

7.png


5、在其后的卡片中,点击“+添加元素”,添加需要推送的内容,进行保存

8.png9.png

若需添加多条交互信息,可继续添加卡片

10.png

6、WebSocket协议支持添加全局变量
(1)在WebSocket协议的请求链接中支持添加全局变量

11.png

(2)在推送内容中添加全局变量

12.png


7、WebSocket协议的推送内容支持添加思考时间、响应提取和检查点元素

13.png

(1)添加思考时间

14.png

(2)添加响应提取

15.png

(3)添加检查点

16.png

8、事务元素添加完毕后启动调试,查看调试结果

17.png18.png


四、添加测试任务,并配置压测的时长和需要模拟的并发用户数

19.png

五、在测试任务点击启动按钮,选择共享资源组(支持100并发的免费额度),需要更多的并发可以通过购买套餐包,详见:https://www.huaweicloud.com/price_detail.html#/cpts_detail

20.png

六、压测完成后,生成实时和离线的测试报告。点击实时报告,可查看并发信息,成功率,时延区间统计,时延TPxx统计,资源利用率分析,调用链分析,测试结果一览无遗。

21.png

• 资源分析:

22.png

•调用链分析:

23.png

•拓扑分析:

24.png

新年伊始,云性能测试服务CPTS全新改版

重磅推出铂金版和专业版

提供文件导入变量、Jmeter脚本导入、Swagger接口导入等高阶压测服务

邀您一起尝鲜:

https://www.huaweicloud.com/product/cpts.html   

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。