Jmeter分布式压力测试实现过程详解

 更新时间:2020年09月07日 11:57:50   投稿:yaominghui  
这篇文章主要介绍了Jmeter分布式压力测试实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、分布式压测原理

如下图(这个图说明的是要一台控制机,然后由这台控制机发压测脚本到每台远程执行机,然后由控制机收集执行机结果)

二、修改 Jmeter 配置文件

  • 在主控机的jmeter的bin目录找到配置文件jmeter.properties。找到里面的remote_hosts 部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip:port。如果是多个压力机,之间使用【,】分隔
  • 控制机端口修改,防止端口被占用(注意:控制机修改后,每台执行机的端口也要修改成一致)
  • 电脑防火墙关闭,防止拦截端口

修改内容如下(注意:如果控制机也作为测试机的话,那么控制机的 IP 也需要配置到 remote_hosts中)

三、启动 Jmeter 服务

  • 每台测试机都需要开启 Jmeter 服务(即:在 Jmeter 安装目录下的 bin 目录下找到 jmeter-server.bat 文件,双击打开)
  • 如果控制机也作为测试机的话,那么控制机也需要开启 Jmeter 服务
  • jmeter-server.bat 文件打开窗口如下
    • 如果下面的 IP 不是本机 IP 那么说明IP有问题(解决方案:查看电脑网络连接中的虚拟网络是否禁用了,没有禁用则禁用掉,因为 IP 错误很可能是获取到了虚拟 IP)
    • 如果下面的端口与控制机配置的端口不一致,则需要修  

四、启动控制机 Jmeter 执行脚本

1.调试查看 slave 机与控制机是否连通

2.出现下图情况,说明 slave 与控制机连通了

3.接下来就可以通过 "远程全部启动" 来启动所有的 slave 机进行分布式压测脚本了

4.注意事项:

  • 设置的线程数为1000,如果有4台(包括控制机)测试机,那么结果为4000次
  • 如果有参数化文件,那么在 slave 上也要存放一份,且文件所在路径必须与控制机一致

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java实现Composite组合模式的实例代码

    java实现Composite组合模式的实例代码

    这篇文章主要介绍了java实现Composite组合模式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java创建对象之显示创建与隐式创建

    Java创建对象之显示创建与隐式创建

    在本篇文章中,小编会带大家学习面向对象中关于对象的创建之显示创建和隐式创建,其实类和对象作为面向对象中最基本的,也是最重要的,需要的朋友可以参考下
    2023-05-05
  • Spring注解之@PropertySource详解

    Spring注解之@PropertySource详解

    这篇文章主要介绍了Spring注解之@PropertySource详解,@PropertySource注解用于指定资源文件读取的位置,它不仅能读取properties文件,也能读取xml文件,并且通过YAML解析器,配合自定义PropertySourceFactory实现解析YAML文件,需要的朋友可以参考下
    2023-11-11
  • Java搭建简单Netty开发环境入门教程

    Java搭建简单Netty开发环境入门教程

    这篇文章主要介绍了Java搭建简单Netty开发环境入门教程,有详细的代码展示和maven依赖,能够帮助你快速上手Netty开发框架,需要的朋友可以参考下
    2021-06-06
  • Java打印数组的三种方法整理

    Java打印数组的三种方法整理

    许多学编程专业的同学面试的时候,考官都会问到Java如何打印数组这样的问题,下面这篇文章主要给大家介绍了关于Java打印数组的三种方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • springMvc全局异常的实现

    springMvc全局异常的实现

    大家好,本篇文章主要讲的是springMvc全局异常的实现,感兴趣的同学赶紧来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Java DriverManager.getConnection()获取数据库连接

    Java DriverManager.getConnection()获取数据库连接

    这篇文章主要介绍了Java DriverManager.getConnection()获取数据库连接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Spring中如何使用@Value注解实现给Bean属性赋值

    Spring中如何使用@Value注解实现给Bean属性赋值

    这篇文章主要介绍了Spring中如何使用@Value注解实现给Bean属性赋值的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 如何理解Java线程池及其使用方法

    如何理解Java线程池及其使用方法

    线程池是首先创建一些线程,它们的集合称为线程池。使用线程池可以提高性能,它在系统启动时创建大量空闲的线程,程序将一个任务传给线程池,它就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务
    2021-06-06
  • springboot结合redis实现搜索栏热搜功能及文字过滤

    springboot结合redis实现搜索栏热搜功能及文字过滤

    本文主要介绍了springboot结合redis实现搜索栏热搜功能及文字过滤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论