使用JMeter进行负载测试——终极指南

这篇教程讨论的是JMeter,它是一款基于Java的、集合了几个应用程序、具备特定用途的负载和性能测试工具。html

本篇主要涉及的内容:java

  • 解释一下JMeter的用途
  • JMeter的实现方式以及采用的技术
  • 安装与配置
  • 介绍用户界面的基本特征
  • 详细介绍不一样的测试计划的配置方法
  • 如何分析结果数据
  • 涉及几个重要的最佳实践

全部的例子都是基于Java 8 update 0.20,Eclipse Luna 4.4, JMeter 2.11, MySQL Community Server 5.6.21的开发环境。那咱们就开始吧!node

目录

引言
采用的技术
教程内容简介
安装
用户界面
可用的请求
测试计划和测试组件
执行顺序
启动与中止
HTTP请求的测试计划
MySQL测试计划
JUnit Request测试计划
记录测试
插件
最佳实践
总结
下载
资源mysql

引言

JMeter使用了不一样技术和协议,是一款能够进行配置和执行负载测试、性能测试和压力测试的工具。web

它可以模拟不一样类型的请求,例如各类类型的数据库,FTP, HTTP, HTTPS 或者其余的服务端应用。ajax

最好先来了解一下以下概念:正则表达式

  • 负载测试: 这类测试使系统或者应用程序在预先设计好的极端场景下测试运行。这类测试用来评估系统或者程序在极端条件下的行为。
  • 性能测试: 这种测试被用来检测系统的性能表现,包括特定状况下,系统的响应能力和稳定性。
  • 压力测试: 这类测试经过载入更多的外部资源,并使系统组件超越其所设定的能力范围,试图使系统挂掉。

JMeter最初的用途是用来测试web应用的,可是它的功能已获得扩展,现在已经能够针对绝大部分的程序进行测试,同时能够在你的程序中进行功能测试。sql

采用的技术

