Jmeter压测环境准备

Jmeter性能监控

  1. 配置好测试机器上的jmeter环境:http://jmeter-plugins.org/downloads/all/ 网站下载两个东西: JMeterPlugins-Standard-1.1.3.zipServerAgent-2.2.1.zip
  2. Standard的zip包解压缩之后,将JMeterPlugins- Standard.jar 放在XXX\Apache\jmeter\lib\ext下,重启jmeter就可以看到在 线程组右键的监听器中可以看到增加了很多内容,在现有的项目中增加[email protected] - PerfMon Metrics Collector,作为监控服务器端的数据。
  3. 增加了[email protected] - PerfMon Metrics Collector之后,在其中Add Row,增加需要监控的数据信息,比如Cpu,Memory,Disks/IO,TCP等之类的信息,端口默认为4444。
  4. 服务器端配置,解压缩ServerAgent.zip包,放到服务器上:
  • Linux:CD命令到该文件夹下,输入命令./XXXXXX /startAgent.sh。注意,如果客户端配置的不是4444端口,则需要启动客户端设置的端口,命令为./startAgent.sh --udp-port 0 --tcp-port Xxxx,当然Xxxx为设定好的端口号。
  • Windows:,双击startAgent.bat即可,启动的是默认端口4444.

  5. 在测试机器上,点击启动就可以开始接口的测试和压力测试工作了,在选择的[email protected] - PerfMon Metrics Collector可以看到来自服务器的性能信息。

Jmeter分布式部署

使用多台机器产生负载的操作步骤如下:

  1. 在所有期望运行jmeter作为 负载生成器的机器上安装jmeter, 并确定其中一台机器作为 controller ,其他的的机器作为agent 。
  2. 在controller机器的jmeter的%JMeter_home%/bin目录下,找到jmeter.properties 文件,编辑该文件:

     查找:remote_hosts=127.0.0.1,修改为:remote_hosts=10.8.39.114:1099,10.8.33.181:1099,localhost:1099

  这里要特别注意端口后,有些资料说明端口1644为jmeter的controller 和agent 之间进行通信的默认RMI端口号,但是在测试时发现,设置为1644运行不成功,改成1099后运行通过。另外还要留意agent的机子是否开启了防火墙等。

 3. 运行所有 agent 机器上的jmeter-server 文件

4. 启动controller 机子上的jmeter应用jmeter.bat,选择菜单“Run”--->“Remote Start”(“运行”--->“远程启动”),来分别启动agent ,也可以直接选择“Remote Start All”(“远程全部启动”)来将所有的agent启动。当

远程访问时,会看到控制台上打印出一行:Starting the test on host [ip]:1099 @....,远程执行结束,会打印一行:Finished the test on host [ip]:1099 @...。

需要注意的点:

1)Jmeter分布式控制过程中,各个Agent启动的线程数等于线程组中的配置,不是均分线程组中的配置,每个Agent所单独测试的线程数都是你在Controller上配置的线程数,也就是说我在controller上的线程数为100,立即

执行,循环一次,那么我的部署就会有同事触发300(100X3)的线程数,立即执行,执行一次。而不是三台机器共同分担100个线程。

2)在contrller机器上想要运行agent的时候,需要先执行jmeter-server 文件,再执行jmeter.bat

3)配置的时候保证机器的防火墙都处于关闭状态。

参考资料:

性能监控插件:
http://www.tuicool.com/articles/RbAN3ea
性能监控介绍:
http://blog.csdn.net/defonds/article/details/41650813

时间: 2024-11-03 05:37:04

Jmeter压测环境准备的相关文章

jmeter压测学习1-window环境准备与案例

前言 最近用jmeter做一些接口的压力测试,记录下使用过程中遇到的一些问题. 在使用window机器做并发压测的时候,发现并发数设置100的时候,会出现报错:java.net.SocketException: Socket operation on nonsocket: connect 环境准备: java 1.8 jmeter 5.1.1 jmeter环境 jmeter环境依赖JAVA环境,需安装JDK1.8环境,JDK环境安装网上一大堆教程,自己去想办法吧,我这里就不多说了. jmeter

