Jmeter Cluster

Jmeter 是开源软件,100%纯java应用程序,专门为负载测试和性能测试。

Jmeter的特性包括:

1.负载测试和性能测试许多不同的服务器/协议类型:

    • Web - HTTP, HTTPS
    • SOAP / REST
    • FTP
    • Database via JDBC
    • LDAP
    • Message-oriented middleware (MOM) via JMS
    • Mail - SMTP(S), POP3(S) and IMAP(S)
    • MongoDB (NoSQL)
    • Native commands or shell scripts
    • TCP

2.完整的可移植性和纯Java

3.多线程框架允许并发线程和同步采样,针对不同的功能和单独的线程。

4.详细的GUI设计能快速建立测试计划和调试。

5.缓存式和离线式分析测试结果

6.高度可扩展:

6.1插入取样器,拓展测试功能;

6.2负载统计能插入计时器

6.3数据分析和可视化插件允许很大的可扩展和个性化

6.4函数可用于提供动态输入一个测试或提供数据操作。

6.5脚本取样器

网站http://jmeter.apache.org/包含所有所需的信息如何使用JMeter的工具。请参阅文档菜单和阅读和理解的开始部分和用户手 册。第一个将为您提供必要的信息下载、安装和运行JMeter的工具。用户手册中你还会找到详细的信息关于JMeter测试计划和所有元素可以使用在创建 测试计划。

JMeter测试步骤:

这个简短的教程解释如何使用多个系统执行性能测试。在我们开始之前,有几件事检查:

1。所有机器需要安装Java和JMeter工具部署。

2.关掉防火墙系统

3.所有用户在同一个子网

4.服务器在同一个子网

5.Jmter能访问服务器

6.所有系统确保同一个版本的Jmeter,结果准确

一旦你确定系统准备好了,设置远程

本教程假设您已经安装了JMeter所有的系统。JMeter的工作方式是1主控制器启动测试在多个从系统。

术语:

在我们开始之前,让我们定义条款和保证的定义是明确的:

Master:系统运行Jmeter GUI或非GUI,控制测试

slave:运行的系统jmeter-server,需要从主命令和请求发送到目标系统(s)

Target:系统运行jmeTarget服务器我们计划性能测试

步骤:

1.在slave systems上,进入到jmeter/bin目录,打开jmeter-server.sh

2.定义RMI_HOST_DEF,增加机器的Ip:

RMI_HOST_DEF=-Djava.rmi.server.hostname=172.48.0.115

3.执行jmeter-server

[[email protected] bin]$ ./jmeter-server

服务正常,出现如下提示:

Created remote object: UnicastServerRef [liveRef: [endpoint:[172.48.0.115:37675](local),objID:[2dadf396:14fdafc8a0e:-7fff, 25749104862551184]]]

4.在主系统作为控制台,去jmeter / bin目录并打开jmeter。属性文件在一个文本编辑器

5.编辑行“remote_hosts = 127.0.0.1”和添加的IP地址。

例如:remote_hosts=172.48.0.115,172.48.0.116,172.48.0.123

6.JMeter脚本创建的(如sso.jmx)。

7.master开始测试:

/jmeter.sh -Djava.rmi.server.hostname=172.48.0.114 -n -GstartPhoneNumber=10000 -Gthreads=40 -Gloops=50 -Glogin_loop=10 -Gvalidate=100 -t sso.jmx -r -l results.csv -X

master控制jmeter服务器,启动和停止加载,并从服务器手机统计信息。

命令行选项的列表:

-t, --testfile {argument}

the jmeter test(.jmx) file to run containing the test plan

-l, --logfile {argument}

the file to log samples to

-n, --nongui

run JMeter in nongui mode

-J, --jmeterproperty {argument}={value}

Define additional JMeter properties

-G, --globalproperty (argument)[=(value)]

Define Global properties (sent to servers)

e.g. -Gport=123

or -Gglobal.properties

-D, --systemproperty {argument}={value}

Define additional System properties

更多命令在:http://jmeter.apache.org/usermanual/get-started.html#options

