• Jmeter分布式


    在进行性能测试的时候,随着压力的不断增大,会出现tps的瓶颈。

    出现瓶颈,会有两个原因,1.服务器导致的瓶颈 ,2压力不够。

    如果是压力不够的情况,要么换更好的机器进行压测,或者多台机器进行分布式压测。

    Jmeter 如何开展分布式?

    原理如下:

    1.Jmeter分布式压测时,一台机器作为master,其他的则为slave,master负责请求的分发,slave负责执行。

    2.执行时,master会把脚本发送到每台slaver上,slaver 拿到脚本后就开始执行,slaver执行时不需要启动GUI,如果引用到csv等外部的文件,则每台slaver所在的机器都需要相应位置放置该文件。

    3.执行完成后,slaver会把结果回传给master,master会收集所有slaver的信息并汇总。

    这里有一个坑,如果slave 和master是多网卡的机器,master去slave执行的时候,会把网卡中的任意一个网卡ip传过去,最后slave执行完后,把结果回传给master,如果这时回传给master是一个错误的ip,则会导致请求超时的情况,导致失败。

    正确步骤如下:

    1.启动slave,在slave机中jmeter-server中

    windows 修改RMI_HOST_DEF=-Djava.rmi.server.hostname=10.120.11.82(slave机的ip)

    运行jmeter-server,Windows运行jmeter-serve.bat

    linux:

     ./jmeter-server -Djava.rmi.server.hostname=10.120.11.82(slave机的ip)

    2.启动master

    双网卡需要注意:master机需要指定自己机器的ip,要不则会出问题。

    window:

    新增set rmi_host=-Djava.rmi.server.hostname=10.120.11.214(master 的ip)

    修改set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %PERM% %DDRAW% %rmi_host%

    linux:

    新增 rmi_host=“-Djava.rmi.server.hostname=10.120.11.214”(master 的ip)

    修改ARGS="$SERVER $DUMP $HEAP $NEW $SURVIVOR $TENURING $PERM $CLASS_UNLOAD $rmi_host"

     修改完了后,开始压力测试:

    windows:

    修改jmeter.properties,

    remote_hosts=10.120.11.82:1099(更换为slave的ip)

    远程启动这台机器

    linux:

    ./jmeter -n -t testPlan.jmx  -R 115.28.108.130 -l remote.jtl

    linux下运行结果存在remote.jtl中。

    注意:master和slave机中的jmeter版本必须一致(小版本也得一致)。

    java的版本也得一致,不能一个java7一个java8.

  • 相关阅读:
    strcat strcpy 使用出现的问题汇总
    MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法
    nginx 设置反响代理实现nginx集群
    js 去掉字符串最后一个字符
    二维数组 获取某键值集合
    oracle 序列
    递归数据查询
    oracle 递归查询
    jQuery EasyUI API 中文文档
    SecureCRT使用的技巧 键盘修改
  • 原文地址:https://www.cnblogs.com/lzlfighter/p/6706952.html
Copyright © 2020-2023  润新知