1.五星坑:远程启动测试,响应数据为空. controller运行jmeter脚本后,GUI无性能数据返回. agent的jmeter server显示连接后立即结束.看似执行实则响应数据为空. 出现以上情况原因及解决办法:   1.jmeter脚本和测试数据(如果有的话)主机和从机两边都要存放.且controller中jmeter脚本.测试数据的存放路径和agent中jmeter脚本.测试数据的存放路径一致.  2.在原因1的基础上,controller的测试数据地址要用绝对路径,agent的…
master和slave机要在同一网段内,才能做分布式(Jmeter要配环境变量,这样不用手动起server) 分布式不成功,解决方案: 1.master端和slave端要ping通 2.ping通后,telnet ip port (Linux端),看一下1099端口是否被占用 3.防火墙 4.jmeter的log,如果请求发过去,但是没有返回结果,看看网段的问题 主要步骤: master端修改: 1.修改remote_hosts=ip:port:改成要启动的Linux机的ip以及端口 slav…
哈喽,我又来了~ 前提:三台linux虚拟机,一台作为master,另外两台作为slave. 一.server端 1.修改1099端口,client和server通信的端口,可以不修改,默认就是1099 2.启动jmeter-server (这里启动的时候可以看到ip后面的端口不是1099,这里不用管,1099是client和server的通信端口,和这个没有关系) 二.client端:配置master和slave 1.进入到jmeter的bin目录下,打开jmeter.properties c…
环境配置 一.在Linux服务器先安装SDK 1.先从官网下载jdk1.8.0_131.tar.gz,l(linux版本,32位,64位根据系统来判断) 2.在/usr/目录下创建java文件夹,(当然这里也可以是别的文件夹) 1)cd /usr/ 2)mkdir java 3.进入到该文件夹下:cd  /usr/java 4.从本地上传压缩文件到Linux服务器:rz(使用xshell)如果没有该命令,则需要安装:sudo yum -y install lrzsz 5.上传完后,解压该文件:t…
JMeter自身带有Master-Slave压测框架,对于并发量不是很高的压力情况下(比如tps低于5000),该方案是可行的,并且使用起来非常方便,只要在配置文件或者命令行工具的参数做一些补充,即可以实现分布式压测,具体请参见JMeter官网操作步骤或者UncleYong的文章 但JMeter的Master-Slave有诸多的缺陷: 1.Master机器的瓶颈,JMeter通过RMI的方式来实现Master-Slave的通信,所有的信息最终都会汇总到主机上,一旦slave机器数量增多,并且sl…
单台压测机通常会遇到客户端瓶颈,受制于客户机的性能.可能由于网络带宽,CPU,内存的限制不能给到服务器足够的压力,这个时候你就需要用到分布式方案来解决客户机的瓶颈,压测的结果也会更加接近于真实情况. jdk和jmeter的下载和安装就不说了 jmeter 分布式压测原理: 分布式压测分为两块: 控制器(controller)和代理(agent) controller 负责把脚本分发给 agent执行. agent 负责执行脚本,产生对服务器的实际压力,agent 不需要运行 jmeter,运行 …
之前一篇博文写的是如何在Linux上使用jmeter压测,这篇介绍下Linux上jmeter的分布式压测. 和windows上的分布式类似,需要配置agent节点和控制机 一.Agent节点配置 1. 首先安装好jdk和jmeter环境,具体见我的上一篇文章.然后打开配置文件 /bin/jmeter.properties 找到并取消这段配置的注释 server.rmi.ssl.disable=false ,false改成true. # Password of Trust store #serve…
Jmeter 在linux下的分布式压测 0.将 windows机器作为master 控制机(同时也兼做负载机slave), linux机器作为 负载机 slave. 1.linux环境安装 : (1).在linux(centos)下需要安装JDK (1.8) 和 JMETER (5.0) jdk文件为:jdk-8u131-linux-i586.tar.gz jmeter 文件为(跟windows下的是同样的文件,本身是java编写,跨平台):apache-jmeter-5.0.zip(2).在…
一.常用压力测试工具对比 简介:目前用的常用测试工具对比 1.loadrunner 性能稳定,压测结果及颗粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多. 2.Apache ab(单接口压测最方便) 模拟多线程并发请求,ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会目标服务器造成巨大的负载,类似于简单的DDOS攻击等. 3.webbench webbench首先fork出多个子进程,每个子进程都循环做web访问测试.子进程把访问的结果通过pi…
1.简介 千呼万唤始出来,这一篇感觉写了好久,总想写的清楚明白简洁,但是还是洋洋洒洒写了好多,希望大家喜欢吧!本来打算将这一篇文章是放在性能测试中讲解和分享的,但是有的童鞋或者小伙伴们私下问的太多了,实在是忍不了也解答烦了,索性就在这里分享一下吧.权当参考,但是希望对大家有所帮助. 2.为什么要使用分布式测试 (1)Jmeter是基于java程序运行的,在windows上使用Jmeter进行性能测试时,非常耗费客户机的CPU和内存,如果并发数稍微大一点(比如100.1000...并发),单台电脑…
项目中使用Jmeter进行大并发压测时,单机受限内存.CPU.网络IO,会出现服务器压力还没有上 去,但压测服务器由于模拟的压力太大死机的情况.JMeter的集群模式可以让我们将多台机器联合起来 一起产生负载,从而弥补单台机器负载生成能力不足的问题. 分布式压测原理 1.控制机为Master,负载机为Slave 2.Master启动后,会拷贝jmx脚本文件到所有的Slave上 3.Slave会回传压测数据给Master,最后由Master汇总出结果文件 注意事项 1.脚本文件上传到master即…
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…
很多性能大牛说一台机器的压测其实不准确,于是搜索网上的分布式压测练习了一番 目录 1.环境准备 2.控制机和压测机配置 3.执行分布式压测 1.环境准备 1.1准备一台windows作为控制机(master)(ip:XX.XX.XX.130),2台linux作为负载机(slave)(ip:XX.XX.XX.128)(ip:XX.XX.XX.129) 1.2三台机器都配置同样版本的java和jmeter linux环境变量添加: export JAVA_HOME=/opt/jdk1.8.0_161…
一.Jmeter4.0分布式压测准备工作 压测注意事项            the firewalls on the systems are turned off or correct ports are opened.            系统上的防火墙被关闭或正确的端口被打开. all the clients are on the same subnet.            所有的客户端都在同一个子网上. the server is in the same subnet, if 19…
1.Jmeter4.0分布式压测准备工作 简介:讲解Linux服务器上jmeter进行分布式压测的相关准备工作 1.压测注意事项 the firewalls on the systems are turned off or correct ports are opened. 系统上的防火墙被关闭或正确的端口被打开. all the clients are on the same subnet. 所有的客户端都在同一个子网上. the server is in the same subnet, i…
jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对jmeter进行分布式测试: 1:先说说分布式测试原理 处理过程: 一:调度机master启动以后,会拷贝本地的jmx文件分发到远程的slave机器上: 二:slave机器拿到脚本以后启动命令行模式去执行脚本,对于每台slave机器拿到的脚本都是一样的,所以如果jmx脚本为50个线程跑3分钟,那么实际并发就是50*3=1…
环境说明:安装与控制机相同版本的jdk与jmeter 1.修改控制机中的jmeter.properties文件 将<remote_hosts=127.0.0.1>改为<remote_hosts=172.16.250.193>,其中172.16.250.193为负载机的IP,不设置端口为默认端口1099.每个Agent机之间用英文半角逗号隔开,修改保存. 2.进入jmeter的bin目录中启动jmeter.命令<./jmeter-server>.但是报错,如下图. 解决办…
之前的博客:jemter(二十三):分布式测试简略的介绍了利用jmeter做分布式测试的方法,当时只是介绍了背景和原因,以及基本的配置操作,有同学说写得不够详细. 正好今年双十一,我司的全链路压测,也尝试了jmeter分布式压测的手段.这篇博客,介绍下利用jmeter在NGUI模式下进行分布式压测的一些小技巧和注意事项. 一.压测机 1.数量&成本 无论是从成本角度还是维护的难易方面,压测机的数量,适量就好. 举个例子,8C16G的一台服务器,部署jmeter后,根据我个人的测试比对数据,配置≤…
首先要了解jmeter分布式压测的基础概念:master为统计结果的服务器,slave为各台压力机,如下图所示 一.结论 针对master 1.修改jmeter.properties的client.rmi.localport=61099(值可以是自定义的,默认为0时会随机分配端口)2.防火墙打开端口61099-61101(范围也可以设大一点,目前源码我只发现了其使用了61010和61011,即配置的client.rmi.localport加1和加2)3.修改jmeter.properties的s…
1.什么叫分布式压测? 分布式压测:模拟多台机器向目标机器产生压力,模拟几万用户并发访问 2.分布式压测原理:如下 3.更多补充.....待添加…
1)Jmeter4.0介绍 jmeter是个纯java编写的开源压测工具,apache旗下的开源软件,一开始是设计为web测试的软件,由于发展迅猛,现在可以压测许多协议比如:http.https.soap.ftp.database数据库.LDAP  轻量目录访问协议.TCP.SOMP(简单邮件协议)等,由于是纯java编写,可以在苹果.window或者Linux下运行,全功能的测试IDE,允许快速的建立测试计划(从浏览器或本地应用程序,官网地址:http://jmeter.apache.org)…
在使用jmeter压测过程中,可能会度遇到内存溢出的错误,这是为什么呢?因为jmeter是java写的应用,java应用jvm堆内存heap受负载机硬件限制,虽然我们可以调整堆内存大小,但是单机无法支撑数以万计大并发,此时,需要多个负载机进行分压测试,这样性能瓶颈就不会是我们的负载机了. 分布式的原理 jmeter分布式压测时,选择其中一台作为控制机,其余的机器做为负载机,执行时,控制机会把脚本发送到每个负载机上,负载机获取到脚本就执行脚本(负载机只需要启动jmeter-server.bat或者…
背景:公司为了满足大并发的情况,需要测试组配合,就需要分布式压测,这里我把我踩过坑都记录下来: 环境:Linux + jmeter-v.5.1.1;使用3台2核4G的压力机: Q1: Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks A1:解决思…
王诚强,荔枝微课基础架构负责人.热衷于基础技术研发推广,致力于提供稳定高效的基础架构,推进了荔枝微课集群化从0到1的发展,云原生架构持续演进的实践者. 本文根据2021年4月10日深圳站举办的[腾讯云原生技术开发日] 线下活动中,[荔枝微课]基础架构负责人"王诚强"关于"基于kubernetes搭建分布式压测系统"的演讲整理而成. 关注[腾讯云原生]公众号后台回复[lzwk],可获得该演讲PPT. 大家好,今天想和大家分享的主题是基于kubernetes搭建分布式压…
解决办法:1.控制机和代理机:修改jmeter.properties中server.rmi.ssl.disable=true 不启动SSL2.控制机和代理机: Slave(从压力机)启动jmeter-server时添加-Djava.rmi.server.hostname参数,即./jmeter-server -Djava.rmi.server.hostname=从压力机ip地址(linux下)jmeter-server -Djava.rmi.server.hostname=从压力机ip地址(wi…
1.配置主机名称 查看主机名 hostname 配置主机别名 vim /etc/hosts 2.分布式主机也需要配置主机别名 3.每个主机上必需有JAVA环境和jmeter环境 4.如果脚本有参数文件,需传到相同的目录下,如果有lib包,也要传到相同的目录下 5.启动jmeter/bin目录下启动jmeter-server,先./jmeter-server看是否启动成功,如果启动成功,可使用nohup ./jmeter-server 6.进入到jmeter目录下,将两台机器上的jmeter下所有…
当然,java环境.jmeter安装我这里就不说了. 使用1个controller(imac电脑),2个agent(Windows7 系统) 一.agent配置(Windows7系统) 1.电脑环境变量中,添加环境变量:JMETER_HOME=D:\apache-jmeter-2.13,此处为你Jmeter的路径 2.ipconfig查看当前电脑的ip 3.打开jmeter目录下\bin目录下的jmeter.properties,修改两个地方: (1)remote_hosts=127.0.0.1…
之前一直没有接触过websocket协议,所以一直对websocket的压测存在疑惑,在网上参考文章并不断尝试之后,终于有所得:第一次用jmeter的websoket插件,用的ws非加密协议,请求都能得到正常响应,但由于公司系统升级使用了wss加密协议,再次用该插件后发现报如下错误: - Opening new connection - Using response message pattern "" - Using disconnect pattern "" -…
之前写过一篇JMeter使用教程,只是介绍了http请求的压力测试,想到MySQL的测试也挺必要的,于是写下这篇记录一下.如果不知道怎么下载和安装,可以看一下上一篇关于JMeter的文章,地址是:https://www.cnblogs.com/spareyaya/p/12807638.html. 先说一个小问题,因为JMeter每次打开的时候都会把语言重置为英语,这里可以通过修改bin/jmeter.properties配置文件设置为中文,找到其中的 #language=en 改为 langua…
前置条件 电脑A,电脑B,电脑C均安装相同版本的JMeter 和JDK.其中电脑A作为控制机,电脑B和电脑C作为施压机 电脑A IP:172.16.0.114 电脑B IP:172.16.0.115 电脑C IP:172.16.0.116 环境部署并使用 1.在控制机(电脑A)的 JMeter 的bin目录下,找到jmeter.properties文件,编辑该文件,将slave设备(电脑B.电脑C)的地址均写入该文件,如:修改:remote_hosts=172.16.0.115,172.16.0…