性能测试流程 - 十八岁 - 博客园

标签: | 发表时间:2019-12-11 21:33 | 作者:
出处:https://www.cnblogs.com

前段时间做了一个压测项目,对压测过程中学到的知识进行了总结,在此和大家分享下:

一、确定压测的目的

1. 通过不断加压,得到服务器峰值,找出系统瓶颈。

2. 验证系统的稳定性。

3. 确定系统各项指标是否满足上线预估目标。

4. 为后期性能优化提供参考依据。‍

 

二、解决环境问题

压测时,要隔离线上环境,以免影响线上其他业务,主要关注以下三点:

1. 如果有测试环境,首选测试环境。

2. 如果只有线上环境,要确保线上环境没有其他业务。

3. 要压测的环境所接入的第三方接口也要确定做到隔离线上环境。‍

 

三、压测环境要求

1. 稳定性。由于压测时会持续打压并保持一段时间,所以测试环境的稳定性尤为重要。测试环境的稳定性决定了测试结果的准确性。

2. 独立性。在搭建环境时,要尽量保证测试环境的独立性,最好是测试环境不与其他系统共用,减少不确定的因素可能对测试过程的影响,导致测试结果不准确,以及避免压测对其他服务的影响。

3. 可控性。在进行压测时,测试环境中的所有设备和资源应该是可以监测和控制的。以免出现异常而未察觉,造成不可挽回的失误。‍

 

四、确定预期目标

压测前,要与产品、运营、开发一起预估各项预期数据目标。

预估之前,需要先考虑如下情况:

1. 产品所依附的平台的用户数,访问量是多少?

2. 产品是否会大力宣传推广?

3. 产品是否会先灰度上线进行观察和监控?

4. 该产品的目标用户数、访问量是多少?

5. 用户对该产品的关注度怎么样?

6. 会不会有其他产品影响到该产品的QPS?

7. 产品是否存在使用高峰期?

8. 产品上线的准备数据是否充足,操作方便,满足需求,能够吸引大量用户上线后瞬间频繁使用该产品或持续增加用户使用量(预估产品峰值是发生在刚上线的时候,还是通过用户的逐渐增加而产生)?‍

 

五、预估方法

1. 根据经验预估。

  一个做过多次性能测试的测试人员,基本清楚一个产品的QPS大概能达到多少,需要留有多少的容错空间。这是一种简单快速的预估方法。

2. 参考同类产品或相似产品。

  如果有同类或相似产品,可以根据同类或相似产品的QPS进行预估,比如社区类的微博、电商类的淘宝等等。

3. 灰度上线试行。

  灰度是指该产品只对某些用户可见及使用或抽出核心功能快速上线供用户使用,以此来统计及预估产品的各项数据。如果可以灰度上线试行进行预估,那就尽量用这种方式进行。这是最真实可靠的数据。

4. 根据上一版本的QPS进行预估。

  如果是版本迭代的产品,可以根据上一版本的QPS及版本优化后预估增加或减少的QPS预估出新版本上线后的QPS。

5. 如果以上方式都不适用,可采用8/2原则。

  8/2原则是指80%的请求访问在20%的时间内到达。是通用的预估方式。可根据系统pv测算出QPS值。峰值QPS=(总pv * 80%)/(60*60*24*20%)。‍

 

六、制定压测方案

  根据压测目的和预期目标制定测试计划,包括压测时间和压测分组,其中压测分组又包括系统配置、数据来源、压测时长、压测步骤、测试结果。‍

 

七、数据准备,脚本准备

  有了压测方案,接下来就要准备压测需要的数据及脚本。其中压测数据尽量模拟线上真实用户的数据,得出的结果更加准确。‍

 

八、执行压测

1. 根据测试方案里的分组分别进行测试。

2. 首先通过向服务器不断加压,得到服务器峰值QPS(通过不断加压,平均响应时间及QPS趋于稳定,即为峰值QPS)。

3. 对峰值QPS持续压测2个小时(视情况而定,一般是2个小时,如果预估系统会长时间处在高峰期,或者系统性能不是很稳定,可加长压测时间至24小时)来验证系统的稳定性。

4. 通过向服务器不断加压,到达一定QPS,响应时间明显变慢或报错,这个拐点即是服务器的瓶颈。

5. 压测结束后,分析压测结果,得到TP99和TP95。

6. 根据压测结果,衡量性能是否符合预期,编写测试报告。‍

 

九、测试报告

测试报告一般包括如下几点:

① 测试结论。测试结论包含两部分:第一部分是将测试结果精简成一句话,并附上是否可以上线。例如“测试结果符合预期,可以上线。”第二部分是评估方法等一些支撑结论的数据。

② 风险备忘。根据测试结果,分析可能存在的风险,经与产品运营沟通,不影响上线,可列为风险备忘。

③ 优化建议。根据压测得到的系统瓶颈给出优化建议。

④ 测试结果。指每组测试的详细曲线图及结论。

⑤ 测试数据。指压测时传的参数来源,参数尽量用线上的真实数据,模拟线上真实用户的请求。

