商业转载请联系腾讯 WeTest 获得授权,非商业转载请注明出处。
原文链接:http://wetest.qq.com/lab/view/360.html


能否解决 “高并发” 问题一直是检验一个产品后台是否稳定,架构是否合理,性能是否强大的核心标准。对于产品而言,多高的并发才算是 “高”?不同的产品不尽相同。对于小型的产品来说,每秒上百的在线人数就会导致产品无法响应,而对于一些几经考验的产品,每秒上万,上百万的并发才能满足他们的业务需求。当产品的承载能力遇到瓶颈的时候,会出现什么样的问题呢?发包不断超时,页面不断加载,然后页面无法响应,直到最后服务器崩溃。

在社交网络发达的今天,用户的愿意等待的时间越来越短,这些问题对于用户来说,是无法容忍的。调查显示如果页面加载超过 5 秒就会有 74% 的用户离开页面。而根据用户体验的 “2-5-8 原则”,2 秒以内用户会觉得响应很快,5-8 秒用户就开始产生反感,超过 8s 会选择放弃。

这里写图片描述

页面加载超过 5s 就会有 74% 的用户离开页面

(图片来源:腾讯大数据《移动页面用户行为报告》)

正是基于这样的原因,服务器压力测试成为了产品上线前的一个重要的测试环节,然而压力测试这个任务,对于测试人员来说,并不简单。


一、压力测试有哪些坑?

传统方法压力不真实,暴露问题有限

目前市场上的压测方法鱼龙混杂,有各式各样的方法,也存在着各式各样的问题。主要的测试方法有以下几种:

第一种是现网数据预估,通过压力测试过程中的部分数据,对未来大量用户访问的情况机型预估。而存在的问题是只适合简单的服务器拟合,复杂服务器数据就不太准确。

第二种是真人压测,通过邀请一定数量的真实用户来玩游戏,从而对服务器达到一个测试效果。这个测试方法有个很大的误区!就是真人压测看似很真实,但是在技术角度却是非常的不严谨,通过真人压测可以暴露出的性能问题非常有限,并且封测人数通常还是太少,虽然有几百或者几千用户在玩,但是形成的并发并不够并不真正的达到几百或几千,不足以暴露服务端性能问题;另外真人压测不适合调优,真人无法完全重复相同行为,服务器就难以进行回归调优。

第三种是接口测试,通过选择一些具有代表性的功能,通过以小见大的方式,来评估整套服务器性能。然而这类方法往往无法完整的模拟一个真实的业务场景,无法遍历整个服务器的接口,难以避免一些微小的问题。

第四种是录制回放,通过一些软件抓取数据包来获取游戏时的协议,再把这些捕获的协议重新发送给服务端,通过工具放大协议量级达到性能测试的目的。这类测试方法市面上使用很多,但是同样存在着一个问题,当面对复杂的协议交互时,单纯的放大数据包,无法产生足够压力。

传统工具使用门槛高,压力量级不足

而目前市场上进行压力测试的工具也非常多,比如 LR,Jmeter,AB 等,但是都存在着一些问题

1、部署成本高

压测过程中往往需要压测的环境,需要足够的压力来源,测试人员如果自己部署压力机,需承担服务器成本和人力维护成本。这两项的成本,每月可能就要达到上万元左右。而有时配置压力机后,进行稳定性测试的时候还会经常出现蓝屏的情况,测试产品没完成,反而先要优化测试的压力机,成本太高。

2、压力上不去

通过一些市场上本地化部署的压测软件,很难达到足够的压力数量,对于一些并发量要求较高的产品来说,在量级上就无法满足需求。

3、使用门槛高

另外一些市场上开源的工具,需要根据业务场景编写脚本,才能开启压测,对于测试人员来说具有一定的技术门槛,需要时间去学习和适应产品,具有很高的使用门槛。

二、腾讯云开放压测服务,实现一分钟完成配置

在明确了目前市面上压测工具存在的问题之后,腾讯云的合作伙伴 WeTest 开发了一种 “压测机器人”,通过高还原真实玩家的用户行为,模拟高并发场景,从而得到类似很多人同时使用产品的测试效果。基于这个技术,腾讯 WeTest 开发了压测产品 “压测大师”,对目前市场上部署成本高,压力上不去,使用门槛高等问题进行了针对性的优化。

1、云端部署服务器,成本低

通过压测大师可以直接完成云端服务器的部署,实现直接填写 URL 地址发起测试。

这里写图片描述

压力环境快速配置

2、支持百万级压力,并发高

压测大师通过调用腾讯云的云端服务器集群,实现百万级别的线上压力,用户只需输入想要的并发量级,便可以开始测试。

这里写图片描述

填写在线最大人数即可实现相应压力

3、一分钟发起测试,上手快

压测大师团队简化了压测配置过程,将往常通过脚本编写完成的场景设置,都实现了线上部署,线上调试,线上查看报告,输入人数,输入 URL 接口,直接发起测试,真正实现了一分钟完成用例配置的压测流程。

这里写图片描述

这里写图片描述

线上直接查看报告

其中在线完成用例配置的设计,大大降低了压力测试的技术门槛,一个运营人员只要输入人数和 URL,就可以直接进行压力测试。


目前压测大师已经服务了包括王者荣耀、龙之谷手游、火影忍者等多款高星级手游,也服务了包括 QQ、微信广告、微信读书、Now 直播、携程、京东、特仑苏电商、爱马仕电商等各类产品,而且使用者不局限于技术人员,运营人员、策划或者与互联网产品相关的所有人,都可以进行压测。

互联网产品的承载能力关系着产品能否给到用户正常的体验,关系着产品的收益与存亡,此次腾讯云开放压测大师服务,将为广大互联网产品服务器性能保驾护航。

目前压测大师正式对外开放,点击链接:http://wetest.qq.com/gaps/ 即可使用。

如果对使用当中有任何疑问,欢迎联系腾讯 WeTest 企业 QQ:800024531


↙↙↙阅读原文可查看相关链接,并与作者交流