JMeter是一款Java桌面应用程序,它的用户界面采用Swing Java API实现。基于这两点,JMeter是一个跨平台工具,可以运行在任何安装了Java虚拟机的操做系统(Windows, Linux, Mac)的设备上。
它的框架支持并发和多线程或者线程组的执行。这对于配置负载测试和压力测试很是有用。
它是可扩展的,提供了大量的可用插件。
JMeter是Apache软件基金会下的一个子项目,是彻底免费和开源的(http://www.apache.org/licenses/)。shell

教程内容简介

这篇文章是针对那些没有JMeter使用经验的开发人员和软件设计人员,介绍如何使用JMeter的教程。数据库

同时针对可能不一样的配置和测试计划,提供了一些例子和使用说明。在下一个章节中,咱们将会看到如何安装JMeter,并配置、运行它,如何保存和分析不一样测试计划的结果。

安装

为了JMeter在你的电脑上安装并运行,你须要按照以下步骤进行操做:

  • 首先必须安装java环境。须要在你的电脑上安装JRE 1.6或者更高版本。只要到Oracle官网下载并安装适合您的系统的安装包: http://www.oracle.com/technetwork/java/javase/downloads/index.html。
  • 设置JAVA_HOME环境变量,使其指向jre的安装目录。Windows用户而言:
1 JAVA_HOME=C:\Program Files\Java\jdk1.8.0_20

注意设置正确你的Java版本。

  • 将java编译路径添加到系统路径下。Windows用户而言,将C:\Program Files\Java\jdk1.7.0_25\bin添加到系统变量Path尾部。

而后测试java环境在你的设备上是否安装成功,使用以下命令行:

1 java -version

应该输出相似以下信息:

1
2
3
java version"1.8.0_20"
Java(TM) SE Runtime Environment (build1.8.0_20-b26)
Java HotSpot(TM)64-Bit Server VM (build25.20-b23, mixed mode)
  • 从http://jmeter.apache.org/download_jmeter.cgi下载最新版本的JMeter,
  • 将它解压到例如C:\JMeter下(Windows)。
  • 文件夹的结构应该这样:
1
2
3
4
5
6
7
8
apache-jmeter-2.9
apache-jmeter-2.9bin
apache-jmeter-2.9docs
apache-jmeter-2.9extras
apache-jmeter-2.9lib
apache-jmeter-2.9libext
apache-jmeter-2.9libjunit
apache-jmeter-2.9printable_docs
  • 而后你就能够进入到C:\jmeter\apache-jmeter-2.11\bin(对于Windows用户),执行jmeter.bat
  • 能够看到JMeter GUI的启动界面:

GUI概述

JMeter的GUI很是直观易用。有文件处理的通用菜单,例如:新建,打开,保存,另存为等。还有启动和中止测试计划,配置的可用的菜单项。每个测试计划,线程组,测试计划节点(咱们将会在下一章看到更多这方面的内容)均可以经过点击鼠标右键,提供不一样的上下文菜单选项。

也能够改变用户界面的语言,有许多语言可供选择。

正如咱们所说的,图形用户界面是很是直观和易用的,为每一个菜单和动做提供了易用理解的工具提示。除此以外,暂且不谈它的质量,那为何JMeter是如此普遍使用?由于它很容易理解,而且易学。

可用的请求

JMeter几乎提供任何一种系统的测试配置。总的来讲,下列协议被包含在内:

  • Web: HTTP, HTTPS网站 ‘web 1.0′ web 2.0 (ajax, flex 和 flex-ws-amf): 咱们之后会看到如何测试一个潜在的网页及其行为
  • Web 服务: SOAP / XML-RPC.
  • 经过JDBC驱动的数据库。几乎支持任何一种数据库,你须要的就是一个合适的驱动程序包,并放到在JMeter安装目录的正确位置。咱们后续将作一个MySQL数据库测试。
  • 路径: LDAP.
  • 基于JMS的面向消息的服务
  • 使用POP3, IMAP, SMTP协议的邮件服务.
  • FTP服务
  • 使用JUnit和Java应用程序的进行的功能测试

测试计划与组件

基本上,使用JMeter能够进行以下操做:建立,配置,执行测试计划及结果分析。测试计划是对已配置的本地或远程服务器(或客户端)的请求集执行的具体说明。

在一个测试计划的配置中,你能够指定多个输入和输出参数,能够配置使测试计划成功执行或失败的基本条件。

JMeter测试计划是由不一样的组件组成。这里有一个最重要组件的列表,指导你如何使用JMeter的用户界面添加它们以及这些插件的做用:

线程组(ThreadGroup)

一个线程组基本上是不一样的测试计划元素的组合,它是一个测试计划的核心,它控制着基本核心参数。

为了建立一个测试计划,首先你不得不去建立一个线程组,配置以下参数:线程数量,过渡时期,循环次数和正常状况或者错误状况下的行为:

  • 线程数:执行测试计划的线程数,这个参数对于配置负载和压力测试很是重要。
  • 过渡期:JMeter开始启动全部线程所需时间。
  • 循环次数:即迭代次数,也就是测试计划被执行的次数
  • 错误行为:错误场景下的行为模式:阻止当前线程,中止整个测试,继续执行…

一个线程组也有配置选项的开始和结束时间。经过单击复选框“Scheduler”,弹出带有调度参数的面板,能够为你的测试配置开始和结束时间。

一旦配置完成,你就能够开始添加其余测试计划元素到线程组,例如采样器,侦听器和定时器。咱们将在下一章解释这一切。

采样器(Samplers)

采样器用于发送请求到不一样类型的服务器。它们是每个测试计划的基本要素,一切都围绕这些采样器而工做:采样器执行请求(基于配置的请求),这些请求产生一个或多个响应,后续将被分析。

这里有一个在JMeter可用的采样器列表(在本教程咱们将看到其中一些):

  • 访问日志采样器
  • AJP采样器
  • Bean shell取样器
  • BSF采样器
  • 调试采样器
  • FTP采样器
  • HTTP采样器
  • Java采样器
  • JDBC采样器
  • JMS(几个)采样器
  • JSR223采样器
  • JUnit采样器
  • LDAP(几个)采样器
  • 邮件阅读器
  • MongoDB采样器
  • 操做系统进程取样器
  • SMTP采样器
  • SOAP
  • TCP采样器
  • 测试行动

在上面的列表中咱们能够看到,有不少不一样类型的采样器。这个清单是不完整的,由于存在多种其余不一样于JMeter插件的实现技术。每一个采样器的配置取决于它所执行的请求;这意味着一些采样器有一些共性的配置,而另一些采样器因为它们各自请求的不一样而彻底不一样。

逻辑控制器(Logic Controllers)

逻辑控制器容许你配置一个线程组内不一样采样器的执行顺序。该列表包含了在JMeter全部可用的逻辑控制器:

  • 简单控制器
  • 循环控制器
  • 一次性控制器
  • 交错控制器
  • 随机控制器
  • 随机顺序控制器
  • 流量控制器
  • 运行时控制器
  • I控制器
  • While控制器
  • Switch控制器
  • ForEach控制器
  • 模块控制器
  • include控制器
  • 事务控制器
  • 记录控制器

监听器(Listeners)

监听器提供不一样的方式查看由采样器请求产生的结果。监听器以报表、树型结构、或简明的日志文件的形式分析结果。

还能够在测试计划中的任何地方添加监听器,但他们只会在各自的应用范围内解析和收集来自采样器的数据。

这些都是JMeter可用的监听器:

  • 样品结果配置保存
  • 全图景结果集
  • 图表结果集
  • 样条线可视化工具
  • 断言结果集
  • 树形结果集
  • 整合报告
  • 表格结果集
  • 简单数据输出
  • 监测结果集
  • 分布图(alpha)
  • 整合图
  • Mailer可视化工具
  • Beanshell监听器
  • 总结报告

定时器(Timers)

可使用定时器来定义请求之间的等待时间。若是不指定,JMeter会一个请求完成后当即执行下一个请求,没有任何等待时间。

可在JMeter使用的计时器以下:

  • 恒定的定时器
  • 高斯随机定时器
  • 均匀随机定时器
  • 恒定吞吐量定时器
  • 同步定时器
  • jsr223定时器
  • Beanshell定时器
  • BSF定时器
  • 泊松随机定时器

断言(Assertions)

断言经过验证采样器请求产生的响应,来验证测试计划的有效性。它基本上相似于单元测试断言,用来检测被测试应用程序的响应质量。你能够为每一个测试计划配置任何生效的断言。

这里是一个在JMeter可使用的断言列表:

  • Bean shell断言
  • BSF断言
  • 比较断言
  • jsr223断言
  • 响应断言
  • Duration断言
  • XML Assertion
  • BeanShell Assertion
  • MD5Hex Assertion
  • HTML Assertion
  • XPath Assertion
  • XML Schema Assertion

配置节点(Configuration nodes)

经过使用配置元素你能够将不一样的参数传递给取样器请求。他们提供了建立变量(不一样的和动态的)的一种方式,这些参数以后被采样器所使用。在采样器被执行前,参数所属节点启动时,这些参数被执行;这就是为何采样器能够依赖这些变量。

这里是一个在JMeter使用的全部配置节点列表:

  • 计数器
  • CSV数据集配置
  • FTP请求缺省值
  • HTTP受权管理
  • HTTP缓存管理
  • HTTP cookie管理
  • HTTP代理服务器
  • HTTP请求缺省值
  • HTTP头部管理
  • Java请求缺省值
  • 密钥库配置
  • JDBC链接值
  • 登陆配置元素
  • LDAP请求缺省值
  • LDAP扩展请求缺省值
  • TCP采样器配置
  • 用户自定义变量
  • 简单配置元素
  • 随机变量

前置处理器(Pre processors)

在采样器执行前,前置处理器被触发。他们可用于从响应中提取变量,这些变量后续将经过配置元素被采样器所使用。

下面都是能够用来做为前置处理器的元素:

  • HTML连接解析器
  • HTTP URL重写修改器
  • HTTP用户参数修改器
  • 用户参数
  • JDBC前置处理器
  • jsr223前置处理器
  • 正则表达式的用户参数
  • Beanshell前置处理器
  • BSF的前置处理器

后置处理器(Post processors)

后置处理器是取样器被执行后被触发执行的元素。他可用于解析响应数据,提取变量,以便后续使用
下列元素可用于后置处理器:

  • 正则表达式提取器
  • XPath提取器
  • Result status动做处理器
  • jsr223 后置处理器
  • JDBC 后置处理器
  • BSF后置处理器
  • jQuery/CSS 提取器
  • Beanshell 后置处理器
  • Debug后置处理器

测试计划元素执行顺序

测试计划的元素是有序的,经过如下方式执行:

1–配置节点

2–前置处理器

3–定时器

4–取样器

5–后置处理器(只在有结果可用状况下执行)

6–断言(只在有结果可用状况下执行)

7–监听器(只在有结果可用状况下执行)

一个测试计划能够包含一个或多个测试计划。经过功能性或者技术逻辑将测试组织在一块儿是一种常见的作法。

运行/中止测试计划

运行一个测试计划,你只须要点击“play”按钮:

点击按钮“Play no pauses”,开始一个测试并忽略全部暂停:

经过点击“中止”按钮,能够中止测试:

 

也能够禁用执行测试计划。你只须要“切换”的测试计划的状态:

 

你能够看到在上面的截图中看到,不可执行的计划呈现灰色,但能够修改他们或从新配置。

Web(HTTP)测试计划

在这一章中,咱们将看到如何建立一个经过HTTP测试一个特定的网页的测试计划。为此目的,我将用http://www.wikipedia.org网站。

有了足够理论知识,如今咱们将看到如何配置一个HTTP请求的测试计划。

  • 重命名“测试计划”,起一个你喜欢的名字

在这一步中,配置测试计划可能会影响线程的行为,您能够添加可能使用到的外部类库。不过咱们不打算在这个例子中那样作。

  • 添加线程组

在这一步,你须要建立一个负责执行全部测试组件的线程组,并配置主要属性:线程数,秒级的过渡时期,迭代次数。
在菜单中这样操做

Test Plan -> Add -> Thread ->ThreadGroup

你也能够指定错误状况下行为模式(继续,中止,中止当前线程……)

  • HTTP请求添加取样器

在这一步,给要测试HTTP请求添加采样器:

Add Sampler->HTTP Request

咱们须要为这种类请求设置不一样的属性:

在这个例子中,为要测试的服务器设置名称:www.wikipedia.org(不用指明HTTP或HTTPS协议)。若是须要的话,你应该修改端口,协议,执行方法等。在咱们的案例中这是没必要要的。这有几个关于配置代理,超时和不一样的头信息的参数,但在咱们的例子中,使用默认值。

 

  • 添加结果监听器

为了后续可以看到结果,这是有必要的;就如咱们以前在本教程中看到那样,对于咱们的http请求的测试计划,有几种可选配置,咱们使用结果树:

Add Listener -> View Results Tree

在咱们的示例中,咱们没有改变任何东西,保留全部配置属性的默认值。

  •  保存并运行测试计划

File->Save(或单击“Control + s”)

Run->Start(或单击“play”)

  • 在监听器中查看结果

咱们能够看到,全部的请求已经完成,如预期那样,他们都提供有意义的响应,如此看来,咱们测试的网页工做正常(若是这是咱们的预期行为)。咱们能够玩的转这些结果,检查全部返回的数据。

咱们已经配置了一个测试计划,它发送大量请求到指定的服务器并解析响应。接下来咱们将看到如何使用其余类型的测试组件,如定时器和断言。

  •  添加定时器

为了增长一个定时器,咱们只要右击测试计划并添加一个定时器:

Add Timer->Constant Timer

咱们配置500毫秒。每个请求都将在上一个请求执行完成后等待500毫秒。

  •  添加断言持续时间

在测试计划中,单击右键并添加一个断言持续时间,若是响应时间超过100毫秒,配置错误断言。针对the main sample only选项的配置以下:

Add assertion->Duration assertion

显然这是由于咱们配置的断言持续时间只有100毫秒,若是咱们改变这个数字到2000毫秒,几乎全部请求都将按时送达。

 

 
  • 添加size assertion

Add assertion->Size Assertion

咱们需确保响应信息的尺寸大于5000字节:

若是咱们运行测试计划,咱们将会看到响应信息老是大于设定的值,若是响应信息尺寸小于设定值,断言也会失败。

数据库测试计划指南

咱们将看到如何配置,运行一个针对MySQL数据库的测试,并对结果进行分析。这个例子是关于MySQL的,也可使用任何其余类型的数据库如Oracle,MongoDB或别的。

  • 安装MySQL

若是你没有在你的电脑安装MySQL,你能够从http://dev.mysql.com/downloads/ 下载安装MySQL服务器,这是很容易的。

  • 下载MySQL驱动程序

下载MySQL链接器(mysql-connector-java-5.1.6),将它复制到JMeter安装目录下的lib目录下,本例中是C:\jmeter\apache-jmeter-2.11\lib

  • 启动MySQL

启动数据库服务器,你能够对它进行查询。

  • 建立数据库

你能够建立一个你想要的数据库,咱们这里只是一个很是简单的例子:

1
2
3
4
5
6
7
8
9
10
11
createdatabasejmeter;
 
use jmeter;
 
createtablejmeter_stuff(idint,namevarchar(50), descriptionvarchar(50));
 
insertintojmeter_stuff(id,name, description)VALUES(1,"dani","the boss");
 
insertintojmeter_stuff(id,name, description)VALUES(2,"topo","the worker");
 
insertintojmeter_stuff(id,name, description)VALUES(3,"tupac","the other");
  • 建立一个测试计划

跟上一章节同样,进行以下操做建立测试计划:一个新的线程组,一个JDBC类型的配置元素和一个新的JDBC类型请求,以一样的方式添加一个监听器来解析和查看结果。

惟一的区别是采样器的类型,在这种状况下使用JDBC采样器。

1 select*fromjmeter_stuff;
  • JDBC链接配置

添加一个新的JDBC链接配置到采样器:

点击右键 JDBC采样器->添加链接配置

改变参数以下:

1
2
3
4
5
Variable BoundtoPool= samenameasinthe sampler
DatabaseURl=jdbc:mysql://localhost:3306/jmeter
JDBC Driver.mysql.jdbc.Driver
username=
password=

设置用户名密码

  • 保存并执行。
  • 利用以前配置的监听器查看结果。

您能够以相似在HTTP请求的测试计划相同的方式验证和检查输出结果。只要你须要,你也能够添加前置处理器,后置处理器,断言或其余任何一种元素。

您能够以相似在HTTP请求的测试计划相同的方式验证和检查输出结果。只要你须要,你也能够添加前置处理器,后置处理器,断言或其余任何一种元素。

 

 

在这种状况下,输出的是SELECT语句的结果。
你能够用这种取样器用于更新数据,以及修改采样器配置的SQL语句。
在下面的屏幕捕获的是请求响应结果的基本信息:

JUnit测试计划

在这一章中,咱们将解释如何结合JUnit使用JMeter。从负载和性能的角度来看,JMeter为执行功能测试,提供了很是强大的机制。

首先,须要建立一个像下面的JUnit测试:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
publicclassJMeterTest
{
 
    publicJMeterTest()
    {
        // just for testing purposes
        System.out.println("calling the constructor");
    }
 
    @Before
    publicvoidsetUp()throwsException
    {
        // just for testing purposes
        System.out.println("calling setup");
    }
 
    @After
    publicvoidtearDown()throwsException
    {
        // just for testing purposes
        System.out.println("calling tearDown");
 
    }
 
    @Test
    publicvoidtestMe()
    {
        for(inti =0; i <30; i++ )
        {
            // just asserting randomly in order to check what happens in each case
            intrandomNumber = (int)( Math.random() *100);
            System.out.println( randomNumber );
            assertEquals(0, randomNumber %2);
        }
    }
}
1  
为了查看JMeter如何使用他们,本试验主要包含两个断言,固然这本教程的目的不是详细解释单元测试或JUnit测试。
  • 添加JUnit测试路径

将单元测试打成一个JAR包,把它复制到JMeter的安装目录下的/lib/JUnit下。确保JAR文件包含你想让JMeter执行的测试类的.class文件。在文章的最后,你能够找到一个带有pom.xml文件的Java项目,你能够直接使用他去生成的JAR文件。如今你只须要编译代码:

1 mvn compile

或者直接在Eclipse或你喜欢的其余IDE中导出你的项目,生成包括字节码JAR文件。

  • 添加JUnit采样器请求

入前所述,建立一个测试计划,添加一个JUnit类型采样器:Add Sampler->Junit Request ,配置并执行你想要测试的方法。

在咱们的例子中,咱们将运行基于JUnit 4的方法,但你也能够勾选框使用JUnit 3。

  • 就像咱们在前几章同样,添加一个监听器,以查看结果
  • 运行测试计划
  • 查看结果

在这里,能够看到咱们刚刚建立的JUnit测试结果:

如上述截图所示,咱们全部的测试(一个测试,10次循环)都失败了。这是预期的行为,由于咱们但愿咱们的测试失败。其实咱们只是写了个单元测试,没有功能上的意义,是无用的。它的目的是要说明如何配置JMeter去执行这些类的单元测试。

在这一章所解释的内容 有助于你使用JMeter提供的便利性的功能进行应用程序的功能测试和业务逻辑的测试.它也颇有趣,由于它能够将Java语言的全部优点与JMeter的多线程能力相结合。

HTTP测试记录

如今咱们将说明如何配置JMeter记录HTTP请求。为此咱们须要Firefox安装在咱们的机器,我是用版本32。

  • 让Firefox使用JMeter代理

进入Firefox网络设置,选择手动代理选项和设置为本地主机服务器和端口8080(实际上,这加深了对你的JMeter配置)。以后选中“为全部协议使用代理服务器”。

  • 跟之前同样,首先咱们建立一个测试计划。

咱们添加了一个新的线程组,给它起名。配置线程组线程数量为50,过渡时期为10秒,循环次数等于1。

  • 添加HTTP请求默认值

在刚刚建立的线程组中添加一个新的配置元素,选择“HTTP Request Defaults”。

在这里你应该填写你想测试服务器名称。

  • 添加记录控制器

如今咱们添加一个记录控制器到工做台。

选择工做台,不是测试计划,并添加一个非测试元件的”Test Script Recorder”。

你如今应该让工做台保存起来,而且与你的测试计划无关。保存测试计划不意味着保存了工做台。

配置记录以下:

  • 添加定时器

若是你想为你的记录器添加一个定时器(常量类型),那么该定时器将由每一个被记录的HTTP请求所使用。

  • 开始记录

经过点击记录器启动按钮,你将启动JMeter代理服务器。

  • 记录显示

若是你为了生成一个HTTP请求而访问一个网页,例如使用Firefox(配置为在本章的第一步解释以后)访问http://www.oviedin.com,那么你会看到不一样的请求入口出如今你的测试计划记录控制器中。

这些记录其实是以前访问的web页面的HTTP请求。那些包含在过滤器配置测试脚本配置过的记录将被保存。能够在你的后续测试计划中从新配置使用。

JMeter插件

不一样的插件应用的场景和用户不一样,其中的一些须要安装,有些不须要安装。

一些很是有用的插件,它们经过一些高级选项来解析结果,并利用图表分析结果 例如http://jmeter-plugins.org/wiki/GraphsGeneratorListener/。

也有一些可用插件,可以将JMeter与你的持续集成工具链接,直接从CI软件运行JMeter,执行测试计划,例如”https://wiki.jenkins-ci.org/display/JENKINS/Performance+Plugin“。

正如我所说的,随着插件数量的上升,不可能列出全部的插件。因此你在实现本身的插件功能时,尽量的去互联网上查找一下是否有可用的插件,这对本身是很是有价值的。

你也能够建立你本身的JMeter插件,但这超出了本文的范围。

JMeter最佳实践

在文章末尾,咱们要写下两个颇有用的技巧和最佳实践:

  • 虽然JMeter UI是一个用于配置和建立不一样测试计划很是有用和直观的工具,可是有经验的用户更想使用非GUI模式执行测试计划,存储他们的结果。

你能够经过命令行:

1 jmeter -n -t test.jmx -l test.jtl.
  • 假设该测试就是你想要执行的测试计划。你必须提供该测试计划的完整存储路径。
  • 监听器对解析结果是很是棒的,但他们也都是资源密集型,须要消耗大量内存,在你的配置使用尽量少的监听器是有好处的。标记 -l 表示删除全部监视器,若是还没添加监视器,那么这个选项是不须要的。
  • 若是你对测试期间发生了的错误感兴趣,能够在结果树视图中查看”View only errors“标记。
  • 使用变量和循环在相同的采样代替配置几个相似的样品中的变量和参数,他们使用的是惟一的区别。
  • 使用同一个采样器的变量和循环变量,而不是建立好几个这样的采样器,他们间只是变量值不一样而已。
  • 当建立的JUnit测试计划时,建议提供有意义的错误和断言信息,以便JMeter输出尽量被人理解的内容。当进行单元测试时,一般状况下都会给出这样建议,并且彻底适用这种状况。
  • 使用Stop(Control + ‘.’)。这将尽量的当即中止线程。
  • 使用Shutdown(Control + ‘,’)。这就要求在当前任何工做结束后的中止线程。其余工具提示在https://wiki.apache.org/jmeter/jmetershortcuts均可以找到。

总结

到这里就结束了。咱们讲了如何安装JMeter,以及如何配置它用于执行不一样类型的测试,如HTTP请求,数据库,基于JUnit功能测试。还有不少种JMeter提供的测试类型没有包含在本教程中。本教程的目的是提供一个完整的应用程序说明,以及教你如何配置你的第一个测试计划。
咱们也解释了JMeter UI的主要组成部分,以及如何使用它,以及很是好用的JMeter测试计划元素。在最后一章中,咱们提到能够为JMeter安装不一样插件;对于有高级需求的经验用户来讲这是一个很是有趣的。

下载

全部JMeter模板,本文中使用的SQL脚本和Java代码能够在下面的连接下载:JMeter教程。

资源

  • http://jmeter.apache.org/
  • http://jmeter-plugins.org/
  • href=”http://en.wikipedia.org/wiki/Software_performance_testing
  • http://www.tutorialspoint.com/jmeter/
  • http://jmeter.apache.org/usermanual/get-started.html (section 2.4.3 Non-Guide Mode)
  • https://wiki.apache.org/jmeter/FrontPage
相关文章
相关标签/搜索