zoukankan      html  css  js  c++  java
  • Jmeter分布式测试

    Jmeter分布式测试

    本文为原创,转载请注明出处:https://www.cnblogs.com/supiaopiao/p/10856821.html

    一、为什么要用分布式测试?

    在使用Jmeter进行性能测试时,如果并发数比较大(比如项目需要支持1000并发),单台主机的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能。

     

    二、Jmeter分布式执行原理:

     

    Jmeter分布式测试时,本地jmeter作为控制机(master),其它机器做为执行机(slave)。执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行。执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

     

    三、配置:

    注意:windows和linux上的jmeter的版本一致会比较好,将windows和linux上的防火墙都关闭。

     

    (一)控制机(master)配置

     

     Windows系统上,将下载下来的jmeter解压后,修改apache-jmeter-5.1.1in目录里的jmeter.properties文件,在260行新增remote_hosts配置,配置里配置的是两台slave主机的ip和slave主机里安装的jmeter的端口号。

     

    (二)执行机(slave)配置

     

    1. 上传jmeter到slave服务器

    因为jmeter需要有jdk的支持所以将jdk和jmeter都上传到slave主机/software文件夹下。

     

     

     

    2. 解压jdk和jmeter后配置环境变量

    [root@localhost ~]# vim /etc/profile

     

    #java环境变量

    export JAVA_HOME=/software/jdk1.8.0_131/

    export PATH=$JAVA_HOME/bin:$PATH

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    #jmeter环境变量

    export JMETER_HOME=/software/apache-jmeter-5.1.1

    export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH

    export PATH=$JMETER_HOME/bin/:$PATH

     

    3. 修改jmeter部分配置

    打开/ apache-jmeter-5.1.1/bin目录

    (1)修改jmeter.properties文件

     

    remote_hosts=192.168.0.132  #ip是这台slave主机的ip

    server_port=1098 #端口号是jmeter自定义的端口号,默认是1099

    备注:该remote_hosts和server_port配置需要和本地master的jmeter.properties文件里新增的260行配置一致。

     

     

     

    server.rmi.localport=1098

     

     

     

     

     

    server.rmi.ssl.disable = true  #否则远程执行,会报一个ssl错误

     

     

     

     

    #防止响应回来的数据有中文乱码

     

    jmeter.save.saveservice.response_data=true  jmeter.save.saveservice.samplerData=true

     

     

    (2)修改jmeter-server文件

    配置这台slave主机的ip

    RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.0.132

     

     

    4. 启动各个slave上的jmeter

    [root@localhost bin]# jmeter-server

     

    (三)配置多台slave只需要参照文档(二)进行配置即可。

    执行测试

    本地远程连接slave主机上的jmeter,并执行脚本(有两种启动方式)

     

    例如:本地jmeter脚本是往数据库里添加随机数据,循环20次。

     

     远程连接两台服务器上的jmeter执行后,数据库里就会有40条数据,并且结果树里也会收集到所有slave主机上的jmeter运行结果信息,到此一个简单的分布式测试就完成了。

  • 相关阅读:
    子集和数问题——回溯法
    七言
    Java冒泡排序
    七言
    定义一个Collection接口类型的变量,引用一个Set集合的实现类,实现添加单个元素, 添加另一个集合,删除元素,判断集合中是否包含一个元素, 判断是否为空,清除集合, 返回集合里元素的个数等常用操作。
    创建Car类,包含name,price属性,构造器等方法,创建测试类,在main方法中创建Set接口的实现类,添加5个以上的Car对象,遍历集合元素,验证重复元素是否过滤了; 如果没有过滤,实现过滤功能;把每个小车的price降10000元,再遍历,查看price是否已改变
    20项素数和环——递归
    8项素数和环——枚举法
    填算式
    纵横放火柴
  • 原文地址:https://www.cnblogs.com/supiaopiao/p/10856821.html
Copyright © 2011-2022 走看看