JMeter安装+配置+运行

环境配置:

    操作系统:Win7系统

    jdk版本:1.8

    JMeter版本:3.0

一  JMeter的安装配置过程

    JMeter是100%纯java应用程序,它在任何支持完整java实现的系统上都能正常运行。JMeter的安装配置对java版本的要求: JVM1.5或者更高版本。

安装配置过程:

第一步  安装JDK,配置JDK路径

到Oracle官方网站下载最新版本的jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

这里使用的操作系统是Windows,选最后一个下载,下载完直接运行安装。安装完设置一下环境参数。

  • JAVA_HOME:D:Program Files (x86)Javajdk1.8.0_131(jdk安装在哪个盘就写哪个路径)
  • Path:%JAVA_HOME%in;%JAVA_HOME%jrein
  • Classpath:%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar

打开cmd,运行java –version,能得到下面的输出就表示配置正确了。

 

第二步  下载JMeter

地址:http://jmeter.apache.org/download_jmeter.cgi

 

    当前最新版本的JMeter是3.2,要求jdk1.8以上。鉴于目前很多人还是用1.7或者更低版本的jdk,可以在这个网址上找一个低版本的JMeter安装。

    另外再说明一点,JMeter可以用来录制Web应用程序脚本,经常和Badboy这个工具搭配使用,但是Badboy貌似不能和版本太高的JMeter做搭档。这里使用的是JMeter3.0。

第三步  如果有需要,可以顺便把插件也装上,也可以不管这一步。

    1.插件下载地址:http://jmeter-plugins.org/downloads/all/

    2.插件下载后解压:找到JMeterPlugins-Extras.jar,把JMeterPlugins-Extras.jar放到apache-jmeter-2.12libext目录。

安装过程到此结束。

二   JMeter运行和语言设置

1. 进入bin目录运行jmeter.bat启动jmeter,如果是Linux系统则是jmeter.sh。

 

注意:打开的时候会有两个窗口,JMeter的命令窗口和JMeter的图形操作界面,不可以关闭命令窗口。

2. JMeter的classpath(可扩展性):

(1)如果你想添加其他JAR文件到JMeter的classpath中,你必须复制他们到lib目录中;

(2)如果你开发了一个JMeter特定组件或有效的jar文件,复制到lib目录下的ext目录中。

3. 打开之后显示的是中文,如果你想使用其他语言,比如英文,那么通过菜单选项->选择语言->英文即可,当然转为中文也是同样操作。

 

开始学习jmeter的使用,以后会一步步的写出来,记录自己的成长之路,也希望对跟我一样初学者有些帮助。 
温馨提示:默认在window环境下,jmeter GUI可视窗口 
第一步、官方下载jmeter并解压,点击下载 
第二步、检查Java环境,建议安装jdk1.7或更高版本 
第三步、找到bin目录下的jmeter.bat,双击打开可视GUI界面 
第四步、编写demo脚本

开始测试脚本

1、添加线程组 
这里写图片描述 
这里写图片描述
线程数:虚拟用户数,一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数 
Ramp-Up Period(in seconds):设置的虚拟用户数需要多长时间全部启动。如果线程数为10 ,Ramp-Up Period为100,那么就是100秒钟内启动10个线程。每一个线程都会在上一个线程启动10秒钟后才开始运行;设置为0则表示同时启动(注:Ramp-Up Period(in secods)不能设置太小的数值,否则会一开始就给服务器过大的压力;也不能设置太大的数值,否则第一个线程已经执行完了,最后一个还没启动的情况)刚开始Ramp-Up值可以等于总线程数,之后再作调整 
循环次数:每个线程发送请求的次数,如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。 
启动时间:线程运行的起始时间 
结束时间:线程运行的结束时间 
持续时间:设置了持续时间则启动时间会失效 
启动延迟:设置了启动延迟则结束时间会失效 
线程数1000循环1次与线程数10循环100次的区别:线程数1000循环1次可以选择并发;线程数10循环100次是类似于长时间施加压力

2、添加HTTP请求并设置 
这里写图片描述 
这里写图片描述
网址中域名后面没有端口时,使用的是默认端口:http 默认端口80,https默认端口443 (端口号参数,不填为默认端口)

3、添加http信息头管理器并设置 
这里写图片描述

csdn只接受浏览器发的请求,所以要用到浏览器头信息( 不加这个头,csdn返回403的哦,响应被拒) 
这里写图片描述
下面是pythom脚本里常用的,你可以选择一个拷贝过去

my_headers = [
        'Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30',
        'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0',
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)',
        'Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.9.168 Version/11.50',
        'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1',
        'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET4.0E; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C)']
    header = {"User-Agent": random.choice(my_headers)}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4、添加查看结果树 
这里写图片描述

点击查看结果 
这里写图片描述
提示: 
1. html响应可以选择html格式,响应数据可视化了(调试必备组件) 
2.正式测试的时候请勾选仅日志错误,仅记录出错的请求,以免保存多了,jmeter jvm oom(内存溢出),这点要谨记 
这里写图片描述

5、添加聚合报告 
这里写图片描述

提示: 
tps(吞吐量)表征系统性能,系统的好坏可以用这个评估 
90%Line是满足需求响应时间的重要指标,如果用户需求说是响应时间不小于5s,那么这个5秒就是90%Line(并非平均响应时间哦)(要求高的系统,可以选择95%Line【其余5%高响应时间可以理解为小概率事件,一般用户不容易触发】)

这里写图片描述

原文地址:https://www.cnblogs.com/matengfei123/p/9547846.html