遇到的常见问题: 1.在Controller端上控制某台机器Run,提示"Bad call to remote host". 解决方法:检查被控制机器上的jmeter-server有没有启动,或者JMeter.properties中remote_hosts的配置错误.   2.Agent机器启动Jmeter_server.bat时,后台提示:"could not find ApacheJmeter_core.jar" 解决方法:确定在Agent机器安装jdk,并设置…
最近因为项目需要,研究了性能测试的相关内容,并且最终选用了jmeter这一轻量级开源工具.因为一直使用jmeter的GUI模式进行脚本设计,到测试执行阶段工具本身对资源的过量消耗给性能测试带来了瓶颈,一般线程加到100左右就会出现工具本身无法支撑的问题,广泛了解解决办法后,发现分布式部署测试机仍是首选方案.   关于如何配置jmeter分布式部署测试机很多博客上已经描述得很详细了,这里就不再赘述,可以参考虫师的博客: http://www.cnblogs.com/fnng/archive/201…
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 为什么要做分布式 Jmeter 本身的局限性 一台压力机的 Jmeter 默认最大支持 1000 左右的并发用户数(线程数),再大的话,容易造成卡顿.无响应等情况,这是受限于 Jmeter 其本身的机制和硬件配置(内存.CPU等) 由于 Jmeter 是 Java 应用,对 CPU 和内存的消耗较大,在需要模拟大量并发用户数时,单机很容…
目录 1.JMeter分布式测试概念 2.JMeter分布式测试前提条件 3.JMeter实现分布式测试 (1)在执行机中的配置 (2)在控制机中的配置 (3)启动执行机中的JMeter服务 (4)在控制机中执行JMeter测试脚本 4.Linux系统作为控制机 5.分布式测试总结 1.JMeter分布式测试概念 (1)什么是分布式测试 分布式测试是指通过局域网和Internet,把分布于不同地点.独立完成特定功能的测试计算机连接起来,以达到测试资源共享.分散操作.集中管理.协同工作.负载均衡.…
目录 1.控制机端 (1)执行机没有关闭防火墙 (2)内存溢出 2.执行机端 (1)启动jmeter-server服务情况一 (2)启动jmeter-server服务情况二 (3)启动jmeter-server服务情况三 3.分布式测试控制机接收不到返回结果 4.参数化问题 5.其他补充 自己在使用JMeter进行分布式测试的时候,遇到了很多的坑.下面总结起来,方便以后查看. 1.控制机端 (1)执行机没有关闭防火墙 在执行机IP+端口号设置正确的情况下,控制机在启动测试计划的时候,出现如下情况…
在性能测试过程中,如果要求并发数较大时(例如1000+),单机配置cpu与内存等无法支持,则需要使用Jmeter的分布式测试方法. 一.一般什么情况下需要分布式 1.前辈经验:比如机器i5双核的cpu,8g的内存.压测一个简单的接口,可以支持500+的并发.(但是如果压测方案逻辑复杂,比如在jmeter里面加了很多控制器,监听器,这些都是很耗机器性能,这时候可能连100并发都压不上去) 2. 压测过程中如果Jmeter未响应,卡住,反应慢,随即启动任务管理器,如果cup和内存特别大时,则说明单机…
一.背景: 之前在Jmeter插件监控服务器性能一篇中说到,在非GUI环境中监控时为了保存监控数据需要修改jmeter脚本,并且每次通过施压机(远程服务器,非GUI环境)来压测时都要将jmeter脚本上传然后在服务器上通过命令行启动,测试完成后再把结果数据下载到本地GUI环境中查看,总是有很多不方便. 本次压测需求需要很大的并发量,例如3000,但是单台施压机难以实现,因此希望多台施压机并行,并且我能同步控制它们. 在这样的需求下经过了解,jmeter工具本身有一个很强大的远程启动功能,于是尝试…
随着并发量的增大,一台机器就不能满足需求了,所以我们采用分布式(Master-Slaver)的方案去执行高并发的测试 注意事项: Master机器一般我们不执测试,所以可以拿一台配置差些的机器,主要用来采集Salver机器上的执行结果信息 Master跟Slaver机器要在同一个网段 Master跟Slaver机器的Jmeter版本,Java版本,启动方式都要一样 脚本以及数据在Master机器上保存即可,Salver上不需要 第一步,获取Salver机器的IP地址,在Master机器的Jmet…
stop.sh需要跑Jmeter的服务器上安装Jmeteryum install lrzsz 安装rz.sz命令rz jemter的压缩包 拷贝到/usr/local/tools下面unzip apache-jmeter-3.0.zip 解压 权限修改chmod 777 * 修改权限 时间修改ntpdate s2m.time.edu.cn 同步到服务器或者 ntpdate time.nist.gov时间不一致生成报表会有问题本机Window是的时间修改(与时间服务器同步):  w32tm /re…
单台压测机通常会遇到客户端瓶颈,受制于客户机的性能.可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力,这个时候你就需要用到分布式方案来解决客户机的瓶颈,压测的结果也会更加接近于真实情况. jdk和jmeter的下载和安装就不说了 jmeter 分布式压测原理: 分布式压测分为两块: 控制器(controller)和代理(agent) controller 负责把脚本分发给 agent执行. agent 负责执行脚本,产生对服务器的实际压力,agent 不需要运行 jmeter,运行 …
由于在对WEB系统进行自动化测试的过程中,经常会由于握手连接断开等原因导致HTTP请求发送失败,如果重新执行一次,会是成功的.在每天的自动化冒烟测试过程中,生成在测试报告存在误报,严重浪费了测试人员确认的时间,因此希望在HTTP请求失败的情况下,重新执行,设置一个重新执行的最大次数,如果尝试了多次都是失败的才认为是真的失败了. 一开始,我只是对单个HTTP request通过While Controller做了失败后重新执行这样的处理,但是要让一个thread group里面所有的HTTP re…
https://www.cnblogs.com/beginner-boy/p/7836276.html https://www.cnblogs.com/wuhenyan/p/6419368.html 分布式执行原理: 一.linux负载机配置 1.下载jdk,并将JDK解压至 /usr/lib/jvm 下 (一般解压至该路径下,避免记忆个性化设置) 配置jdk的环境变量,将下述内容复制粘贴 #vi /etc/profile export JAVA_HOME=/usr/lib/jvm/jdk1.8…
Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时,如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能. 一.Jmeter分布式执行原理: 1.Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave). 2.执行时,…
Jmeter分布式 主控机即自己的电脑,控制并发数 压力机即别人的机器,和主控机一起添加压力 1.其他的压力机需要启动Jmeter-server.bat 启动成功页面 2.主控机的Jmeter 的bin目录下找到配置文件Jmeter.properties 在文件中搜索remote_hosts,后面写上压力机的ip及端口号(端口号默认为1099) 加多个压力机的话用逗号分隔,去掉注释,如图: 保存脚本后,重新打开Jmeter 打开Jmeter后,点击启动,远程启动,可查看添加的压力机的IP,可以选…
一.jmeter分布式压测(多台电脑一起压测) 1.有多台电脑,每台电脑上都有jmeter,而且这几台电脑都互相能ping通 2.在我的电脑的jmeter,bin目录下,修改jmeter.properties配置文件里面,添加了其他电脑的ip, 打开文件搜索remote_hosts,在逗后面填加IP地址,如果多个IP用逗号隔开: 3.在其他人的电脑上要启动jmeter-server 4.ps:如果有参数化文件,那么也要在其他人的电脑的同样位置放一份 5.打开jmter脚本后,点击运行—远程启动-…
转 : jmeter分布式测试的坑 有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出现:Error in rconfigure() method java.rmi.ConnectException:Connection refused to host:10.10.34.21;nested exception is:java.net.ConnectException:connecti…
背景由于jmeter本身的瓶颈,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起Java内存溢出的错误.要解决这个问题,可以使用分布式测试,运行多台机器运用所谓的Agent来分担jmeter自身的压力,并借此来获取更大的并发用户数,但是需要进行相关的一些修改.总结一句话,jmeter由java开发,耗内存.cpu,所以大并发下还是需要分布式的. 测试步骤1.关闭防火墙.2.在所要运行jmeter并作为负载生成器的机器上安装jmeter,并确定其中一台机器…
有关jmeter分布式测试的环境配置,大概就是那样,但是每次想要进行jmeter分布式测试的时候,总是会有各种奇怪的问题,下面整理了一些可能遇到的坑. 只要错误中出现:Error in rconfigure() method java.rmi.ConnectException:Connection refused to host:10.10.34.21;nested exception is:java.net.ConnectException:connection timed out:conne…
Jmeter运行时十分耗CPU和内存,在实际应用中有时一台机器不能满足测试要求,这时就需要利用多台机器来进行分布式.   Jmeter分布式的测试框架:框架中所有的测试脚本都要从测试主机传送到测试从机,而测试结果又要从测试从机传送回测试主机. 测试主机收集所有从机的测试结果并显示出来,如果虚拟用户的数量大的话,这个过程需要传输的数据很多,对测试主机有很高的求. (图片转自博客http://blog.chinaunix.net/uid-26884465-id-3419474.html)   在进行…
第一坑:启动压力机的时候,直接./jmeter-server,会报如下错误 错误原因:127.0.0.1是本机, 一个回路地址, 没有指定地址 正确的启动方式:启动命令加一个参数, IP地址写压力机对应的地址 ./jmeter-server   -D java.rmi.server.hostname=118.24.178.224 第二坑: 遇到的问题: 启动remote测试后,Agent 机器 收到任务,且控制台显示:”Starting the test on host 192.168.1.13…
之前总结了 jmeter 分布式测试的过程,在部署过程中提到,要在 system.properties 中配置自己的 IP. 至于为什么要这么做,源于这一次 debug 的过程. 运行环境 mint, ubuntu 两台主机作为 master 节点,一台 win server 作为 slave 节点,采用分布式的方式, 对 target 进行测试. 问题 问题很奇怪,以 mint 系统作为 master,调度分布式测试没有问题, $ jmeter -n -t ./test.jmx -R 10.2…
安装 下载地址:http://jmeter.apache.org/download_jmeter.cgi 安装前提(因为jmeter依赖于Java所以必须先配置好java) 下载后解压: tar -xvzf apache-jmeter-3.1.tgz Jmeter参数 -h, --help print usage information and exit #打印帮助信息 -v, --version print the version information and exit  #打印版本信息 -…
搭建jmeter分布式环境     (1)确定分布式结构,即1台机器部署master.几台机器部署slave?     (2)将相同版本的jmeter分别拷贝到这几台机器     (3)修改master节点的jmeter配置,修改如下两个文件              修改apache-jmeter-3.0/bin/jmeter.properties 文件,在这个文件中增加如下配置:              remote_hosts=xx.xx.xx.xx1:1080,xx.xx.xx.xx2…
一.Jmeter分布式测试基础 1.Jmeter分布式测试原因: 在使用Jmeter进行接口的性能测试时,由于Jmeter 是JAVA应用,对负载机的CPU和内存消耗比较大.所以当需要模拟数以万计的并发用户时,可能会导致单台负载本身扛不住,出现的瓶颈.为了解决以上的问题,Jmeter提供的分布式功能,同时启动多台电脑进行分布式测试. 2.什么情况下采用分布式测试: 1.在进行压测的过程中如果出现Jmeter未响应,卡住,反应慢等现象.随即启动任务管理器进行查看,如果cup和内存都特别大.就可以说…
------------------运行环境:------------------------------------------------- 1. 安装java运行环境:要求jdk1.8(最好安装64位,通过调节jvm参数,可以增加并发用户数)2. 安装jmeter环境,要求jmeter3.3 ------------------jmeter服务器分布式部署:------------------------------调度机(Controller):192.168.8.197执行机(Slav…
Jmeter压测过程中,由于测试机配置有限,CPU.内存都可能是存在瓶颈.如果使用很大的并发进行测试时,就可能会感到程序比较卡,这时候就无法继续增加压力了. 解决方法: 搭建Jmeter分布式集群,远程启动测试. 步骤如下: 1.在分布式集群中,脚本编辑.控制的机器叫做“client”,实际运行Jmeter测试脚本,负责向被测服务器发请求的机器,称为“server”.网络要求server和client需要网络互通.找几台机器作为 server,然后client和server相互ping彼此的ip…
对于并发量很大的需求,如上万并发量,受到CPU和内存的限制,单机模拟场景是实现不了的,为了让JMeter提供更大的负载能力,须使用它的分布式机制,即多台机器同时产生负载的功能. 以下参数分析可用于配置负载分布台数的参考:通常,4G内存最多可达到2000左右的并发量.在1.4G Hz-3GHz 的CPU .1GB 内存的 JMeter 客户端上,可以处理线程 100-300.但是Web Service 例外.XML处理是 CPU 运算密集的,会迅速消耗掉所有的CPU .一般来说,以XML技术为核心…
Jmeter分布式测试需要注意事项: 1. 如果脚本中有用到CSV Data Set Config,则所有的模拟机都必须在相应的目录下存在该文件.如下图,则必须所有模拟机的F盘下都有user.txt文件,否则无法通过分布式启动测试 2. 接#1,每台模拟机上方的CSV Data里面的数据不能相同,否则所有模拟机都会调用相同的值,可能会导致失败.例如user.txt存放的是登录账号,模拟机A的user.txt包含账号A.账号B,模拟机B的user.txt包含账号A.账号B,则在运行时,模拟机A.模…
jmeter分布式测试 说明:1台8核16G的windows2008的机器,只能器6000个线程,否则效果不是很好:并且负载机器需要做如下设置: 1.打开注册表:regedit 2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TCPIP\Parameters 3.新建 DWORD值,name:TCPTimedWaitDelay,value:30(十进制) –> 设置为5秒,默认是240秒 4.新建 DWORD值,name:MaxUs…
关于JMeter线程组中线程数,Ramp-Up Period,循环次数之间的设置概念 笔者是个刚刚踏入压力测试领域不到2个月的小菜,这里分享一下线程组中3个参数之间关系的个人见解,不喜请!喷!,望大家给出宝贵的想法. 假设: 线程数:n Ramp-Up Period:T (有人称之为启动时间,有人说是准备时长,看个人喜好) 循环次数:a 若每个循环运行时间是 t 当时间到 S = (T- T/n)时,最后一个线程启动,若要使所有线程同时运作,则需要在最后一个线程启动的时候第一个线程仍未关闭,为达…