想做iPhoneX抢购活动?压测大师先教你优化网站后台

北京时间9月13日凌晨1点,iPhone 10周年,在Apple Park乔布斯剧院,苹果发布了三款新iPhone。全面屏iPhone X来袭,这款被定义为未来的智能手机黑科技满满:全面屏,无线充电、面部识别“Face ID”以及跟踪你脸部动作的Animoji。和往年的苹果秋季发布会一样,发布会在开始之前就获得了极高的关注,苹果官网也会承受极大的并发压力,看看往年的情况:

2014年的iPhone 6预购的情况: 

2014年9月12日下午三点,香港各个公司的办公平台都在不断的刷新苹果官网,当天苹果官网无法承载用户压力导致无法访问,网页通过多国文字显示“我们将很快恢复服务”。

时隔一年,iPhone6s的预约情况: 
9月12日,距离iPhone 6s开始预约不到两小时,尝试打开苹果官网浏览,结果显示无法访问。不光是苹果中国官网,美国以及中国香港、中国台湾等地均出现了类似故障。 

今年,苹果官网早早的在发布会前5小时就开始维护,而今年,苹果官网没有再出现官网崩溃的情况。

网站的访问速度是企业必须要做好的事情。谷歌和一些网站的研究表明,用户们只愿意访问那些打开速度最快、性能最好的网站。一个网站每慢一秒钟,就会丢失许多访客,甚至其中很多访客永远不会再次光顾这个网站,对于APP来说,也是同理。

众多电商公司开始磨拳擦掌开始做iPhone8和iPhoneX的活动了,不过这里必须要问自己一句,你的活动页面准备好了吗?

活动前的压力测试,是做预约抢购活动必须经历的一个测试环节。

制定压测目标

对活动页面进行压力测试的根本目的,是要实现活动页面上线时能够正常运行。不过在压力测试前,需要对“用户访问页面”的逻辑有清晰的认识。

这里举个例子: 
中午去“海底捞”吃饭。 “海底捞”就是你的活动页面。客人去吃饭,就是用户对这个活动页面发起请求,对这个页面造成了一定的负载。客人越多,这个页面负载就越大。几个桌子的客人一起开始点菜,就是对你的活动页面产生了并发。同时,其他桌有的在吃菜,有的在等菜,这些都是并发进行的事务。所以,一个请求会有多个事务产生,比如:点菜,下单,上菜,买单等步骤。

那么如何衡量这个饭店的承载能力好坏呢?

1、先看客人能不能一起进来,饭店能同时容纳多少人进来,就是并发量 
2、客人进入饭店,发起下单的请求后,饭店要花多长时间上菜,我们称之为响应时间 
3、饭店每秒可以给多少客人上菜,我们称之为TPS(每秒处理事务数)

了解了这些指标之后,就基本可以很清晰的制定压测的目标了。

用户可以根据自己活动页面的实际需求,给这些指标设置具体的数值。例如,这边以某个压测大师的合作产品为例,指标要求设置如下: 
● TPS:>1500次/s 
● 响应时间:<200ms 
● 并发量:400

创建测试

在制定完压测的目标之后,需要选择一个合适的压测工具,这边以WeTest压测大师为例: 
1、进入腾讯WeTest官网,http://wetest.qq.com/ 
2、选择“性能测试”下的“服务器性能” 

3、进入项目(如果没有创建过项目,点击“创建新项目”) 

4、进入项目后,点击压测产品首页中的创建测试按钮,选择URL测试。 

5、填写名称和用例备注,确定压测的机器人配置。 
根据活动页面的承载要求,并发人数为400,因此测试的起始人数就可以设置为400,每隔30秒增加0人,最大人数为400,代表页面上线后便产生了400的并发人数,并持续了30秒。 (30秒可增加,代表400并发的持续时间) 

6、新建客户端请求,确认要压测的地址和客户端请求方式。 
客户端请求包括Web,H5和APP接口等多种形式,方法选择可选GET和POST(在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。GET - 从指定的资源请求数据;POST - 向指定的资源提交要被处理的数据),协议可以选择“HTTP”和“HTTPS”。 

