51Testing软件测试论坛

标题: 不是吧?你居然还不懂性能测试! [打印本页]

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

[attach]130902[/attach]
[attach]130903[/attach]
导出jtl文件在window下,用Jmeter文件可打开查看报告(新建一个聚合报告,然后点击浏览,即可查看)
[attach]130904[/attach]
  六、异常问题定位分析
[attach]130905[/attach]
后面会讲一个完整的性能测试流程以及服务器性能监控及调优方法。
  例如:压测前准备事项、造压测数据的策略与唯度、压测策略、压测结果分析、性能测试压力模型、Dubbo框架、如何发现系统性能问题、调优过程等等,敬请期待···








欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2