JMeter集群模式的应用

JMeter集群模式的应用

       JMeter对于许多Java程序员是曾经和现在的最得心应手的压测工具,而且JMeter本身也是使用Java开发的。截止本文写作时间,官方网站上最新的版本是5.1.1,需要在Java 8的环境下运行。5.1.1版本的界面采用了类似Idea的黑色风格,一眼看上去还是很不错滴,但是第二眼再看,文字和图标怎么就那么小呢,而且只能通过Zoom In和Zoom Out放大和缩小,放大(Zoom In)后的效果文字都挤压在了一起,看起来非常别扭。界面也许永远都会是Java的硬伤了。

       JMeter最直接的使用方法是在本地以图形或命令行的方法运行,这种方法使用方便,操作简单。缺点是一台计算机的运算能力有限,可以模拟的并发数有限。这时就需要使用第二种方式运行了,在多台或许多台计算机上启动JMeter server服务,让它们同时协作工作,以发起n倍的并发模拟访问量。

 

       下图是JMeter集群模式的部署图,JMeter agent是部署在linux主机上的服务,是实际发起模拟请求的。JMeter controller控制JMeter agent的运行,是总控制器。

JMeter集群模式的应用_第1张图片

图1

安装JMeter

下面开始安装和配置。Agent和Controller的安装过程相同。

JMeter下载地址:http://jmeter.apache.org/download_jmeter.cgi

 

下载页面提供了Binaries和Source(二进制和源代码)两种形式,可以下载Binaries的包,格式是.tgz或.zip都可以。本文以.tgz为例。

 

解压

tar -xvzf apache-jmeter-5.1.1.tgz

 

移动到一个位置

mv apache-jmeter-5.1.1 /data

 

修改/etc/profile

export JMETER_HOME=/data/apache-jmeter-5.1.1

export PATH=$PATH:${JMETER_HOME}/bin

 

配置Agent

vi /data/apache-jmeter-5.1.1/bin/jmeter.properties

server_port=1099

server.rmi.localport=1099

server.rmi.ssl.disable=true

 

server_port和server.rmi.localport设置成相同的端口号,controller操纵agent时需要使用此端口。

 

运行agent

jmeter-server

 

配置Controller

vi /data/apache-jmeter-5.1.1/bin/jmeter.properties

remote_hosts=192.168.3.243:9800, 192.168.3.244:9800

 

remote_host指定agent服务的地址,多个地址使用逗号(,)分隔。

 

创建jmx文件

       linux上是命令行方式运行jmeter的,没有了图形界面,怎么创建测试策略呢?可以通过在windows上以图形化方式运行jmeter,创建好测试策略后,保存成jmx文件。然后,将jmx文件上传至linux上运行controller的服务器上,就能启动命令了。

 

JMeter集群模式的应用_第2张图片

图一

如图一所示,在图形jmeter中,创建Thread Group, HTTP Request, Aggregate Graph等测试组件,点击保存。

 

JMeter集群模式的应用_第3张图片

图二

如图二所示,将配置保存成jmx文件。.jmx是xml格式的文本文件,里面包含了测试相关的各种配置。

 

启动jmeter集群测试

在controller主机上使用jmeter启动测试。

jmeter -n -t meta-data.jmx -r -l log.jtl

 

meta-data.jmx是在windows上创建的jmeter配置文件。

 

JMeter集群模式的应用_第4张图片

图三

 

controller会将配置传送给每一个agent,并启动agent。等所有agent测试任务结束后,会在controller上执行命令的目录下会生成log.jtl

 

如何查看测试报告

把controller上生成的log.jtl下载到本地windows上,使用jmeter的聚合报告工具就可以查看了。

你可能感兴趣的:(J2EE)