典型的性能测试工具主要有2个,Load Runner和jmeter。Load Runner是商业化的,Jmeter是开源的。下面我们认识一下开源性能测试工具jmeter。

1、jmeter是什么?

Apache JMeter是Apache组织开发的基于Jave的压力测试工具。

Jmeter可以用于对服务器,网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外Jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,Jmeter允许使用正则表达式创建断言。

2、jmeter的特点

能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC)。

完全的可移植性和100%纯Java。

完全多线程框架,允许通过多个线程并发取样和通过单独的线程组对不同的功能同时取样。

各种负载统计表和可链接的计时器可供选择。

数据分析和可视化插件提供了很好的可扩展性以及个性化。

具有提供动态输入到测试的功能。

3、JDK下载,安装,配置环境变量。

JDK下载。jmeter 4.0 需要JDK 1.8或以上版本。网址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html

JDK安装。双击安装,安装之后运行cmd,输入Java -version可查看版本。

JDK环境变量配置。计算机→属性→高级系统设置→高级→环境变量→系统变量

  • 新建“JAVA_HOME”变量,变量值为:D:\Java\jdk1.8.0_171(根据jdk的实际安装路径填写)。
  • 新建“CLASSPATH”变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;(其为java加载类路径,只有类在classpath中java命令才能识别,在路径前加了个"."表示当前路径)。
  • 在path变量里添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(变量值之间用“;”隔开,注意原来Path的变量值末尾有没有“;”号,如果没有,先输入“;”号再添加变量值)。

配置之后在cmd窗口输入javac,显示命令用法则说明配置成功。

4、jmeter下载,安装。

Jmeter下载最新版本4.0。官网:http://jmeter.apache.org/download_jmeter.cgi

Jmeter历史版本下载地址:http://archive.apache.org/dist/jmeter/binaries/

Jmeter安装。Jmeter下载之后是一个zip包,解压即可。避免在一个有空格的路径安装 JMeter。这将导致远程测试出现问题。

5、jmeter启动

一般启动:双击bin目录里的jmeter.bat即可启动。

服务器模式启动:jmeter-server.bat。允许在远程节点上以服务器模式运行jmeter,并通过jmeter gui来控制。

6、jmeter工作原理

jmeter可以作为web服务器与浏览器直接的代理网关,以便捕获浏览器的请求和web服务器的响应,如此就可以很容易地生成性能测试脚本。有了性能测试脚本,jmeter就可以通过线程来模拟真实用户对web服务器的访问压力。这与LoadRunner的工作原理基本一致。

7、jmeter的目录结构

1.bin目录下是可执行文件。
jmeter.bat启动,里面可以设置jvm参数。根据经验,heap(堆内存)最多设置为物理内存的一般,默认设置为512M。如果heap超过物理内存的一般,可能运行jmeter会慢,甚至出现内存溢出。
jmeter的log在jmeter.log中查看。
jmeter.properties文件中,属性log_level.JMeter可以设置改变日志详细度。默认是info,可改为debug。也可以在jmeter界面中,点击编辑-添加-非测试元件-Property Display,它相当于把jmeter.properties文件以GUI的方式展现出来,可以在此界面修改参数。

2.docs目录下是jmeter的Java docs。

3.printable_docs目录:其中的usermanual子目录是jmeter用户手册,其中component_reference.html是最常用的核心元件帮助手册。当然你也可以打开jmeter程序后,在帮助菜单下点击“帮助”选项查看帮助手册。

4.extras目录下的文件提供了对ant的支持,可以利用ant来实现自动化,例如批量执行脚本,产生html报告等。
运行jmeter的时候会产生一个jtl文件,把它放到extras目录下,运行ant-Dtest=文件名 report就可以生成测试统计报表。

5.lib目录下的ext子目录是jmeter的核心jar包,junit子目录是放junit脚本的。用户扩展所依赖的包直接放到lib下即可,不要放到lib/ext下。

8、jmeter VS loadrunner

