jmeter简单性能压测和分布式负载

摘要:
现在流行的性能测试工具包括LR和日益流行的jmeter。因为它是免费和开源的,不像LR,你必须花很多钱购买许可,才能将其用于商业压力测试。另一个是他可以在官方网站上下载动态库,以扩展许多功能。让我们简单谈谈压力测试和jmeter的分布负载。1、 Jmeter执行压力测试(1)。首先,打开jmeter生成一个简单的脚本。这一次,以百度的压力测试访问为例。制作脚本

  现在流行的性能测试工具有大家熟知的LR,还有一个就是越来越火的jmeter,因为它是免费开源的,不像LR那样要想进行商业化压测使用必须花大钱购买使用权限。另外一个是他可以在官方网站下载动态库拓展很多的功能。下面来简单说下jmeter进行压测以及用jmeter进行分布式负载。

  一、jmeter进行压测

   (1)、首先打开jmeter制作一个简单的脚本,本次就是以压测访问百度为例。

jmeter简单性能压测和分布式负载第1张

  制作脚本的时候注意设置参数化、设置检查点,有需要关联的还要设置关联,本次压测百度就只是一个访问百度首页的请求,在此不需要进行参数化和关联,但是要设置响应断言做检查点。因为在压测的时候必须保证请求业务的正确性,所以在这里设置响应断言判断请求访问百度的业务是否成功。断言内容就是百度的标题“百度一下,你就知道”。制作完脚本后先运行脚本,看脚本有无问题再继续进行后续压测。

  (2)、设置压测场景

jmeter简单性能压测和分布式负载第2张

  (3)、压测结果分析:

  首先要知道jmeter是java写的,jvm虚拟机内存大小是一定的,不要开太多无关的插件,因为打开的插件越多,生成的对象就会越多,生成的对象越多占用jvm的堆内存和非堆内存空间就越多,就会导致gc和full gc的频次,影响jmeter本省压测机服务器的性能,在压测时建议就把使用聚合报告就可以了,你可以看到tps和平均响应时间这两个性能最关注的点。jmeter简单性能压测和分布式负载第3张

 二、jmeter的no-gui压测及分布式负载

  有些时候可能windows压测机数量不够用,就需要使用linux作为jmeter来进行压测,或者使用linux服务器来做分布式负载压测机来使用。

  1、jmeter的no-gui压测:

    (1)、首先在windows主控机制作好压测的脚本XXX.jmx;

    (2)、把脚本上传至jmeter安装包中,就上传至jmeter压缩包的bin目录下;

    (3)、执行命令运行脚本,并生成.jtl的压测结果文件。具体命令是  jmeter -n -t XXX.jmx -l  aaa.jtl,这里参数中-n  是指no-gui模式,-t  是指名压测的脚本, -l 是指明生成的文件名;

    (4)、结果分析,就是把生成的aaa.jtl文件从linux服务器上拷贝出来,然后打开windows中的jmeter,选择自己想要打开的方式去查看结果,比如想看聚合报告,就打开聚合报告插件,并选择拷贝出来的压测结果文件打开查看;

  2、jmeter的分布式负载:

    (1)、在主控机制作压测脚本,有需要使用参数化的就先用txt文本准备好参数化文件;

    (2)、如果想修改连接jmeter的端口号,就修改jmeter/bin目录下的jmeter.properties配置文件,找到#server_port=1099,这里是设置连接负载机的默认端口。如果不改的话连接端口就是默认的1099,要想修改配置文件就先把注释去掉,然后在设置自己想要的端口;

    (3)、启动负载机的jmeter-server服务,jmeter-server  -Djava.rmi.server.hostname=192.168.1.110 这里是运行负载机的ip。

    (4)、修改主控机windows客户端配置文件(jmeter.properties)添加负载机的ip,在remote_hosts=127.0.0.1,192.168.1.244:1099,这里就是添加的linux负载机服务端的ip和端口号
    (5)、放置参数化文件时,是windows系统做负载机,就与主控机的放参数化文件一样的路径;要是linux操作系统做负载机,可以在脚本中设置一个用户变量,定义用户变量的结果是参数化文件在linux服务器的绝对路径,然后在主控机设置参数化文件位置时就填写这个变量。
    (6)、启动全部的负载机,一个是运行->远程全部启动;另一个是点击快捷键栏中的两个三角的启动按钮。
    (7)、按默认设置jmeter的参数运行线程数多时,可能引起jvm的内存溢出,这里就需要修改jmeter的jvm虚拟机内存参数,修改参数如下:
        打开jmeter安装目录/bin/jmeter;
          修改默认堆内存大小    
          #默认的 HEAP="-Xms512m -Xmx512m" , #修改后 HEAP="-Xms1024m -Xmx1024m"

免责声明:文章转载自《jmeter简单性能压测和分布式负载》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇nginx 配置的一些参数Ubuntu16.04+nvidia docker下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

活久见!Jmeter也能实现文件传输和发送邮件啦

本文章出自【码同学软件测试】 码同学公众号:自动化软件测试,领取资料可加:Matongxue_8 码同学抖音号:小码哥聊软件测试 Jmeter实现文件处理和邮件发送 Jmeter除了支持Http协议以外,还支持多种其他协议,包括FTP协议和SMTP/POP3协议,可以用于文件上传下载和邮件发送。Jmeter内置FTP Sampler,可以很方...

Jmeter参数化、检查点、集合点教程

在使用Jemeter做压力测试的时候,往往需要参数化用户名,密码以到达到多用户使用不同的用户名密码登录的目的,这个时候我们就可以使用参数化登录。 一、badboy录制需要的脚本、也可以用fiddler进行抓包或jmeter自带录制(较乱,请求比较多) 二、开始进入jmeter参数化; 1.将badboy录制的脚本,导入jmeter,添加查看结果树、聚合报告...

在linux上运行jmeter

linux中是无图形化的,我们无法像windows操作系统一样,选择点击,我们在linux中只能选择命令行的方式来进行操作,下面介绍jmeter如何在linux中运行。 1.首先在windows中把jmeter脚本做好,设置好并发用户数、执行时间等等; 2.在linux中,进入到jmeter的bin目录下运行命令; 3.jmeter -n -t 脚本.jm...

JMeter并发测试(设置集合点)

集合点:让所有请求在不满足条件的时候处于等待状态。 如:我集合点设置为50,那么不满足50个请求的时候,这些请求都会集合在一起,处于等待状态,当达到50的时候,就一起执行。从而达到并发的效果。 那么Jmeter中可以通过同步定时器 Synchronizing Timer 来完成。   Number  of Simulated Users to Group...

jmeter如何设置浪涌场景

JMeter中我们使用线程组来控制测试场景, 原线程组无法设计复杂测试场景, 如浪涌。 一、jp@gc - Ultimate Thread Group 1、下载插件 下载地址:https://jmeter-plugins.org/?search=jpgc-casutg 百度网盘: 链接:https://pan.baidu.com/s/1vIB4lcz3zK...

【jmeter】JMeter处理Cookie与Session

有些网站保存信息是使用Cookie,有些则是使用Session.对于这两种方式,JMeter都给予一定的支持。 1.Cookie 添加方式:线程组-配置元件-HTTP Cookie 管理器,如下图: 2.Session 添加方式:线程组-前置处理器 -HTTP URL 重写修饰符,如下图: 有些tomcat的session实现不是通过cookie的,而...