客户端请求截图,图中填写了WeTest的测试地址

7、确认压力源,外部服务器选择“腾讯云”即可。 

8、编辑测试模型,根据实际要求,如果只有一个压测场景,把100%的压力都放在该场景上。 

9、开始测试。点击“立即执行”,开始测试。

结果查看与分析

点击“立即执行”之后,测试会马上进入排队系统,如果压力源系统内有空闲资源将马上执行测试。

在测试过程中,测试报告页面会实时显示“人数趋势”和“收发包率”,用户可以实时查看接口的压测情况。 

总体概况

压测结果可以首先查看总体的情况,了解本次压测的结果。

再来回顾一下活动页面主要关注的三个指标: 
● TPS:>1500次/s 
● 响应时间:<200ms 
● 并发量:400

压测大师测试报告页面会显示总体的数据概况,用户可以通过这些数据了解压测的基本结果。在服务器优化前后我们分别选取了两份不同的测试报告,内容如下: 
测试报告一: 
响应时间2259.03ms超出200ms, TPS 82.44次/s低于1500次/s的要求,这次测试结果不符合活动要求。 

测试报告二: 
经过优化后,活动页面的响应时间和TPS均满足要求,服务器优化很成功 

具体数据情况

在测试过程中,可以通过“事务数据“查看测试过程中的问题详情。 

观察下图右侧“请求统计”中成功、失败、错误和超时的比例情况,了解此次压测收发包的精确结果。

下图右侧的“耗时统计”获取各类具体的耗时情况。 
测试报告一: 
此份报告可以看出TPS最高才达到了100左右,不满足测试需求 

而看”响应时间“的统计图,可以发现从刚开始400的并发,服务器的响应时间就到了1000ms。 

测试报告二: 
此份报告可以看出最低的TPS便达到了1600次/s,满足测试需求; 

通过对活动页面反复的调试和压力测试,开发者可以迅速的发现服务器性能的瓶颈,并加以修复,保证页面在活动当天可以承载足够的压力,完成一个成功的活动。



WeTest压测大师旨在降低开发者在服务器性能测试方面的门槛,迅速发现服务器端的性能瓶颈,进行针对性的性能调优,降低服务器采购和维护成本,提高用户留存和转化率。目前主要优势如下: 
● 一分钟发起测试,无需编写脚本 
● 无需配置压力机,随开随用,轻松发起十万压力 
● 支持HTTP、HTTPS等协议,覆盖Web,H5,APP,游戏等主流场景 
● 实时查看测试报告,多维度报告对比,迅速定位性能瓶

目前WeTest压测大师已经正式对外开放: 
体验地址:http://wetest.qq.com/gaps/

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

时间: 2024-12-26 16:51:43

想做iPhoneX抢购活动?压测大师先教你优化网站后台的相关文章

【阿里云产品公测】利用PTS服务优化网站数据库读写性能

[阿里云产品公测]利用PTS服务优化网站数据库读写性能 作者:阿里云用户千鸟 写这个帖子主要也是因为在用PTS测试网站的时候,手动访问网站进入报错页面,主要原因是数据库连接对象存在问题,导致并发多的时候产生故障,于是简单分析了一下数据库读写的性能优化以及利用PTS的测试结果,整理出来和大家分享一下,顺便参加一下这个活动.        几乎所有的网站都需要数据库来存储网站中的相关信息,因此在网站应用与数据库的交互过程中,数据库数据读取的性能对网站整体的性能是至关重要的. ?      通常我们在

基于Locust、Tsung的百万并发秒杀压测案例[转]

编者按:高可用架构分享及传播在架构领域具有典型意义的文章,本文是 3 月 27 日数人云运维负责人庞铮在北京“百万并发”线下活动中的分享记录.   不久前,数人云联合清华大学交叉信息研究院 OCP 实验室通过 10 台 OCP 服务器成功承载了百万并发 HTTP 请求. 此次实验设立的目标是在物理资源最小值的情况下完成 100 万并发处理,通过此次实验,最大化验证了基于 Mesos 和 Docker 技术的数人云 DCOS (数据中心操作系统)承载高压的能力. 百万压测工具与硬件 压测工具 本次