⑥ 测试分组。与压测方案里的测试分组是相同的概念,这里不再赘诉。‍

相关 [性能 测试 十八] 推荐:

性能测试流程 - 十八岁 - 博客园

- -
前段时间做了一个压测项目,对压测过程中学到的知识进行了总结,在此和大家分享下:. 通过不断加压,得到服务器峰值,找出系统瓶颈. 确定系统各项指标是否满足上线预估目标. 压测时,要隔离线上环境,以免影响线上其他业务,主要关注以下三点:. 如果只有线上环境,要确保线上环境没有其他业务. 要压测的环境所接入的第三方接口也要确定做到隔离线上环境.

mongodb性能测试

- - 数据库 - ITeye博客
1) Mongodb的非安全插入方式,在一开始插入性能是非常高的,但是在达到了两千万条数据之后性能骤减,这个时候恰巧是服务器24G内存基本占满的时候(随着测试的进行mongodb不断占据内存,一直到操作系统的内存全部占满),也就是说Mongodb的内存映射方式,使得数据全部在内存中的时候速度飞快,当部分数据需要换出到磁盘上之后,性能下降很厉害.

WebService性能测试

- - ImportNew
(本文也会在最下面通俗的介绍). 这里给一个站内大哥的讲解: http://www.cnblogs.com/Leo_wl/archive/2010/05/20/1740205.html. 简单点就是测试WebService的一个工具. 官网地址: http://www.soapui.org/. ps:官网是英语的,如果你英语不好的话可以使用谷歌浏览器或360极速浏览器,它可以自动把英文转换成中文.

性能测试工具 CBenchmark

- lele - 开源中国社区最新软件
CBenchmark—-CharlesCui’s Benchmark 这是我实现的一款性能测试工具,之前在工作中常用LoadRunner之类的工具来完成性能测试,但受限于LR极其昂贵的Lisence以及难以定制的SDK,于是我用C/C++实现了这个工具,并借助Linux系统对线程和进程的良好调度,可以实现极高的并发压力.

浏览器性能测试

- - Taobao QA Team
浏览器作为一个浏览网页的平台,自身的性能直接影响网页的解析速度、渲染,而浏览器的性能一般又是由浏览器的内核来决定. 虽然浏览器的评测方法有很多,但是权威的浏览器性能测试方法主要有以下几种:. Acid3测试是检测浏览器与Web标准兼容性的主要方法,也是目前行业中最权威的测试. Acid3是由网页标准计划小组(Web Standards Project, WaSP)设计,测试焦点集中在ECMAScript、DOM Level 3、Media Queries和data: URL,浏览器开启 http://acid3.acidtests.org/测试页面后,页面会不断加载功能、直接给予分数.

【闲说】性能测试

- - 并发编程网 - ifeve.com
版权声明:本文为本作者原创文章,转载请注明出处. 感谢 码梦为生| 刘锟洋 的投稿. 性能测试是一件看起来不简单,操作起来确更困难的事情,我认为,每认真做一次性能测试,一定会有不同收获,而每次性能测试暴露的问题,现象都不是仅仅涉及Java,tomcat这么简单,简单说就是光会写代码是无法做好性能测试的.

Android应用性能测试

- - CSDN博客推荐文章
java虚拟机有内存使用上限的限制. adb shell进入手机,这此参数被纪录在/system/build.prop中,如果想直接查看可以使用adb shell getprop. 单个应用程序最大内存限制,超过这个值会产生OOM. 单个java虚拟机最大的内存限制,超过这个值会产生OOM. android程序内存一般限制在16M,当然也有24M的,而android程序内存被分为2部分:.

web性能测试指标

- - 研发管理 - ITeye博客
Web性能测试的部分概况一般来说,一个Web请求的处理包括以下步骤:. (2)web server接受到请求,进行处理;. (3)web server向DB获取数据;. (4)webserver生成用户的object(页面),返回给用户. 给客户发送请求开始到最后一个字节的时间称为响应时间(第三步不包括在每次请求处理中).

node.js调研与服务性能测试

- lostsnow - 淘宝数据平台与产品部官方博客 tbdata.org
这几天对nodejs进行了一下简单的调研. 考虑到今后的应用场景, 实现了一个简单的memcache代理服务.. 内部维护了一个50连接的简单连接池, 通过长连接与memcache服务器相连.. 同时对外提供socket代理服务与http restful服务. 测试使用编译安装的node.js v0.3.1,未使用任何第三方modules.

HBase随机读写性能测试

- jiaosq - NoSQLFan
本文转载自淘宝网BlueDavy同学的博客,文章基于淘宝对HBase的大量应用,给出了一个HBase的随机读写性能测试结果,对测试环境、配置及性能参数分析都有较详细的描述,推荐给各位NoSQL Fans. 根据最近生产环境使用的经验,更多的项目的采用,以及采用了更加自动的测试平台,对HBase做了更多的场景的测试,在这篇blog中来分享下纯粹的随机写和随机读的性能数据,同时也分享下我们调整过后的参数.