不是吧?你居然还不懂性能测试!
一、压测常识1、性能测试的工作流程
2、性能测试的类别
·负载测试:
通过逐步加压的方法,达到既定的性能阈值的目标,阈值的设定应是小于某个值,如cpu使用率小于等于80%。
·压力测试:
通过逐步加压的方法,使得系统的某些资源达到饱和,甚至失效的状态,简单粗暴的解释就是什么条件能把系统压崩溃。
·并发测试:
在同一时间內,多个虚拟用户在同时访问同一个模块,同一个功能,通常的测试方法就是设置集合点。
·容量测试:
通常是指数据库层面的,目标是获取数据库的最佳容量能力。又称为容量预估。具体测试方法为在一定的并发用户,不同的技术数据量下,观察数据库的处理能力,即获取数据库的各项性能指标。
·可靠性测试:
又称为稳定性测试或疲劳测试。是指系统在高压情况下,长时间的运行是否稳定。
如cpu使用率在80%以上,7*24小时的运行,系统是否稳定。
·异常测试:
又称为失败测试。是指系统架构方面的测试,如在负载均衡中,要测试宕机,节点挂掉等情况的系统反映。
3、性能指标的定义
·事物
从客户端发起的一个请求或多个请求(这些请求组成一个完成的操作),到客户端收到服务器返回的响应。
·请求响应时间
客户端发起的一个请求开始,到客户端接收从服务器返回的响应,整个过程所耗费的时间。
·事物响应时间
事务可能是一个或者多个请求组成的,事物响应时间主要针对于用户的角度而言,如转账。
·并发
没有严格意义上的并发。并发总有先后,无论差距是1毫秒还是1微秒,总有一个时间差。所以并发讲的是一个时间范围内,比如1S内。
举例:
1、多用户在系统上进行同一操作,比如双11,大家针对同一种商品进行秒杀。
2、多用户在系统上进行不同操作,比如双11,大家针对不同商品进行秒杀,或者大家有进行其他操作,比如商品浏览。
并发用户数:同一单位时间内,对系统发起请求的用户数量。
吞吐量:一次性能测试过程中网络上传输数据量的总和。
二、服务器性能测试范围
1、CPU
2、内存
3、磁盘
4、网络
5、版本
6、性能损耗的计算方式
怎么计算性能损耗?(相同的指标,相同的场景,相同的用户并发数进行多次同样的压测)
三、脚本编写
可以直接用Jmeter的接口案列进行压测—需设置好线程数、循环次数、持续时间和吞吐量控制器(准备好这4大件,就可以开启性能压测之旅了)。
四、压测实践
1、下载Jmeter zip包上传到服务器
2、解压unzip apache-jmeter-3.3.zip
3、给jmeter.sh 赋权 ,进到解压目录的?/jmeter/bin 下,
chmod 777 jmeter.sh,可用??sh jmeter.sh -v 来检测命令是否可用:
4、上传测试计划(将本地保存好的测试计划文件,上传至服务器,我上传到的目录是apache-jmeter-3.3/bin/data)
执行测试计划(在bin目录下执行):
sh jmeter.sh -n -t yali_test/yougou_app_coupon.jmx -l yali_test/test_2018_10_17_001.jtl
五、压测结果查看与分析
导出结果:sz test_2018_10_17_001.jtl
导出jtl文件在window下,用Jmeter文件可打开查看报告(新建一个聚合报告,然后点击浏览,即可查看)
六、异常问题定位分析
后面会讲一个完整的性能测试流程以及服务器性能监控及调优方法。
例如:压测前准备事项、造压测数据的策略与唯度、压测策略、压测结果分析、性能测试压力模型、Dubbo框架、如何发现系统性能问题、调优过程等等,敬请期待···
页:
[1]