Apache JMeter是一个纯Java开发的用于负载测试或者性能测试的开源软件,最初被设计是用来进行Web应用程序的测试,而现在已经扩展到Web应用之外的领域。
Apache JMeter概要信息如下表所示:
项目 | 说明 |
---|---|
官网 | https://jmeter.apache.org/ |
开源/闭源 | 开源 |
源码管理地址 | https://github.com/apache/jmeter |
License类别 | Apache License 2.0 |
开发语言 | Java |
当前稳定版本 | 5.1.1(2019/5/4) |
操作系统支持 | 跨平台,支持Linux/Windows/Mac等 |
下载地址:github release | https://github.com/apache/jmeter/releases |
下载地址:官网下载 | https://jmeter.apache.org/download_jmeter.cgi |
Apache JMeter可以用来测试静态或者动态资源与Web动态应用的性能。主要的应用场景之一在于模拟负载的情况,这些负载的对象可以是一台或者多台机器、网络等,通过Apache JMeter的负载模拟,可以了解测试对象在不同方面的综合性能。Apache JMeter的主要特性包括:
作为一个100%纯Java的应用,Apache JMeter天然具有Java的跨平台特性,可以支持多种操作系统,但是对于Java的版本,相关的支持状况从如下链接中可以获取详细信息:https://cwiki.apache.org/confluence/display/jmeter/JMeterAndOperatingSystemsTested
主要版本限制以及注意事项:
本文以目前的5.1.1为例进行介绍相关的安装步骤。
下载命令: wget http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.tgz
解压命令:tar xvpf apache-jmeter-5.1.1.tgz
确保JDK的安装与JAVA_HOME的正确设定,此处不在展开,Apache JMeter 5.1.1所需要的版本为JDK 8+。以下为安装示例环境的JDK设定:
liumiaocn:apache-jmeter-5.1.1 liumiao$ env |grep JAVA_HOME
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
liumiaocn:apache-jmeter-5.1.1 liumiao$ java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
liumiaocn:apache-jmeter-5.1.1 liumiao$
liumiaocn:apache-jmeter-5.1.1 liumiao$ bin/jmeter -v
_ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____
/ \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \
/ _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |
/ ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <
/_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ 5.1.1 r1855137
Copyright (c) 1999-2019 The Apache Software Foundation
liumiaocn:apache-jmeter-5.1.1 liumiao$
比如以5.1.1为例,解压之后得到了一个名为的apache-jmeter-5.1.1目录,apache-jmeter-5.1.1目录下的bin目录保存着JMeter启动停止等常用的脚本,示例如下所示:
liumiaocn:jmeter liumiao$ ls
apache-jmeter-5.1.1 apache-jmeter-5.1.1.tgz
liumiaocn:jmeter liumiao$
liumiaocn:jmeter liumiao$ ls apache-jmeter-5.1.1/bin
ApacheJMeter.jar hc.parameters jmeter-server.bat mirror-server stoptest.cmd
BeanShellAssertion.bshrc heapdump.cmd jmeter-t.cmd mirror-server.cmd stoptest.sh
BeanShellFunction.bshrc heapdump.sh jmeter.bat mirror-server.sh system.properties
BeanShellListeners.bshrc jaas.conf jmeter.properties report-template templates
BeanShellSampler.bshrc jmeter jmeter.sh reportgenerator.properties threaddump.sh
create-rmi-keystore.bat jmeter-n-r.cmd jmeterw.cmd saveservice.properties upgrade.properties
create-rmi-keystore.sh jmeter-n.cmd krb5.conf shutdown.cmd user.properties
examples jmeter-server log4j2.xml shutdown.sh
liumiaocn:jmeter liumiao$
Apache JMeter具有两种模式:GUI模式和CLI模式。GUI模式将会以图形方式启动JMeter,而CLI则是以命令行方式启动JMeter。
模式 | 启动参数 | 启动命令 | 说明 |
---|---|---|---|
GUI模式 | 缺省方式 | ./jmeter | 缺省方式会启动Apache JMeter的图形化界面 |
CLI模式 | -n | ./jmeter -n | 命令行方式使用JMeter |
启动示例如下所示:
liumiaocn:jmeter liumiao$ ./apache-jmeter-5.1.1/bin/jmeter -j /tmp/jmeter_log.log
================================================================================
Don‘t use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
图形界面如下所示:
这篇文章介绍了JMeter的概要内容以及环境搭建的方法,在接下来的内容中将继续展开性能测试和压力测试中常用的术语以及结合具体的实例介绍JMeter的使用方法。
压力测试工具Apache JMeter:1:概要介绍与环境搭建
原文:https://www.cnblogs.com/lonelyxmas/p/12205339.html