Jmeter 教程
Jmeter
Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能 / 回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl 脚本,java 对象,数据库和查询,FTP 服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器 / 脚本 / 对象。
官网的说法
JMeter 是可用于性能测试、功能测试、自动化测试的开源免费工具。支持数十种协议(如我们常见的应用协议 http/https, jdbc, soap,smtp 等等, 还包括网络协议 TCP,UDP),同时支持即插即用脚本和二次开发, 几乎可以适用任何测试场景。
作用
JMeter 的作用
-
- 能够对 HTTP 和 FTP 服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过 JDBC)。
-
- 完全的可移植性和 100% 纯 java。
-
- 完全 Swing 和轻量组件支持(预编译的 JAR 使用 javax.swing.*) 包。
-
- 完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。
-
- 精心的 GUI 设计允许快速操作和更精确的计时。
-
- 缓存和离线分析 / 回放测试结果。
JMeter 的高可扩展性
-
- 可链接的取样器允许无限制的测试能力。
-
- 各种负载统计表和可链接的计时器可供选择。
-
- 数据分析和可视化插件提供了很好的可扩展性以及个性化。
-
- 具有提供动态输入到测试的功能(包括 Javascript)。
-
- 支持脚本编程的取样器(在 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: 每秒从服务器端接收到的数据量