`
sbl2255
  • 浏览: 211833 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ActiveMQ性能测试

    博客分类:
  • jdk
 
阅读更多

工作之余,公司想对ActiveMQ进行一番性能测试,

测试环境:



 硬盘:1T,5400  (效果不佳)

 

 

得出了一个异样的测试结果:

 

持久: 

插入200000条JSON,共消耗:25.175 s

平均:7944.389275074478 条/秒

 

插入200000条JSON,共消耗:34.47 s

平均:5802.146794313896 条/秒

 

插入200000条JSON,共消耗:29.937 s数量:1400000

平均:6680.696128536593 条/秒

 

插入200000条JSON,共消耗:29.094 s

平均:6874.269608854059 条/秒

 

 

 

非持久:

插入200000条JSON,共消耗:11.35 s数量:1800000

平均:17621.14537444934 条/秒

 

插入200000条JSON,共消耗:10.714 s

平均:18667.16445771887 条/秒

 

插入200000条JSON,共消耗:11.153 s

平均:17932.394871335066 条/秒

 

插入200000条JSON,共消耗:10.717 s数量:2400000

平均:18661.93897545955 条/秒

 

 

主要在自己本地测试,最终祸首是硬盘不给力啊;

在进行持久化操作时,ActiveMQ默认是kahadb管理

log的默认大小是32MB,当超过之后会新建一个新的log文件,完成操作后,activeMQ又将旧的log删除了。

 



 

 

代码贴上:

public class Sender {

	static int size = 200000;
	static Session session;
	static MessageProducer producer;
	static Topic topic;
	static Connection connection;
	static String str = "[{'flag':'1','value':'8854c92e92404b188e63c4031db0eac9','label':'交换机(虚机)'},{'flag':'1','value':'3f367296c2174b7981342dc6fcb39d64','label':'防火墙'},{'flag':'1','value':'8a3e05eeedf54f8cbed37c6fb38c6385','label':'负载均衡'},{'flag':'1','value':'4f0ebc601dfc40ed854e08953f0cdce8','label':'其他设备'},{'flag':'1','value':'6','label':'路由器'},{'flag':'1','value':'4','label':'交换机'},{'flag':'1','value':'b216ca1af7ec49e6965bac19aadf66da','label':'服务器'},{'flag':'1','value':'7','label':'安全设备'},{'flag':'1','value':'cd8b768a300a4ce4811f5deff91ef700','label':'DWDM\\SDH'},{'flag':'1','value':'5','label':'防火墙(模块)'},{'flag':'1','value':'01748963956649e589a11c644d6c09b5','label':'机箱'}]";

	public static void init_connection() throws Exception {
		ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
		connection = factory.createConnection();
		connection.start();
		session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
		topic = session.createTopic("java.activemq.tps");
		producer = session.createProducer(topic);
		producer.setDeliveryMode(DeliveryMode.PERSISTENT);
	}

	public static void sendMessage(String msg) {
		TextMessage message;
		try {
			message = session.createTextMessage();
			message.setText(str);
			producer.send(message);
		} catch (JMSException e) {
			e.printStackTrace();
		}
	}

	public static void close() throws Exception {
		connection.close();
	}

	public static void main(String[] arg) throws Exception {
		long start = System.currentTimeMillis();
		ExecutorService es = Executors.newFixedThreadPool(10);
		final CountDownLatch cdl = new CountDownLatch(size);
		init_connection();
		for (int a = 0; a < size; a++) {
			es.execute(new Runnable() {
				@Override
				public void run() {
					sendMessage(str);
					cdl.countDown();
				}
			});
		}
		cdl.await();
		es.shutdown();
		long time = System.currentTimeMillis() - start;
		System.out.println("插入" + size + "条JSON,共消耗:" + (double)time / 1000 + " s");
		System.out.println("平均:" + size / ((double)time/1000) + " 条/秒");
		close();
	}
}

 

 

 

  • 大小: 4.4 KB
  • 大小: 11.4 KB
分享到:
评论
3 楼 youarepp 2016-01-13  
用PC测单个,差不多了,现网的环境服务器肯定更好,而且还可以做集群,水平拓展这都不是问题
2 楼 sbl2255 2014-12-22  
milanACmilan 写道
问个问题:测试时activeMQ的配置文件和启动脚本中的JVM参数是否有改动?有的话,是怎么改动的?

优化JVM资料很多的,这里都是默认配置,性能这东西我觉得硬件才是王道。
1 楼 milanACmilan 2014-12-18  
问个问题:测试时activeMQ的配置文件和启动脚本中的JVM参数是否有改动?有的话,是怎么改动的?

相关推荐

    Jmeter测试ActiveMQ性能报告

    Jmeter压力测试 ActiveMQ性能 JMS性能测试

    ActiveMQ 性能基准测试报告

    ActiveMQ 基准性能测试 所有的测试都在两台服务器上完成。服务器由网线相连。消息消费者和提供者被安装在x86的机器上,配置为2.40G CPU和1.0GB内存,操作系统为Windows Server 2003 SP1,Broker被安装在一台x86机器...

    activemq性能与高可用性测试

    activemq性能与高可用性测试,activemq性能与高可用性测试。

    MQ之ActiveMQ.mmap

    脑图内容涵盖视频的99%的笔记,含有自己编写的代码文件,外加了自己对一些问题的测试与回答。 消息中间件之ActiveMQ 消息中间件已经成为互联网企业应用系统内部通信的核心手段,是目前企业内主流标配技术, 它...

    apache-activemq-5.11.2

    ⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上 ⒌ 支持多种传送协议:in-VM,...

    实验三 消息中间件应用开发:ActiveMQ实现单线程多队列

    中间件技术 实验三 消息中间件应用开发: - CSDN博客 https://blog.csdn.net/lly1122334/article/details/80139790

    ActiveMQ 与 WebSphereMQ 测试、对比、分析

    文章详细从性能、安装、配置、管理、可靠性/故障切换、事务等各个方面详细对比分析了优缺点。希望能帮到你

    activemq的windowns编译库、centos7编译库和mac编译库(含头文件和库文件)

    ActiveMQ 是Apache出品,最流行的,能力...可以用作内存JMS提供程序,非常适合单元测试JMS 支持可插拔传输协议,例如in-VM,TCP,SSL,NIO,UDP,多播,JGroups和JXTA传输 使用JDBC和高性能日志支持非常快速的持久性

    Activemq压测报告

    本文档包含了持久性、非持久性、异步同步和多topic下的所有压测数据,非常清晰的分析了各种压测数据,并且根据原理分析结果的合理性

    ActiveMQ.rar

    一: ActiveMQ简介 包括:是什么、能干什么、特点;消息中间件的功能、特点、应用场景等 n 二: ActiveMQ安装和基本使用 包括:通过源码安装、基本的配置示例...包括:影响ActiveMQ性能的因素、常见的优化方式和配置等

    消息队列学习(springboot+kafka+activemq)

    可帮助快速了解kafka、activemq 两者在 Queue topic producer consumer 使用异同点,demo仅仅是最简化代码,演示通信和使用,无法对两者的集群模式进行测试,如果有对集群模式有兴趣,可自行扩展集群节点,更好 的...

    Activemq原理文档

    本文档总结了Activemq的所有特性,包括整体架构、消息传输原理、部署、消息存储和通讯机制,文字结合图示,读了这个文档,会对Acitvemq有个非常透彻的了解

    message_system_test_report.rar_ActiveMQ java_activemq_httpsqs_me

    activemq,httpsqs,kestrel,memcacheq等消息队列的安装部署,以及性能测试的详细说明文档

    ActiveMQ测试报告

    对 Active MQ 的测试报告,描述了Active MQ的性能及其他情况

    activemq-artemis:Apache ActiveMQ Artemis的镜像

    有关修改代码,构建项目,运行测试,IDE集成等的详细信息,请参见《 。 建立状态 建立状态: 建立ASYNC IO库 ActiveMQ Artemis提供了两种日志持久性类型:NIO(使用Java NIO库)和ASYNCIO,与Linux内核libaio库进行...

    ActiveMQ消息服务器-其他

    4、通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上 5、支持多种传送协议:in-...

    基于JTT809协议的车辆信息交换平台架构方案(上级平台)

    809协议网关应用采用mina+spring架构,... 本网关应用已历经并通过多次交通部部标的检测,性能稳定,适用于车辆监控平台之间的实时数据交换,经测试在普通pc机上,单个网关应用可支持1000wGPS数据/小时的数据处理能力。

    Apache cxf对接webservice测试环境

    3. 高性能,最少的计算开销。 4. 可嵌入的Web服务组件:例如可以嵌入到Spring Framework和Geronimo中。 在面向服务的架构(SOA)基础设施项目中,CXF通常和Apache ServiceMix,Apache Camel以及Apache ActiveMQ一起...

    基于JTT808协议的车辆监控系统架构方案

    1、网关应用采用mina+spring+ehcache框架,主要功能是接受终端的tcp/udp链接,解析终端的上行消息以及封装平台下发的下行消息,本网关应用已历经并通过多次交通部部标部标的检测,性能稳定;同时网关采用json消息与...

Global site tag (gtag.js) - Google Analytics