腾讯云开放云压测“黑科技“,产品上线从此不再“压力山大"
商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。
能否解决“高并发”问题一直是检验一个产品后台是否稳定,架构是否合理,性能是否强大的核心标准。对于产品而言,多高的并发才算是“高”?不同的产品不尽相同。对于小型的产品来说,每秒上百的在线人数就会导致产品无法响应,而对于一些几经考验的产品,每秒上万,上百万的并发才能满足他们的业务需求。当产品的承载能力遇到瓶颈的时候,会出现什么样的问题呢?发包不断超时,页面不断加载,然后页面无法响应,直到最后服务器崩溃。
在社交网络发达的今天,用户的愿意等待的时间越来越短,这些问题对于用户来说,是无法容忍的。调查显示如果页面加载超过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
腾讯云开放云压测“黑科技“,产品上线从此不再“压力山大"的更多相关文章
- 压力测试(六)-阿里云Linux服务器压测接口实战
1.SpringBoot 接口打包,并用jar包方式部署 简介:用jar包方式在控制台进行启动 打包 mvn package && java -jar target/gs-spring ...
- Net实现阿里云开放云存储服务(OSS)
1 第一步框架搭建新建一个全新的MVC项目 (项目参考文档https://docs.aliyun.com/?spm=5176.383663.9.6.5OJI07#/pub/oss/sdk/sdk-do ...
- 压测2.0:云压测 + APM = 端到端压测解决方案
从压力测试说起 压力测试是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患.与功能测试不同,压测是以软件响应速度为测试目标的,尤其是针对在较短时间内大量并发用户的访 ...
- [SCF+wetest+jmeter]简单云性能压测工具使用方案
前言 压测太难?局域网压力无法判断服务器网络指标?无法产生非常大的并发量?云性能太贵? 也许我们可以把各种简单的工具拼起来进行压力测试! 准备 https://cloud.tencent.com/pr ...
- windows下Jmeter压测端口占用问题
https://blog.csdn.net/weixin_43757847/article/details/88188091 1 前情提要人脸识别项目中,云平台新增了人脸识别的校验接口.考虑到存在大量 ...
- wrk压测工具使用
介绍分为四部分 1.wrk简述 2.wrk安装 3.wrk运行参数 4.wrk高级用法 1.wrk简述 当使用ab做压测的时候发现,ab的客户端消耗很大,而且测试时性能较差,测试redis,sprin ...
- mysql常用压测工具
关键字:mysql压测工具 mysqlslap.sysbench 基准测试sysbench 压力测试 tpcc 具体怎么使用百度
- 使用apache的ab命令进行压测
1. 背景:互联网发达的今天,大大小小的网站如雨后春笋,不断出现,但是想要做出一个网站很简单,但是想要做好一个网站,非常非常难,首先:网站做好之后的功能怎么样这都是次要的,主要的是你的网站能承受怎么样 ...
- ab命令做压测测试
1. 背景:互联网发达的今天,大大小小的网站如雨后春笋,不断出现,但是想要做出一个网站很简单,但是想要做好一个网站,非常非常难,首先:网站做好之后的功能怎么样这都是次要的,主要的是你的网站能承受怎么样 ...
随机推荐
- MSSQL 常用操作
0.GUID去除横线和变换为小写 SELECT LOWER(REPLACE(LTRIM(NEWID()),'-','')) 1.IDENTITY 函数说明 IDENTITY ( data_type [ ...
- [转载] Thrift原理简析(JAVA)
转载自http://shift-alt-ctrl.iteye.com/blog/1987416 Apache Thrift是一个跨语言的服务框架,本质上为RPC,同时具有序列化.发序列化机制:当我们开 ...
- ssh相关原理学习与常见错误总结
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- [O]ORACLE物化视图的使用
用于数据复制的物化视图 物化视图的一个主要功能就是用于数据的复制,Oracle推出的高级复制功能分为两个部分,多主复制和物化视图复制.而物化视图复制就是利用了物化视图的功能. 物化视图复制包含只读物化 ...
- Redis Save 与 BGSAVE 的区别
一,save保存数据到磁盘的方式: Redis Save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘. 语法redis Sav ...
- spring中的自定义标签
为了给系统提供可配置化支持,一般会用原生态的方式去解析定义好的XML文件,然后转化为配置对象.这种方式对于简单.单一的配置文件,或者是XML配置格式固定的配置文件,比较容易处理.但是对于一些配置非常复 ...
- Mysql--单表数据记录查询
1.简单数据记录查询 1.1 简单数据查询 1.1.1 查询所有字段数据 例子: 1.1.2 "*"符号的使用 语法: 例子: 1.1.3 查询指定字段数据 例子: ...
- Java第二季
1.封装 (1)概念 将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. (2)封装的实现步骤 2.Java中的访问修饰符 3.继承 (1)Ja ...
- 边框(Border) 和 轮廓(Outline) 属性
border 复合属性.设置对象边框的特性. 标签定义及使用说明 如果上述值缺少一个没有关系,例如border:#FF0000;是允许的. 默认值: not specified 继承: no Java ...
- TreeSet(一)--排序
TreeSet(一) 一.TreeSet定义: 与HashSet是基于HashMap实现一样,TreeSet同样是基于TreeMap实现的. 1)TreeSet类概述 ...