Http压测工具wrk使用指南

用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持LuaJIT和OpenSSL,不过不用担心,大多数类Unix系统都支持.安装wrk非常简单,只要从github上下载wrk源码,在项目路径下执行make命令即可. git clone https://github.com/wg/wrk make make之后,会在项目路径下生成可执行文件wrk,随后

后端服务性能压测实践

转自:https://mp.weixin.qq.com/s/XW9geHZ9odHdI7srDiKBIg 目录 背景 环境检测 压力机及压力工具检测 Linux openfiles limit 设置 排查周边依赖 空接口压测检测 聚合报告中 throughput 计算 压测及性能排查方法 关注各纬度 log Linux 常规命令 性能排查两种方式(从上往下.从下往上) 总结 背景 最近大半年内有过两次负责性能压测的一些工作.一件事情做了一次可能还无法总结出一些东西,两次过后还是能发现一些共性问题

大并发的压测使用阿里的TPS(工具推荐篇)

前言: 先说下写这篇博客的由来,因双十一来临,作为电商,日活百万的产品是需要做双十一的压测的.根据当前线上qps为3600来计算,双十一的目标翻十倍,qps达到36000,当前的压测结果:1万的并发qps为2万,所以推测出大概并发在1w5左右(推测的东西会随便具体情况变化而变化),对于这种万级的并发,我觉得有条件可以搭建集群jmeter压测,那么就要考虑资源例如1万5的并发,一台支持500的并发就得30台机器,这个单机支持多少并发可以用压测的某个接口尝试下压测,根据当前机配置扩展,如果机器能到1

(转)后端服务性能压测实践

作者:王清培(Plen wang) 传送门:https://www.cnblogs.com/wangiqngpei557/p/7953453.html ---------------------------------------------------------------------分割线------------------------------------------------------ 入职新公司,没人理我,负责的需求开发一直很忙,要么环境有问题,要么Bug卡住我找开发,回了一句

日新进用户200W+,解密《龙之谷》手游背后的压测故事

2017年3月,腾讯正式于全平台上线了<龙之谷>手游,次日冲到了App Store畅销排行第二的位置,并维持到了现在.上线当日百度指数超过40万,微信游戏平台数据显示预约数780多万,而据内部人员透露当日新进用户200W+,这就是<龙之谷>手游在安卓平台上所取得的成绩. 较高的市场期待让腾讯测试团队对<龙之谷>手游的测试倾尽全力,面对"经典IP"和盛大游戏一贯口碑,腾讯测试团队对游戏服务器进行了严格的压力测试,上线后服务器稳定的表现也证明了测试团队的

全链路压测自动化实践

背景与意义 境内度假是一个低频.与节假日典型相关的业务,流量在节假日较平日会上涨五到十几倍,会给生产系统带来非常大的风险.因此,在2018年春节前,我们把整个境内度假业务接入了全链路压测,来系统性地评估容量和发现隐患,最终确保了春节期间系统的稳定. 在整个过程中,我们意识到,全链路压测在整个系统稳定性建设中占有核心重要的位置,也是最有效的方案.结合实际业务节假日的频率(基本平均一个月一次),如果能够把它作为稳定性保障的常规手段,我们的系统质量也能够得到很好的保障.同时,为了解决周期常态化压测过程

利器: 用Siege做Web服务器压测

用「Web压测」关键词检索,能找到好多进行压测的工具,比如ab.Http_load.Webbench.Siege这些,不过今天并不是要对这些工具做对比,毕竟我们只是想得到一个结果.本文主要介绍Siege,因为Siege是上面四者中,在Mac上安装和使用最便利的,所以果断就是它了! 准备工作 在压测开始前,你需要确保你的open files足够大,否则会报TOO MANY FILES OPEN错误,可以通过ulimit -a查看,如下图: 使用ulimit -n 10000可以修改该值.不过这种修