jmeter入门教程_压力测试工具jmeter入门教程 - CSDN
精华内容
参与话题
  • JMeter入门教程

    万次阅读 多人点赞 2018-11-21 20:30:19
    本文由xmeter君写给想了解性能测试和JMeter的小白,适合对这两者了解很少的同学们,如果已经有使用经验的请绕道,别浪费时间:-) 我们将介绍JMeter的使用场景,如何安装、运行JMeter,以及开始一个最最简单的测试。...

    本文版权归xmeter.net所有。欢迎转载,转载请注明出处。

     

    简介


    本文由xmeter君写给想了解性能测试和JMeter的小白,适合对这两者了解很少的同学们,如果已经有使用经验的请绕道,别浪费时间:-)  我们将介绍JMeter的使用场景,如何安装、运行JMeter,以及开始一个最最简单的测试。你还徘徊在JMeter的门口吗?别犹豫了,跟着本文做完,你就可以开启你的JMeter之旅了。

    JMeter是开源软件Apache基金会下的一个性能测试工具,用来测试部署在服务器端的应用程序的性能。近来,JMeter因为其使用简单,现在也被社区作为接口测试工具...... 啥?什么是性能测试,怎么又来了个接口测试?好吧,xmeter君举个栗子,你开了一个网店,兴冲冲地准备双十一大干一把,没想当天活动的时候大量用户一访问你的网店,你的网店挂了,那怎么办?办法就是在实际搞活动之前,先测试一下以确认系统能承受那么多的用户,当然测试的时候我们不需要请真正的这么多实际用户,否则得花多少钱啊,JMeter就是那个能帮助模拟大量用户访问你网站的一个软件。对,而且它是开源的,不花钱!那个接口测试呢,这里大概了解一下就可以了,就是验证你的网店应用逻辑有没有问题的,比如你做打折活动的时候,结算的时候金额别出错,要不客户找你麻烦不是?

     

    JMeter下载和安装


    JMeter可以在JMeter的官方网站下载,下载链接如下图所示,xmeter君写本文的时候(2016/11)可以下载到的最新的版本是3.0,

    JMeter下载

     

    下载后解压到你系统下的任意目录,我们称该目录为%JMETER_HOME%,然后运行%JMETER_HOME%\bin\jmeter.bat文件,怎么样,JMeter出来了吗?嗯!?等等,好像报错了。仔细看一下报错原因,原来是Java没安装,因为JMeter是用Java写的,运行的时候需要Java ......不对啊,xmeter君,我这里好像已经看到JMeter的界面了 -- 当然咯,恭喜你,这是因为你之前已经安装了Java了,就跳过下一步吧。

    Java未安装错误

     

    安装Java


    安装之前先下载其安装包,这里是下载地址。打开页面后,按序点击下列所示的链接,xmeter君写本文的时候,Java的最新版本是8。

    Java下载地址

     

    进入下一个页面后,按序点击如下所示开始下载,当然,下载的文件需要跟你的系统对应,如果是Linux请下载相关的Linux版本,xmeter君用的是Windows 64位版的Java。

    下载Java的链接

     

    下载完毕之后运行exe文件,按照向导提示安装完Java。再次运行%JMETER_HOME%\bin\jmeter.bat,如果都安装对了的话就应该能出现JMeter的运行界面了。

    JMeter 3.0运行界面

     

    JMeter之初体验


    JMeter安装完了,那我们来一个简单的实验。性能测试当然得有个测试目标,就是被测系统是什么,xmeter君这里就以测度娘为例来描述构造一个简单的性能测试过程:xmeter君保证你在5分钟之内完成一次测试体验。

    添加虚拟用户组

    如下图所示,右击“测试计划”>添加>Threads(Users)>线程组。这里xmeter君需要解释一下“线程组”的意思:JMeter是由Java实现的,并且使用一个Java线程来模拟一个用户,因此线程组(Thread Group)就是指一组用户的意思,换句话说一个线程组就是一组虚拟用户(virtual users),这些虚拟用户用来模拟访问被测系统。

    新建线程组

     

    接下来xmeter君给大家介绍下“线程组”中常用到的一些设置。

    1)线程数:这里就是指虚拟用户数,默认的输入是“1”,则表明模拟一个虚拟用户访问被测系统,如果想模拟100个用户,则此处输入100。

    2)Ramp-Up Period (in seconds): 虚拟用户增长时长。不明白别着急,xmeter君给你举个栗子:比如你测试的是一个考勤系统,那么实际用户登录使用考勤系统的时候并不是大家喊1、2、3 - 走起,然后一起登录。实际使用场景可能是9点钟上班,那么从8:30开始,考勤系统会陆陆续续有人开始登录,直到9:10左右,那么如果完全按照用户的使用场景,设计该测试的时候此处应输入40(分钟)* 60(秒)= 2400。但是实际测试一般不会设置如此长的Ramp-Up时间,原因嘛,难道你做一次测试要先等上40分钟做登录操作?一般情况下,可以估计出登录频率最高的时间长度,比如此处可能从8:55到9:00登录的人最多,那这里设置成300秒,如果“线程数”输入为100,则意味着在5分钟内100用户登录完毕。

    3)循环次数:该处设置一个虚拟用户做多少次的测试。默认为1,意味着一个虚拟用户做完一遍事情之后,该虚拟用户停止运行。如果选中“永远”,则意味着测试运行起来之后就根本停不下来了,除非你把它强制咔嚓。

    线程组的设置

     

    添加被测页面

    接下来的一步就是要加入实际被测页面,右击“线程组” > “添加” > “Sampler” > “HTTP请求”。

    添加“HTTP请求”

     

    接下来需要设置一下“HTTP请求” Sampler的属性,如下所示:

    1)名称:输入“百度”,就是被测试网页的描述性文字

    2)服务器名称或IP:被测服务器的网站名字,也可以是IP地址。剩下的属性可以按照被测系统的属性按需配置,现在都可以为空。

    设置HTTP请求的属性

     

    现在的测试脚本已经可以运行了,先点击下面如图所示的第一步:点击保存脚本按钮;然后点击如图所示的第二步:点击运行测试按钮。

    保存与运行测试

     

    等等,xmeter君,为什么我的测试跑完了没啥反应?嗯,其实测试已经跑完了,你可以去“选项” > “Log Viewer”看看运行的日志。如果你还是看不到日志,你可以点击下面所示的三角箭头展开或者收起日志视图。日志视图中可以看到“线程组 1-1”的启动和结束时间,表明测试已经跑完。

    测试日志视图

     

    这JMeter运行看着也太不直观了吧?那如果我的测试有问题了,怎么发现啊?别着急,JMeter提供了“监听器”让用户来观察测试结果。

    添加结果监听器

    如下图所示,右击“线程组” > “监听器” > “察看结果树”来查看性能测试过程中请求和响应信息。添加完毕后,保存测试脚本,再次运行。

    添加查看结果树

     

    运行测试完毕之后,点击“察看结果树” > “百度”,点击下图中3所示位置,你可以看到一些测试期间一些有用的信息,比如发送的请求的信息和响应数据等。接下来可以试着改一下“线程组”里的“线程数”为10,就是模拟10个用户访问。别改太大哦,否则小心度娘把你的IP地址给封了 :-)

    察看结果树截图

     

    好啦,至此为止,你已经学会了写一个最简单的JMeter的性能测试用例。怎么样,够简单吧!



    作者:XMeter性能测试云服务
    链接:http://www.jianshu.com/p/0e4daecc8122
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文
  • Jmeter教程(一) - 入门

    万次阅读 多人点赞 2020-05-29 11:26:47
    一、下载 登录官网Jmeter下载,得到...将下载得到的压缩包解压即可,这里我解压到自己电脑的路径为E:\Mysoftware\apache-jmeter-5.0。 三、运行 点击bin目录下的jmeter.bat即可启动Jmeter。 启动后可以看到...

    Jmeter教程(一) - 入门
    Jmeter教程(二) - 自定义变量模拟多用户
    Jmeter教程(三) - Linux中使用命令行进行压测

    一、下载

    登录官网Jmeter下载,得到压缩包jmeter-5.0.tgz,下载地址:http://jmeter.apache.org/download_jmeter.cgi
    在这里插入图片描述

    二、安装

    将下载得到的压缩包解压即可,这里我解压到自己电脑的路径为E:\Mysoftware\apache-jmeter-5.0

    三、运行

    点击bin目录下的jmeter.bat即可启动Jmeter。
    在这里插入图片描述
    启动后可以看到一个java编写的图形界面。
    在这里插入图片描述

    四、一个简单的压测实例

    现有一个http请求接口http://localhost:8080/goods/to_list,要使用Jmeter对其进行压测,测试步骤如下:

    a.新建一个线程组。
    在这里插入图片描述
    b. 设置线程组参数。这里配置为:10个线程,同时启动,循环一次。
    在这里插入图片描述
    c. 新增http请求默认值。 在上一步创建的线程组上,新增http请求默认值,所有的请求都会使用设置的默认值,这设置协议为http,IP为localhost,端口为8080
    在这里插入图片描述
    在这里插入图片描述
    d. 添加要压测的http请求。
    在这里插入图片描述
    下图第一个红框内的协议、IP、端口不需要设置,会使用步骤c中设置的默认值,只需设置请求路径Path即可,这里填入/goods/to_list
    在这里插入图片描述
    e. 新增监听器,用于查看压测结果。这里添加三种:聚合报告、图形结果、用表格查看结果,区别在于结果展现形式不同。
    在这里插入图片描述
    f. 点击运行按钮开始压测,并查看结果。
    在这里插入图片描述

    五、如何查看系统负载何性能瓶颈

    服务器上执行以下命令:

    top
    

    如下图所示,可以看到系统负载load average情况,1分钟平均负载,5分钟平均负载,15分钟平均负载分别是1.58, 0.50, 0.23;同时可以看到最耗费资源的进程为mysql
    在这里插入图片描述

    展开全文
  • JMeter性能测试,完整入门

    万次阅读 多人点赞 2018-06-25 11:27:20
    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。...本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整...


    原文转自:https://blog.csdn.net/lovesoo/article/details/78579547

    Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。

    本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。

    运行环境为Windows 10系统,JDK版本为1.8,JMeter版本为3.3。

    2. Jmeter安装

    2.1 JDK安装

    由于Jmeter是基于java开发,首先需要下载安装JDK (目前JMeter只支持到Java 8,尚不支持 Java 9) 
    1. 官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 
    2. 选择Java SE 8u151/ 8u152,点击JDK下载 
    这里写图片描述
    3. 安装下载的JDK 
    4. 配置系统环境变量

    2.2 JMeter安装

    1. 官网下载地址:http://jmeter.apache.org/download_jmeter.cgi
    2. 下载最新JMeter 3.3版本:apache-jmeter-3.3.zip 
      这里写图片描述
    3. 下载完成后解压zip包
    4. 启动JMeter 
      双击JMeter解压路径(apache-jmeter-3.3\bin)bin下面的jmeter.bat即可 
      这里写图片描述

    3. 测试实例

    我们选取最常见的百度搜索接口:

    3.1 接口地址

    http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试

    3.2 请求参数

    ie:编码方式,默认为utf-8 
    wd: 搜索词

    3.3 返回结果

    搜索结果,我们可以通过校验结果中是否含有搜索词wd来判断本次请求成功或失败。

    4. JMeter脚本编写

    4.1 添加线程组

    右键点击“测试计划” -> “添加” -> “Threads(Users)” -> “线程组” 
    这里写图片描述 
    这里可以配置线程组名称,线程数,准备时长(Ramp-Up Period(in seconds))循环次数,调度器等参数: 
    这里写图片描述 
    线程组参数详解: 
    1. 线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。 
    2. Ramp-Up Period(in seconds)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为10,准备时长为2,那么需要2秒钟启动10个线程,也就是每秒钟启动5个线程。 
    3. 循环次数:每个线程发送请求的次数。如果线程数为10,循环次数为100,那么每个线程发送100次请求。总请求数为10*100=1000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。 
    4. Delay Thread creation until needed:直到需要时延迟线程的创建。 
    5. 调度器:设置线程组启动的开始时间和结束时间(配置调度器时,需要勾选循环次数为永远) 
    持续时间(秒):测试持续时间,会覆盖结束时间 
    启动延迟(秒):测试延迟启动时间,会覆盖启动时间 
    启动时间:测试启动时间,启动延迟会覆盖它。当启动时间已过,手动只需测试时当前时间也会覆盖它。 
    结束时间:测试结束时间,持续时间会覆盖它。

    因为接口调试需要,我们暂时均使用默认设置,待后面真正执行性能测试时再回来配置。

    4.2 添加HTTP请求

    右键点击“线程组” -> “添加” -> “Sampler” -> “HTTP请求” 
    这里写图片描述 
    对于我们的接口http://www.baidu.com/s?ie=utf-8&wd=jmeter性能测试,可以参考下图填写: 
    这里写图片描述 
    Http请求主要参数详解:

    1. Web服务器 
      协议:向目标服务器发送HTTP请求协议,可以是HTTP或HTTPS,默认为HTTP 
      服务器名称或IP :HTTP请求发送的目标服务器名称或IP 
      端口号:目标服务器的端口号,默认值为80 
      2.Http请求 
      方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。 
      路径:目标URL路径(URL中去掉服务器地址、端口及参数后剩余部分) 
      Content encoding :编码方式,默认为ISO-8859-1编码,这里配置为utf-8
    2. 同请求一起发送参数 
      在请求中发送的URL参数,用户可以将URL中所有参数设置在本表中,表中每行为一个参数(对应URL中的 name=value),注意参数传入中文时需要勾选“编码”

    4.3 添加察看结果树

    右键点击“线程组” -> “添加” -> “监听器” -> “察看结果树” 
    这里写图片描述 
    这时,我们运行Http请求,修改响应数据格式为“HTML Source Formatted”,可以看到本次搜索返回结果页面标题为”jmeter性能测试_百度搜索“。 
    这里写图片描述

    4.4 添加用户自定义变量

    我们可以添加用户自定义变量用以Http请求参数化,右键点击“线程组” -> “添加” -> “配置元件” -> “用户定义的变量”: 
    这里写图片描述 
    新增一个参数wd,存放搜索词: 
    这里写图片描述 
    并在Http请求中使用该参数,格式为:${wd} 
    这里写图片描述

    4.5 添加断言

    右键点击“HTTP请求” -> “添加”-> “断言” -> “响应断言” 
    这里写图片描述 
    我们校验返回的文本中是否包含搜索词,添加参数${wd}到要测试的模式中: 
    这里写图片描述

    4.6 添加断言结果

    右键点击“HTTP请求” -> “添加”-> “监听器” -> “断言结果” 
    这里写图片描述

    这时,我们再运行一次就可以看到断言结果成功或失败了 
    这里写图片描述

    4.7 添加聚合报告

    右键点击“线程组” -> “添加” -> “监听器” -> “聚合报告”,用以存放性能测试报告 
    这里写图片描述 
    这样,我们就完成了一个完整Http接口的JMeter性能测试脚本编写。

    5. 执行性能测试

    5.1 配置线程组

    点击线程组,配置本次性能测试相关参数:线程数,循环次数,持续时间等,这里我们配置并发用户数为10,持续时间为60s 
    这里写图片描述

    5.2 执行测试

    点击绿色小箭头按钮即可启动测试,测试之前需要点击小扫把按钮清除之前的调试结果。 
    这里写图片描述

    6. 分析测试报告

    待性能测试执行完成后,打开聚合报告可以看到: 
    这里写图片描述

    聚合报告参数详解: 
    1. Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值 
    2. #Samples:请求数——表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100 
    3. Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间 
    4. Median:中位数,也就是 50% 用户的响应时间 
    5. 90% Line:90% 用户的响应时间 
    6. Min:最小响应时间 
    7. Max:最大响应时间 
    8. Error%:错误率——错误请求数/请求总数 
    9. Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数 
    10. KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

    一般而言,性能测试中我们需要重点关注的数据有: #Samples 请求数,Average 平均响应时间,Min 最小响应时间,Max 最大响应时间,Error% 错误率及Throughput 吞吐量。

    7. 源码下载

    至此,我们使用JMeter完成了一个完整的Http接口性能测试流程,从脚本编写,执行到最终结果分析。

    完整的脚本源码下载链接: https://pan.baidu.com/s/1eS90cVo 密码: st15

    展开全文
  • 压力测试工具JMeter入门教程

    万次阅读 多人点赞 2015-02-02 22:19:00
    1.Jmeter 概要描叙 jmeter 是一款专门用于功能测试和压力测试的轻量级测试开发平台。多数情况下是用作压力测试,该测试工具在阿里巴巴有着广泛的使用,估计是不要钱吧,哈哈,功能上来说,整个平台实现了许多和...
    

    1.Jmeter 概要描叙

    jmeter 是一款专门用于功能测试和压力测试的轻量级测试开发平台。多数情况下是用作压力测试,该测试工具在阿里巴巴有着广泛的使用,估计是不要钱吧,哈哈,功能上来说,整个平台实现了许多和互联网相关的网络测试组件,同时还保留着很强的扩展性方便用于一些非标准的测试场景,让伟大的程序猿同学来告诉它该如何工作。下面我们开始。

    2.Jmeter 基本界面和组件的概念

    现在看到了Jmeter的主界面。下面介绍Jmeter中主要组件的功能和作用, 首先我们看看Jmeter在概念上的组件分类如图

    1.Threads:这个组件主要用来控制Jmeter并发时产生线程的数量,在它的下一级菜单下只有一个组件(线程组),可以这么理解每个线程就是一个虚拟的用户。所有的其他类型组件必须是(线程组)节点的子节点。

    2.配置单元:和Sample组件一起工作,主要用来配置Sample如何来发起请求访问服务器,这个东西的主要特点是可以把一些Sample的共同配置放在一个元素里面方便管理,配置单元是有作用域的。作用域和树的那个关系一样越是上级节点的作用域越大,越是接近叶子节点的

    作用域就越小,可以复写上级作用域的配置。

    3.定时器 : 这个主要是用来调节(线程组),控制线程每次运行测试逻辑(比如说:发出请求)的时间间隔。当然这个下面还有很多类型的定时器,他们主要功能就是调节时间间隔,但个个组件之间的策略有很大不同。

    4.前置处理器 和 后置处理器类似一个HOOK,在测试执行之前和执行之后执行一些脚本的逻辑。该组件我还没有具体使用过,但大致功能就是这样,非重点组件。

    5.Sample : 可能上图中没有出现Sample,需要在(ThreadGroup)上添加才可以,见图

    Sample表示客户端发送某种格式或者规范的请求到服务端,所以大家看到了各种各样的Sample,其中有两个Http 相关的。一般用HttpClient功能和效率将更强。

    6.断言: 意思是指对于Sample完成了请求发送之后,判断一下返回的结果是否满足期望。

    7.监听器 : 这个组件不同于平时在Web编程的那种监听器,他是伴随着Jemeter测试的运行而从中抓取运行期间的数据的一个组件,经常使用的是聚合报告组件,从里面可以统计到测试的TPS,响应时间等关键测试数据。

    3.实例操作

    首先在TestPlan下面添加一个ThreadGroup组件,设置线程组组件各项参数

    关键参数解释 :

    线程数:最大测试时使用的线程数。

    Ramp-Up Period : Jmeter达到指定最大线程数的时间。

    循环次数 : 如果是Forever,线程组中的线程将不间断的连续测试系统,当然也可以设置每个线程测试的次数,当完成了规定次数后,该线程将自动退出线程组。

    调度器 : 主要用来指定该测试的一些时间信息,比如从几点到几点运行测试,如果到了指定时间测试没有进行完成,测试也会被停止。

    接着在线程组下面添加Sample组件,我们添加一个HTTP Request HTTPClient组件,设置属性如下图:

    最后添加监听器组件 :Aggregate Report, 大功告成!

    运行:

    好了,一个简单的压力测试例子完成了。大家可以从report中间看到一些性能结果的参数了。下面我们完成一个更复杂的例子。

    4.自定义Sample或者协议完成测试

    问题:在某些场景下我们会发现Jmeter里面提供的各种Sample不能满足自己的需求,应为这个世界上的压力测试的逻辑本来就是千变万化的,所以这个时候我们如果自己实现一套测试逻辑,这个时候需要使用jmeter 的扩展性。下面我们通过一个简单的例子来看看如何开发这样的一个自定义Sample? 自定Sample的生命周期是怎样的?

    1. package com.alibaba.stress.load;
    2. import org.apache.jmeter.config.Arguments;
    3. import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
    4. import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
    5. import org.apache.jmeter.samplers.SampleResult;
    6. public class LifecycleJMeterSampleextends AbstractJavaSamplerClient {
    7. @Override
    8. public Arguments getDefaultParameters() {
    9. System.out.println("Get Parameter name! [getDefaultParameters]");
    10. return super.getDefaultParameters();
    11. }
    12. @Override
    13. public void setupTest(JavaSamplerContext context) {
    14. System.out.println("[setupTest]");
    15. super.setupTest(context);
    16. }
    17. @Override
    18. public void teardownTest(JavaSamplerContext context) {
    19. System.out.println("[teardownTest]");
    20. super.teardownTest(context);
    21. }
    22. @Override
    23. public SampleResult runTest(JavaSamplerContext ctx) {
    24. SampleResult result = new SampleResult();
    25. result.sampleStart();
    26. System.out.println("[runTest]");
    27. result.setSuccessful(true);
    28. result.sampleEnd();
    29. return result;
    30. }
    31. }
    1. package com.alibaba.stress.load;  
    2. import org.apache.jmeter.config.Arguments;  
    3. import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;  
    4. import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;  
    5. import org.apache.jmeter.samplers.SampleResult;  
    6. public class LifecycleJMeterSample extends AbstractJavaSamplerClient {  
    7.       
    8.       
    9.       
    10.       
    11.     @Override  
    12.     public Arguments getDefaultParameters() {  
    13.         System.out.println("Get Parameter name! [getDefaultParameters]");  
    14.         return super.getDefaultParameters();  
    15.     }  
    16.     @Override  
    17.     public void setupTest(JavaSamplerContext context) {  
    18.         System.out.println("[setupTest]");  
    19.         super.setupTest(context);  
    20.     }  
    21.     @Override  
    22.     public void teardownTest(JavaSamplerContext context) {  
    23.         System.out.println("[teardownTest]");  
    24.         super.teardownTest(context);  
    25.     }  
    26.     @Override  
    27.     public SampleResult runTest(JavaSamplerContext ctx) {  
    28.         SampleResult result = new SampleResult();  
    29.         result.sampleStart();  
    30.         System.out.println("[runTest]");  
    31.         result.setSuccessful(true);  
    32.         result.sampleEnd();  
    33.         return result;  
    34.     }  
    35. }  

    其中AbstractJavaSamplerClient是从ApacheJmeter_Java.jar 中获得。编写的类文件打包xxx.jar, 把这个Jar放到Jmeter的解压目录下的lib/ext下。重新启动jmeter.

    一次先加入线程组,和聚合报告两个组件,在聚合报告组件之前加入一个新的Sample(Java Sample ), 如图:

    运行测试。可以看到控制台的输出。调整几次线程组的线程数目的控制,我们会发现我们的这个自定义类中的teardowntest 和 setupuptest方法都是正对线程组中的某一个线程来执行的,线程组中线程的调用数目其实就是指runtest方法的运行次数。

    5.Jmeter的分布式测试(优缺点)

    下面是分布式测试的使用方法,即使用一台机器控制多台机器给目标机器产生压力。由于Linux和Windows上的方法有些不一样,这里说下Linux下是怎么来配置的。

    首先总控的机器我们叫master,产生压力的肉鸡我们叫JmeterServer,待我们测试的系统我们叫Target.

    第一步:启动JmeterServer。我们可以找到Jmeter/bin 目录下的jmeter-server这个脚本,运行即可,当然如果你需要调整这个测试负载产生服务器的内存等性能参数的话,我们修改这个脚本jmeter中的内存参数。

    第二步 : 修改Master机器上jmeter/bin目录下的jmeter.properties文件,修改remote_hosts=localhost:1099,localhost:2010这个为你自己的JmeterServer的实际IP,如果有多台可以用逗号分开。

    第三步 : 启动master jmeter,运行测试脚本的时候选:运行 --> 远程运行 --> 选择IP 或者 运行所有远程。JmeterServer就会运行Master机器上设定的运行脚本了。

    问题 : 我在实际使用中发现使用这种模式下的Jmeter在Master观测实际测试结果,发现TPS远远低于使用传统的一台Jmeter来测试所能达到的TPS,我感觉可能是由于Jmeter这种多机器协作中传递信息是使用RMI技术,可能这种技术本身还对Jmeter的性能产生了影响导致压力上去的很慢。该问题还没有得到完全认证,所以我现在如果在一台机器测试产生的压力不够的情况下我直接使用多台机器测把TPS加起来就是结果,比较傻,期待大侠指点迷津。

    展开全文
  • jmeter使用教程

    2015-12-01 09:25:17
    查看连接 http://www.testwo.com/article/357
  • jmeter基础教程功能介绍

    千次阅读 2019-02-23 14:36:13
    我们可以用jmeter进行性能测试和接口测试,本篇介绍jmeter基础功能 一、jmeter能做什么 1.能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试 2.完全的可移植性和100%纯Java 3.完全...
  • jmeter入门教程

    2018-06-09 10:43:45
    1.jmeter入门教程 1.1 jmeter下载 jmeter下载:http://mirrors.shu.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.zip 1.2 jmeter使用 双击 ${apache-jmeter-3.1}/bin/jmeter.bat 第一步:添加线程组 ...
  • Jmeter基础教程-配置

    2017-04-12 22:28:22
    全文将以百度搜索为例,介绍使用Jmeter;环境搭建: 1、先搭建JAVA环境;安装JDK并配置环境变量: 变量: JAVA_HOME 值: C:\Program Files\Java\jdk1.7.0_01(安装路径) 变量: classpath 值: %JAVA_HOME%\lib; ...
  • Jmeter教程

    万次阅读 多人点赞 2018-11-22 10:23:43
    Jmeter(一)基础介绍 参考书籍:段念《软件性能测试与案例剖析》——第二版 推荐一本书《零成本实现web性能测试——基于Apache—jmeter》,主要内容是一些关于jmeter的实战使用,想学习的可以去看看。。。   ...
  • jmeter入门教程- Jmeter教程及技巧汇总

    千次阅读 2016-08-03 22:38:07
    http://www.hissummer.com/jmeter-summary.html
  • jmeter基础入门到精通 7年银行it开发经验 1、某大型金融it企业5...
1 2 3 4 5 ... 20
收藏数 2,340
精华内容 936
关键字:

jmeter入门教程