debugging:

Once you started the test in the master system console you will see the following text:

Creating summariser <summary>

Created the tree successfully using sso.jmx

Configuring remote engine: 172.48.0.115

Configuring remote engine: 172.48.0.116

Configuring remote engine: 172.48.0.123

Starting remote engines

Starting the test @ Thu Sep 17 19:47:12 HKT 2015 (1442490432475)

Remote engines have been started

Waiting for possible shutdown message on port 4445

 

On the slaves you will see the following log for test start and stop:

Starting the test on host 172.48.0.115 @ Thu Sep 17 19:47:19 HKT 2015 (1442490439214)

Finished the test on host 172.48.0.115 @ Thu Sep 17 19:47:30 HKT 2015 (1442490441165)

During the test run the master will receive summary information from the slaves regarding the transactions per seconds, latencies and errors.

e.g.

summary +   6803 in     3s = 2293.7/s Avg:     2 Min:     0 Max:    24 Err:     0 (0.00%) Active: 10 Started: 10 Finished: 0

summary + 101500 in    30s = 3381.9/s Avg:     2 Min:     0 Max:    61 Err:     0 (0.00%) Active: 10 Started: 10 Finished: 0

summary = 108303 in    33s = 3284.0/s Avg:     2 Min:     0 Max:    61 Err:     0 (0.00%)

summary + 101100 in    30s = 3370.2/s Avg:     2 Min:     0 Max:    40 Err:     0 (0.00%) Active: 10 Started: 10 Finished: 0

summary = 209403 in    63s = 3325.1/s Avg:     2 Min:     0 Max:    61 Err:     0 (0.00%)

summary + 102900 in    30s = 3430.8/s Avg:     2 Min:     0 Max:    45 Err:     0 (0.00%) Active: 10 Started: 10 Finished: 0

summary = 312303 in    93s = 3359.2/s Avg:     2 Min:     0 Max:    61 Err:     0 (0.00%)

summary + 101800 in    30s = 3393.3/s Avg:     2 Min:     0 Max:    47 Err:     0 (0.00%) Active: 10 Started: 10 Finished: 0

summary = 414103 in   123s = 3367.5/s Avg:     2 Min:     0 Max:    61 Err:     0 (0.00%)

summary +  85897 in    26s = 3334.9/s Avg:     2 Min:     0 Max:    42 Err:     0 (0.00%) Active: 0 Started: 10 Finished: 10

summary = 500000 in   149s = 3361.6/s Avg:     2 Min:     0 Max:    61 Err:     0 (0.00%)

Tidying up remote @ Wed Jul 01 19:43:25 EEST 2015 (1435769005812)

 

To stop the test just execute:

./stoptest.sh

Limitations

1。RMI不能沟通跨子网没有代理,所以也不能jmeter没有代理。

2。从JMeter发送所有的测试结果控制控制台,很容易饱和网络IO。这是一个好主意使用简单的数据作家保存结果和查看文件之后,一个图的听众。

3 所示。一个JMeter 2-3Ghz CPU上运行客户端能处理300 - 600线程根据测试的类型。(唯一的例外是web服务)。XML处理CPU密集型和将很快消耗CPU周期。作为一般规则,以XML为中心的应用程序的性能 将执行的4到10低于使用二进制协议的应用程序。

时间: 2024-10-10 19:19:08

Jmeter Cluster的相关文章

JMeter在Windows Linux环境下的安装使用

一.Windows环境下测试 1.下载: 官网地址:http://apache.fayea.com//jmeter/binaries/apache-jmeter-2.12.zip 2.打开: 进入bin目录下 运行jmeter.bat 3.使用: 0>.在测试计划中添加一个线程组 1> 配置线程组,主要是取样器错误后执行动作.线程数.循环次数 2> 添加一个测试对象 即取样器.主要参数:IP,Port,协议,方法,路径,传递的参数. 其中参数部分,可以直接在Parameters框体中填入

jmeter进行dubbo接口测试

