zoukankan      html  css  js  c++  java
  • 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"
  • 相关阅读:
    wap2app(五)-- 微信授权登录以及踩过的坑
    wap2app(六)-- wap2app的原生标题头无法隐藏
    创建对象的几种模式
    通过url动态获取图片大小方法总结
    wap2app(三)-- 添加引导页
    wap2app(二)-- 设置APP系统状态栏
    wap2app(一)-- 网站快速打包成app
    树叶飘落、雪花飘落等同时多个图片飘落
    基于bootstrap的双日历插件 daterangepicker
    FileProvider解决FileUriExposedException
  • 原文地址:https://www.cnblogs.com/zpbk1991/p/8601272.html
Copyright © 2011-2022 走看看