jmeter压测网站

1.Jmeter介绍 Jmeter是apache组织开发的基于java的压力测试工具. Jmeter可以用于对服务器.网络活对象模拟巨大的负载,来自不同压力类别下测试他们的强度和分析整体性能.另外,jmeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果.为了最大限度的灵活性,jmeter允许使用正则表达式创建断言. 2.Jmeter工作原理 image001 3.Jmeter安装 实验环境:系统:centos6.6 64位Java:1.8.0_65Jm

jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包

一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps:服务端每秒钟能处理的请求数. 响应时间:就是你从发出请求到服务端返回给你数据的时间. 二.jmeter操作数据库 在测试计划中添加mysql-connector-java-5.1.7-bin.jar 最后添加查看结果树.如果既要查询又要修改操作选择Callable Statement这个模式. 断言

jmeter压测app

使用代理的方式,录制app端脚本,之后用jmeter压测就没啥好说的了 1.电脑端谷歌设置本地代理(端口号为8888) 2.jmeter设置HTTP代理服务器(端口号为8888) 3.手机端wifi设置HTTP手动代理(服务器为电脑的IP,端口号为8888) 4.jmeter启动代理 5.手机端登陆使用app,jmeter录制到了脚本

java多线程&&Jmeter压测实现

笔者最近在看jmeter源码,对多线程处理部分的了解记录如下. Part1 线程与多线程概念 提到线程先来看一下进程(线程的容器)的概念,进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示. 对于jmeter来说,运行中的jmeter程序实例便是一个进程.而该进程中会包含大量线程. 线程是程序执行流的最小单位,是一组命令的集合.在jmeter中一

jmeter压测

压测指标:TPS/QPS,响应时间 jmeter压测设置 jmeter压测结果监听器添加 jmeter压测结果查看(Samples:请求次数,Average:平均响应时间/ms,Throughput:TPS) jmeter加压力机(压力机之间能ping通) 各压力机下bin执行jmeter-server.bat,启动 修改jmeter.properties中remote_hosts参数添加压力机IP和端口(端口默认1099),示例如下 remote_hosts=localhost:1099,10

手把手教你jmeter压测--适合入门

[后台测试]手把手教你jmeter压测 我知道我迟早是要踏上了后台测试之路的,只是没想到来的这么突然.新接手了一个项目,在第一版发出后,产品需要做运营活动拉量,因为我担心突然的流量涌入是否会对后台造成压力呢?因此决定做一下压测: 下面就一步一步的介绍我从0到1的压测过程吧. 我下载的是 apache-jmeter-2.13,因为这个包下载下来通用linux和windows的,所以我们现在windows下打开它. 直接点击bat,打开jmeter: 添加一个线程组: 添加完成之后,先设置这两项:

jmeter压测学习2-linux运行jmeter环境

前言 使用jmeter做压测的时候,在windows上不太稳定,所有一直在linux服务器上使用jmeter做压力测试. 本篇记录下linux上搭建jmeter环境,以及运行jmeter脚本,查看报告. 相关环境: java 1.8 jmeter 5.1.1 java环境 先在Linux上安装java环境,安装1.8.0版本,先查找java相关的列表 yum -y list java* [[email protected]_0_2_centos ~]# yum -y list java* Loa

JMeter压测分布式部署

监控JMeter压力机的性能 netstat -an | find "TCP" /C 处理过程: 一:调度机master启动以后,会拷贝本地的jmx文件分发到远程的slave机器上: 二:slave机器拿到脚本以后启动命令行模式去执行脚本,对于每台slave机器拿到的脚本都是一样的,所以如果jmx脚本为50个线程跑3分钟,那么实际并发就是50*3=150个线程并发跑3分钟: 三:执行时,slave会把执行获得的数据结果传给master机器,master机器会收集所有slave机器的信息