ActiveMQ 性能基准测试报告

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ActiveMQ 性能基准测试报告(ActiveMQ Performance Benchmark Report)

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

测试安装

整个测试使用自定义的JMS性能测试模块,兼容JMS1.1.没使用特定的代码。加载插件类用于JMS连接。

下面的JMS设置用于所有测试用例

-非事务会话

-自动通知模式会话

-使用onMessage()方法异步接收消息

-持续订阅会在完成接收动作后被取消

-如果测试用例中有超过1个目的地址,消息发送这会给每个目的地址发送消息。

-消费者只能从一个目的地址中消费消息

-消息大小为1Kb,会被消息产生者重复使用

-每个JMS连接只使用单个JMS客户端

测试中每个发送者和接收者所发送和接收的消息数目都将被记录。数值采样将会从测试系统初始化完成时开始,并在规定的时间段内持续进行,于系统开始关闭前结束,请参考下面的采样过程示例:

总消息数:5

平均数:0.625 秒/采样间隔(5消息/8采样间隔)

默认每秒采样一次

Broker配置

我们对每个JSM项目采用默认的out-of-the-box配置,包括ActiveMQ。同时,我们将对ActiveMQ其他配置进行测试。

• ActiveMQ + K aha persistence

• ActiveMQ (优化设置)

Kaha persistence

异步发送为true

对主题和队列的Message prefetch分别设置为 65532 和 2000

ActiveMQ优化

本次性能测试将不但显示ActiveMQ相对于其他JMS项目的性能,同时还会显示对ActiveMQ调优后其性能的提升。在每个测试中,进行三种配置,保持默认配置、使用Kaha persistence机制、进行优化配置以获得高性能。

Kaha持久化机制是一种新的基于文件方式保持高性能消息传输的消息持久化机制,更多信息请参考:

/site/kaha-persistence.html。其他优化方式同样能提高ActiveMQ的性能。ActiveMQ第三种配置使用上述这些优化方式保证了ActiveMQ高性能传输。更多有关ActiveMQ性能优化请参考:

/site/apache-activemq-performance-tuning-guide.html。

主题访问(Topic Destination)结果

该基准测试将使用4钟不同的组合,包括传输模式和订阅类型:

持久性和持续型(persistent and durable)

持久性和非持续型(persistent and non-durable)

非持久性和持续型(non-persistent and durable)

非持久性和非持续型(non-persistent and non-durable)

另外,每个测试将经历3个场景:

单个提供者,单个用户,和单个主题或队列(1 producer, 1 subscriber, and 1 topic)

十个提供者,是个用户,和单个主题或队列(10 producers, 10 subscribers, and 1 topic)

十个提供者,是个用户,和十个主题或队列(10 producers, 10 subscribers, and 10 topics)

主题模式:1 producer, 1 subscriber, and 1 topic

数字代表在每个测试时间间隔中每秒发送的消息数。数值越高代表性能越好。

主题模式:10 producer, 10 subscriber, and 1 topic

数字代表在每个测试时间间隔中每秒发送的消息数。数值越高代表性能越好。主题模式:10 producer, 10 subscriber, and 10 topic

数字代表在每个测试时间间隔中每秒发送的消息数。数值越高代表性能越好。

队列访问方式(Queue Destination Findings)

该测试采用持久化和非持久化两种队列,另外每个测试将经历3种场景;

单个提供者,单个用户,和单个主题或队列(1 producer, 1 subscriber, and 1 topic)

十个提供者,是个用户,和单个主题或队列(10 producers, 10 subscribers, and 1 topic)

十个提供者,是个用户,和十个主题或队列(10 producers, 10 subscribers, and 10 topics)

队列模式:1 producer, 1 subscriber, and 1 topic

数字代表在每个测试时间间隔中每秒发送的消息数。数值越高代表性能越好。队列模式:10 producer, 10 subscriber, and 1 topic

数字代表在每个测试时间间隔中每秒发送的消息数。数值越高代表性能越好。队列模式:10 producer, 10 subscriber, and 10 topic

数字代表在每个测试时间间隔中每秒发送的消息数。数值越高代表性能越好。注意:测试JBoss Messaging时出现了ff.异常。Broker开始执行一分钟后不停出现“[SimpleMemoryManager] Less than 25% of total available memory free”警告。该消息在JBoss Messaging 所有测试中一直出现,表明该版本的JBoss Messaging会占用很多内存当发送或接收消息时。

使用性能模块

有关使用和配置JMS性能模块的更多细节,请参考:

/site/activemq-performance-moduleusers-

manual.html

词汇表

目的(Destination)

表示消息产生并发送时的目的地址(管道),当消息被接收能从该地址返回。

在点对点消息模式中,目的被称为队列,在发布-订阅模式中,目的被称为主题。

相关文档
最新文档