1 认识开源性能测试工具jmeter的更多相关文章

  1. 转 1 认识开源性能测试工具jmeter

    1 认识开源性能测试工具jmeter   典型的性能测试工具主要有2个,Load Runner和jmeter.Load Runner是商业化的,Jmeter是开源的.下面我们认识一下开源性能测试工具j ...

  2. 开源性能测试工具--Jmeter介绍+安装

     一.           Apache JMeter介绍 1.       Apache JMeter是什么Apache JMeter 是Apache组织的开放源代码项目,是一个100%纯Java桌 ...

  3. 【转】开源性能测试工具 - Apache ab 介绍

    版权声明:本文可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途.本人保留对本文的一切权利.如需转载,请在转载是保留此版权声明,并保证本文的完整性.也请转贴者理解创作的辛劳 ...

  4. 性能测试工具Locust,一个开源性能测试工具

    性能测试工具Locust,一个开源性能测试工具使用Python代码来定义用户行为.用它可以模拟百万计的并发用户访问你的系统.1.它与目前主流的LoadRunner和Jmeter玩法都不一样.2.它完全 ...

  5. 性能测试工具 jmeter 分布式压力测试实操

    性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布 ...

  6. 性能测试工具JMeter 基础(六)—— 测试元件: 线程组

    线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...

  7. 如何使用JMeter开源性能测试工具来构建Web性能测试体系

    一.性能测试一些概念 性能测试:就是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试.负载测试和压力测试都属于性能测试,两者可以结合进行. 负载测试:确定在各种工作负载 ...

  8. 性能测试工具JMeter

    JMeter介绍     Apache JMeter是Apache组织的开放源代码项目,具有极高的可扩展性,是一个100%纯Java桌面应用,用于压力/性能测试.JMeter可以用于测试静态或者动态资 ...

  9. Tools - 负载性能测试工具JMeter

    JMeter简介 HomePage:http://jmeter.apache.org/ Apache JMeter是Apache组织开发的基于Java的开源负载性能测试工具. 可以用于对服务器.网络应 ...

随机推荐

  1. [React] 07 - Flux: uni-flow for react

    相关资源 Ref: [Android Module] 03 - Software Design and Architecture Ref: Flux 架构入门教程 Ref: 详解React Flux架 ...

  2. Oracle迁移至PostgreSQL工具之Ora2Pg

    1. 描述 Ora2Pg是一个免费的工具,用于将Oracle数据库迁移到PostgreSQL兼容的模式.它连接您的Oracle数据库,自动扫描并提取它的结构或数据,然后生成可以装载到PostgreSQ ...

  3. 题目1015:还是A+B(简单判断)

    题目链接:http://ac.jobdu.com/problem.php?pid=1015 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  4. @Cacheable注解式缓存不起作用的情形

    @Cacheable注解式缓存使用的要点:正确的注解式缓存配置,注解对象为spring管理的hean,调用者为另一个对象.有些情形下注解式缓存是不起作用的:同一个bean内部方法调用,子类调用父类中有 ...

  5. Spark Pipeline

    一个简单的Pipeline,用作estimator.Pipeline由有序列的stages组成,每个stage是一个Estimator或者一个Transformer. 当Pipeline调用fit,s ...

  6. G - Line of Sight

    来源poj2074 An architect is very proud of his new home and wants to be sure it can be seen by people p ...

  7. B - Space Ant

    The most exciting space discovery occurred at the end of the 20th century. In 1999, scientists trace ...

  8. 三剑客之grep

    简介 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它 ...

  9. ubuntu部署git

    先更新本机内置的程序. sudo apt-get updatesudo apt-get upgrade再判断系统是否内置了add-apt-repository命令,如果没有执行下列命令安装 sudo ...

  10. Django----djagorestframwork使用

    restful(表者征状态转移,面向资源编程)------------------------------------------->约定 从资源的角度审视整个网络,将分布在网络中某个节点的资源 ...