Jmeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
jmeter的工具:性能测试
负载和压力的区别:
负载测试:在一定的工作负荷下,给系统造成du的负zhi荷及系统响应的时间。
压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响
TPS和QPS的区别:
tps可以理解为是每秒对事务的处理的能力qps是每秒对服务器的查询能力
性能测试web端和app端测试
web端的性能指标:
https://www.cnblogs.com/flyr/p/5509451.html
响应时间(客户端向服务端的请求时间,服务端对数据库的请求时间,服务端将结果展现
到页面的时间)
响应时间258原则
吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是
吞吐率.
TPS:每秒处理事务能力
并发数:单用户的多次操作
多用户的单次操作
点击率:每秒钟用户向WEB服务器提交的HTTP请求数.
资源使用率:cpu<80%内存<80%io<40网络<30%
app端的性能指标
App端的性能指标:
Cpu内存流量电量启动时间帧率
cpu<80%内存<80%
电量的损耗:
流量的损耗:
线程和进程区别:
接口测试:postmanjmeter
Jmeter的接口测试:
1测试计划中添加线程租
2在线程租中添加http请求在http请求中需要填入
3在线程中添加查看结果树
Jmeter的压力测试
1测试计划中添加线程租
2在线程租中添加http请求在http请求中需要填入
3.在线程租中进行修改并发数量(修改线程数量修改循环次数)
4.在线程组中进行添加聚合报告/表格查看结果/图形结果
作用
JMeter的作用
1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。
2.完全的可移植性和100% 纯java。
3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。
4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
5.精心的GUI设计允许快速操作和更精确的计时。
6.缓存和离线分析/回放测试结果。
JMeter的高可扩展性
1.可链接的取样器允许无限制的测试能力。
2.各种负载统计表和可链接的计时器可供选择。
3.数据分析和可视化插件提供了很好的可扩展性以及个性化。
4.具有提供动态输入到测试的功能(包括Javascript)。
5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。
在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。
相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用。
意义
1、Label: 定义的HTTP请求名称
2、Samples: 表示这次测试中一共发出了多少个请求
3、Average: 访问页面的平均响应时间
4、Min: 访问页面的最小响应时间
5、Max: 访问页面的最大响应时间
6、Error%: 错误的请求的数量/请求的总数
7、Throughput:每秒完成的请求数
8、KB/Sec: 每秒从服务器端接收到的数据量
Jmetere的断言:
断言用来判断接口的返回值是否匹配
在线程租中进行添加断言--响应断言并将json放入到响应结果中在察看结果树中来