一台压力机产生得压力是有限的,尤其是jmeter,java本来性能就不是很好,并发特别多的时候,jmeter的性能会急剧下降,正常的接口,若单台压力机,超过1000并发以后,jmeter的性能就不怎么行了    所以需要多个压力机,即多个机器部署jmeter产生压力

分布式测试步骤:
系统HOSTS文件中进行类似 本机IP 主机名的配置
如10.0.0.23 zhoucentos,否则启动jmeter server会报错!

1,在每台机器上都部署 jmeter
2,如果是java脚本,将java脚本和相关lib包都放在jmeter目录lib/ext下
3,将jmeter的场景文件jmx上传到服务器上的任意位置,jmx只放在主压力机上即可,如果有参数文件,需将参数文件放到所有压力机与主压力机的相同目录下
4,在每台机器上进入到jmeter的bin目录下,都启动nohup ./jmeter-server &(后台启动jmeter-server服务)
5,进入到jmeter目录下,将两台机器上的jmeter下所有文件都赋予可执行权限,chmod -R +x ./*
6,在主jmeter的bin目录下,修改jmeter.properties,将其中的remote_hosts修改为作为压力机的两台机器ip,remote_hosts=127.0.0.1,192.168.0.102?
7,在主jmeter的机器上,执行/export/servers/apache-jmeter-xxx/bin/jmeter -n -t jdbc.jmx -l result -jtl -r(示例,具体目录和路径自定义)

关键步骤:
1,如果是http脚本,在controller的机器上有脚本文件即可;
如果是Java脚本,在每一台机器上都得有脚本文件和依赖的jar包
2,进到Jmeter 根目录下需要添加执行权限 chmod -R +x ./*

以我的虚拟机为例:

先正常关闭虚拟机

liunx虚拟机上右键复制,勾选重新初始化mac地址,完全复制

然后都启动,用Xshell连接,若副本没有ip则自己去配置一下,参考Xshell连接liunx

系统HOSTS文件中进行类似 本机IP 主机名的配置: vi /etc/hosts   每台机器都要配

1···、

2···、

3···

4、在每台机器上进入到jmeter的bin目录下,都启动nohup ./jmeter-server &(后台启动jmeter-server服务)

启动server

第一种方式:阻塞式的启动,即启动成功后不允许退出,若退出则关闭此jmeter服务进程 ,想做其他动作就只能复制一个ssh渠道,不建议用此方法

若这一步报未知的主机XXX,就是hosts里面的ip和名字没配好

第二种方式:以后台的方式启动nohup ./jmeter-server &   (此方式因为是后台挂起,所以看不到是否有报错)

把要后台启动的程序放在nohup和&之间即可

nohup:非挂起的意思,nohup可以把任何文件都以后台的形式启动

此时再敲一下回车即可,输入 ps -ef|grep jmeter-server  查看此进程

所有机器都要启动jmeter-server

!ps即可执行最近一次执行的ps命令

5、进入到jmeter目录下,将两台机器上的jmeter下所有文件都赋予可执行权限,chmod -R +x ./*

-R:如果当前赋予权限的文件夹下还有文件夹,则把下面的文件夹也赋予权限

6、在主jmeter的bin目录下,修改jmeter.properties,将其中的remote_hosts修改为作为压力机的两台机器ip,remote_hosts=127.0.0.1,192.168.0.102?

vi jmeter.properties

7、在主jmeter的机器上,执行/export/servers/apache-jmeter-xxx/bin/jmeter -n -t jdbc.jmx -l result -jtl -r(示例,具体目录和路径自定义)

启动要被压测的服务器上的tomcat

回到存放jmx脚本的目录下

查看脚本配置项有没有问题,有就修改

根据HTTPS查找到请求的内容

由于是多机运行此脚本,如果ip是localhost的话,相当于是所有jmeter压力机自己压自己,所以需将ip改为被压服务器的ip

此时先别着急执行多机压测,先看一下单机压测是否成功,如果单机压测都失败,那么多机压测也一定会失败

错误率0,此时可以ctrl+c停止单机压测,并开始多机压测

第一种方式:执行命令:jmeter -n -t time.jmx -l time.jtl -r

-r:jmeter运行时读取到-r,就会去配置文件中读取里面的ip,并将读取到的ip下的jmeter全部运行

之前处理结果报告的方式一样可以处理此结果报告

第二种方式:执行命令 jmeter -n -t time.jmx -l time.jtl -R ip1,ip2

jmeter读取到-R,不回去读取配置文件里面的ip,会读取R后面跟的ip,并启动

此方法不建议,如果机器多的话,命令会非常长

如果此处提示tobusy,则需要将tomcat-server重新启动一下,全部重新起一下

如,多机压测未完成,就Ctrl+c强制停止,此时其他机器还在跑,这个时候再次运行多机压测脚本,就会tobusy

重启jmeter-server:先kill掉进程,再启动

先执行 ps -ef|grep jmeter-server  找到jmeter-server的进程

执行:kil -9 端口号,强制关闭

然后在去启动jmeter-server

性能测试十八:jmeter分布式的更多相关文章

  1. Spark学习之路 (二十八)分布式图计算系统

    一.引言 在了解GraphX之前,需要先了解关于通用的分布式图计算框架的两个常见问题:图存储模式和图计算模式. 二.图存储模式 巨型图的存储总体上有边分割和点分割两种存储方式.2013年,GraphL ...

  2. 三十八 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)介绍以及安装

    elasticsearch(搜索引擎)介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticse ...

  3. Spark学习之路 (二十八)分布式图计算系统[转]

    引言 在了解GraphX之前,需要先了解关于通用的分布式图计算框架的两个常见问题:图存储模式和图计算模式. 图存储模式 巨型图的存储总体上有边分割和点分割两种存储方式.2013年,GraphLab2. ...

  4. 性能测试十:jmeter进阶之webService与socket

    一.webService 1.添加http post请求2.添加header:Conent-type:text/xml Post请求的body中填写<soapenv:Envelope  xmln ...

  5. 二十八 Python分布式爬虫打造搜索引擎Scrapy精讲—cookie禁用、自动限速、自定义spider的settings,对抗反爬机制

    cookie禁用 就是在Scrapy的配置文件settings.py里禁用掉cookie禁用,可以防止被通过cookie禁用识别到是爬虫,注意,只适用于不需要登录的网页,cookie禁用后是无法登录的 ...

  6. 十八 Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式

    我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/env python # -*- coding:utf8 -*- from scrapy.cmdline import ...

  7. 四十八 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能

    Django实现搜索功能 1.在Django配置搜索结果页的路由映射 """pachong URL Configuration The `urlpatterns` lis ...

  8. Jmeter分布式部署测试-----远程连接多台电脑做压力性能测试

    在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起J ...

  9. 【转载】Jmeter分布式部署测试-----远程连接多台电脑做压力性能测试

    在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对于CPU和内存的消耗比较大,所以,当需要模拟数以万计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起J ...

随机推荐

  1. 因缺失log4j.properties 配置文件导致flume无法正常启动。

    因缺失log4j.properties 配置文件导致flume无法正常启动 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.报错:log4j:WARN No appenders ...

  2. H3C交换机端口安全技术之端口隔离的应用

    H3C交换机端口安全技术---端口隔离的应用 相信大家所在公司都会有财务部门,普通员工和领导,网络工程师在配置的时候为了安全考虑,会用一些硬件上自身支持的功能区做一些安全措施.为了方便说明需求,我特意 ...

  3. python---ORM之SQLAlchemy(2)外键使用

    import sqlalchemy from sqlalchemy import create_engine from sqlalchemy import Column,String,Integer, ...

  4. JAVA记录-Web系统AJAX异步传递路径写法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  5. 解决logstash启动缓慢问题

    在部署logstash时,头几次启动时长还可以,最后高达半小时以上启动启动不了,上网查资料说,系统的“熵”过低,导致jruby启动缓慢.需要安装haveged.但是我安装完后还是慢 https://h ...

  6. 【转载】Etcd+Confd实现Nginx配置文件自动管理

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://lizhenliang.blog.51cto.com/7876557/191015 ...

  7. Zabbix LLD 设置过滤条件,不自动监控某些item

    1.需求描述        默认情况下Zabbix 自带模板 "Template OS Linux" 中网络接口LLD自动发现除还回接口外的所有接口,当这并不一定是我们想要的结果. ...

  8. Python排序算法之选择排序

    选择排序 选择排序比较好理解,好像是在一堆大小不一的球中进行选择(以从小到大,先选最小球为例): 1. 选择一个基准球 2. 将基准球和余下的球进行一一比较,如果比基准球小,则进行交换 3. 第一轮过 ...

  9. 集大软件工程15级个人作业Week1

    集大软件工程15级个人作业Week1 孙志威 201521123077 博客园主页 码云地址 阅读参考材料,并回答下面几个问题 (1)回想一下你初入大学时对网络工程专业的畅想 当初你是如何做出选择网络 ...

  10. [Offer收割]编程练习赛9,10

    题目1 : 闰秒 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 计算机系统中使用的UTC时间基于原子钟,这种计时方式同“地球自转一周是24小时”的计时方式有微小的偏差. ...