笔记整理(七)
性能测试分类:
1、基准测试
2、并发测试
3、负载测试
4、压力测试
什么是Jmeter:
Apache jmeter 是一个100%的纯java桌面应用,用于压力测试和性能测量。它最初被设计用于Web应用测试但后来扩展到其他测试领域。
能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
JMeter常用组件
线程组:所有的任务都是基于线程组,开通多少个线程就代表有多少个并发用户;
Ramp-Up Period:在这么多时间内完成全部测试,比如开了2个线程,而Ramp-Up Period为3,则每个线程的间隔为1.5秒;
Sampler:所有的测试任务都是Sampler,即任何测试任务的类别都是Sampler,比如HTTP请求、JDBC请求、FTP请求;
断言:对Sampler的测试进行判断是否正确;
监听器:对Sampler的请求结果进行统计、显示;
常用的组件有:
HTTP请求:模拟HTTP请求;
查看结果树:对于每个请求,可以查看HTTP请求和HTTP响应;
图形结果:可以图形显示吞吐量、响应时间等;
聚合报告:总体的吞吐量、响应时间;
1、Label: 定义的HTTP请求名称
2、Samples: 表示这次测试中一共发出了多少个请求
3、Average: 访问页面的平均响应时间
4、Min: 访问页面的最小响应时间
5、Max: 访问页面的最大响应时间
6、Error%: 错误的请求的数量/请求的总数
7、Throughput:每秒完成的请求数
8、KB/Sec: 每秒从服务器端接收到的数据量
JMeter测试计划以及测试实施的注意点:
1、测试场景的设计
JMeter压力测试计划作成的时候,需要事先进行Scenario设计,设想我们业务应用中的几种场景。
比如,考虑以下的这几种场景。
Scenario1、多家经销商同时在做consumer的登录之后,大概20%的经销商在做整车登录,80%的经销商在做维修配件的登录。
Scenario2、多家经销商同时在月末进行盘点作业的。
Scenario3、多家经销商同时进行xxx功能的检索查询。
2、测试录制相关
使用JMeter的代理或是BadBoy进行录制的时候,特别是JMeter代理的时候,操作不能太快,不然容易造成录制失败。
录制之后,需要对录制之后的代码进行一定的处理。
比如,适当的追加断言,这样才能确认到这一步在实际运行中的正确性。
3、测试的实施过程中
有多个人在负责同一个系统的JMeter压力测试的时候,需要考虑不要互相干扰了。
因为大家使用的服务器的资源是一样的,没有分配好测试顺序的话,得出来的测试结果可能就不是我们所要的结果了。
是混杂的结果,那就没有意义了。
4、需要监控的一些数据
web服务器、ap服务器、db服务器等的CPU、内存、Full GC、硬盘使用量、translation数等。
还需要对JMeter中产生的聚合报告进行数据的分析。
- 阿里大牛花费近8个月整理的Java架构成长进阶笔记文档(Java岗)
- Java基础笔记整理---【05】switch分支语句、for循环语句
- sql笔记整理之多表链接查询
- 学习笔记整理——Find 命令,附带练习题及答案。
- (转载)Deep Learning(深度学习)学习笔记整理系列之(一)
- 斯坦福机器学习公开课--整理笔记(…
- 关于新版本,iOS10的相关内容,兼容iOS 10 资料整理笔记
- (转载)Deep Learning(深度学习)学习笔记整理系列之(八)
- 笔记整理——Python爬虫(三):基本概念及常用基本方法
- Linux内核设备驱动之内核中链表的使用笔记整理
- 整理的php笔记地址
- Spring笔记整理(二)之AOP_声明式事务_JdbcTemplate
- 一篇日常整理笔记
- 笔记整理(一)-sar命令的使用说明
- 20180729整理笔记
- 【转】Asp.net控件开发学习笔记整理篇 - Asp.net客户端状态管理
- 纸质笔记整理(一)
- 理解configure,make,make install(笔记整理)
- 笔记整理2
- linux整理笔记之十四:常用系统安全分析工具