最近工作中接到一个需求,需要对一个MQ消息队列进行性能测试,测试其消费能力,开发提供了一个dubbo服务来供我调用发送消息. 这篇博客,介绍下如何利用jmeter来测试dubbo接口,并进行性能测试... 一.Dubbo简介 dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.其核心部分包含如下几点: 1.远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式: 2.集群容错:提供基

jmeter+influxdb+granfana+collectd监控cpu+mem+TPS

1.安装grafana #####gafana过期安装包安装报错 Error unpacking rpm package grafana-5.1.4-1.x86_64error: unpacking of archive failed on file /usr/sbin/grafana-cli;5e250e9c: cpio: read Verifying : grafana-5.1.4-1.x86_64 原因安装包损坏不是最新的######下载官网最新的包:####grafana install

linux+jmeter+python基础+抓包拦截

LINUX 一 配置jdk 环境 *需要获取root权限,或者切换为root用户 1.windows下载好,去 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 官方网站下载jdk(linux相应版本) 2.在usr目录下创建java路径文件夹 [root bin]cd /usr mkdir java 3.将jdk-8u60-linux-x64.tar.gz放到刚才创建的文件夹下

在压测过程中,jmeter跑一段时间以后卡死的解决方案

Jmeter在跑压测的时候,本来设置了10分钟,但是跑到5分钟的时候就卡死了,再关了以后重新跑还是这样(图1),于是各种百度,最后解决方案如下: 右击点击编辑,记事本打开(图2) 修改后的(图3) set HEAP=-Xms256m -Xmx1024m set NEW=-XX:NewSize=128m -XX:MaxNewSize=512m 再重启jmeter,压测的时候就不会报错了: 注意:压测的时候禁用查看结果树!

Redis Cluster集群部署搭建

在Oracle的路上走了许多年,换换感觉,尝试一下新的知识,也是一个不错的感觉.Redis,一个超轻量化的内存数据库,只做一小块数据库功能实现,却非常优秀的一个产品.今天,就分享一下安装Redis集群的过程. 搭建redis集群,建议至少需要准备3台服务器,共搭建6个节点,3个master,3个slave,并且要求3个master节点不能全部跑到同一台服务器上,保证节点安全,3台服务器的配置相同,使用redistest账号搭建,对应的端口是7000/7001/7002端口 我的集群分配如下,每个

Jmeter 跨线程组传递参数 之两种方法

终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为同一个线程组下的请求是同时发送的),只需要发送一次登录请求,请求B直接用登录请求的参数即可,直到登录接口的参数失效了,需再次发送一次登录接口,又可以多次使用其参数,下面举例子: 1.登录接口中利用 Json Path Extractor 获取到登录接口的响应参数,(怎么获取上一节讲过) 终于搞定了Jmeter跨线程组之间传递参数,这样就不用每次发送请求B之前,都需要同时发送一下登录接口(因为

学习总结——JMeter做http接口功能测试

JMeter对各种类型接口的测试 默认做接口测试前,已经给出明确的接口文档(如,http://test.nnzhp.cn/wiki/index.php?doc-view-59):本地配好了JMeter 3.x的运行环境: 打开JMeter,添加一个线程组和该线程组的查看结果树.以下的几种接口请求我们都在这个线程组中添加和运行. 1. 普通的以key-value传参的get请求 e.g. 获取用户信息 添加http请求:填写服务器域名或IP:方法选GET:填写路径:添加参数:运行并查看结果. 2.

ActiveMQ集群Master-Slave + Broker Cluster模式

一.简介 Master-Slave集群: 由至少3个节点组成,一个Master节点,其他为Slave节点.只有Master节点对外提供服务,Slave节点处于等待状态.当主节点宕机后,从节点会推举出一个节点出来成为新的Master节点,继续提供服务. 优点是可以解决多服务热备的高可用问题,缺点是无法解决负载均衡和分布式的问题. Broker Cluster集群: Broker-Cluster部署方式中,各个broker通过网络互相连接,并共享queue.当broker-A上面指定的queue-A