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


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

      一、jmeter进行压测

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

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

      (2)、设置压测场景

      (3)、压测结果分析:

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

     二、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"
  • 相关阅读:
    WPF之感触
    C# WinForm 给DataTable中指定位置添加列
    MyEclipse 8.6 download 官方下载地址
    将博客搬至CSDN
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
  • 原文地址:https://www.cnblogs.com/zpbk1991/p/8601272.html
Copyright © 2020-2023  润新知