JMS 性能基准测试





0/5 (0投票)
发布/订阅吞吐量性能分析

了解更多关于 Fiorano 的信息
执行摘要
本文对 FioranoMQ 2008、Sonic MQ 7.0、Tibco EMS v4.4.0、ActiveMQ 4.1.0、Jboss Messaging 1.4 SP1 和 Sun JAVA MQ 4.1 的发布/订阅消息吞吐量进行了性能分析。此次分析对这些产品进行了正面比较,旨在说明在几种消息传递场景下,这些产品的相对性能特征。
测试场景代表了实际应用中的压力条件。测试在负载下进行,其中单个消息代理需要支持多个发布者和订阅者。测试方法和驱动程序是 Sonic Software, Inc. 开发的,可在此 处获取。
用于这些性能测试的测试工具是高度可配置的,可用于测试任何 JMS 代理。此外,该工具允许运行和测量各种测试定义。
请注意,JMS 代理的不同配置或性能调优可能会导致任何测试的吞吐量增益(或损失)。测试定义的更改将产生不同的吞吐量速率,在尝试将这些结果映射到任何特定 JMS 应用程序的预期性能时应考虑这一点。
所有 JMS 代理都使用了开箱即用的默认值配置,并且没有对其进行任何特定于性能的产品调优。从详细结果可以看出,消息代理的相对性能在各种条件下有所不同。虽然性能分析应始终针对特定的消息传递环境进行,但这些测试结果表明,在当今实时企业中,FioranoMQ 在要求苛刻的消息传递环境中将更有效地传递消息。
1. 测试方法
本节描述的所有测试均使用高度可配置的测试工具进行。该工具允许运行和测量各种测试定义。
本节首先简要介绍了用于测试 JMS 服务器的测试条件。随后是描述测试及其结果的部分。最后一部分简要介绍了硬件和软件配置。
1.1 测试条件
所有测试均在以下条件下进行
- 每个客户端运行在单独的 JMS 连接上。
- 所有测试结果均在客户端连接建立且发布者/订阅者及其他对象已创建后记录。
- 所有测试均运行多次以确保可重复性。
- 通过使用服务器的默认设置尽可能多地发布消息,在最大负载下测量性能。
- 在测试期间,没有其他应用程序在被测系统上运行或使用资源。
- 所有消费者均使用了 `Dups_ok`。
- 所有服务器均在默认模式下进行测试 - 这意味着 SonicMQ、Tibco EMS 在“评估”(非高可用)模式下运行,ActiveMQ 4.1.0(默认配置模式),FioranoMQ 和其他在正常的生产就绪(非高可用)模式下运行。
1.2 测试场景
测试针对 JMS 中使用 Topic 最流行的消息模型进行。
I) 非持久化发布者 & 非持久化订阅者
此模型通常由消息量大且需要最低延迟的应用程序使用。
II) 持久化发布者 & 持久化订阅者
此模型通常由需要最高级别冗余并需要一次且仅一次消息传递保证的应用程序采用,无论客户端或服务器故障。
基于典型的客户使用案例进行了以下测试
- 服务器可扩展性测试:这些测试观察 JMS 服务器在固定每个 Topic 的发布/订阅客户端数量下,具有不同 Topic 数量时的性能特征。结果说明了随着更多客户端(每个客户端都在独立的 JMS Topic 上工作)的引入,JMS 服务器的可扩展性。
- Topic 可扩展性测试:这些测试观察 JMS 服务器在固定数量的 Topic 上,具有不同发布/订阅客户端数量时的性能特征。结果说明了随着更多客户端(所有客户端都在同一个 JMS Topic 上工作)的引入,JMS 服务器的可扩展性。
- 持久化发布者,多个持久化订阅者:这些测试观察当单个持久化发布者用于向多个持久化订阅者发布消息时,JMS 服务器的性能特征。
- 非持久化发布者,多个非持久化订阅者:这些测试观察当单个非持久化发布者用于向多个非持久化订阅者发布消息时,JMS 服务器的性能特征。
为了产生最高的消息负载量,客户端消息交换的任何一侧都没有引入处理时间。通过允许发布者以这种方式尽可能快地发送消息,可以使这些测试暴露最大的消息吞吐量。测试消息大小的选择反映了在典型客户概念验证场景中观察到的使用案例。
1.3 测试时长
所有测试场景均执行了总共八分钟。每次测试执行包括八个六十秒的间隔。前两个间隔和最后两个间隔分别被视为“启动”和“关闭”间隔。
启动间隔是指系统在响应新引入的客户端负载时,通过资源分配来增加其消息处理能力的时期。
关闭间隔是指系统在响应测试完成导致的客户端负载减少时,降低其能力的时期。其余五个间隔被视为“测量”间隔,在此期间实现了稳定状态性能。
稳定状态是指消息速率变化可忽略不计的状态。
1.4 环境设置
在任何测试启动期间开始之前,都建立了所有客户端连接、发布者和订阅者。删除并重新创建了每个产品的消息存储、日志文件、队列和 Topic。因此,在每次测试之间,代理都会停止并重新启动。
1.5 测量
性能数据仅在五分钟的测量间隔期间收集。在启动和关闭间隔期间不收集数据。测试运行了两次,并对测量结果取平均值以获得最终结果。
1.6 拓扑
拓扑包含两台机器:一台用于运行客户端,另一台用于运行服务器。系统配置将在本文档的后面详细介绍。这些系统具有 1Gb 网卡,通过 1 Gbps 对等连接互连。
注意:50 个订阅者场景的测试用例如下拓扑进行:一台机器,服务器和客户端在同一台机器上。系统配置将在本文档的后面提及。
2. 性能结果
2.1 服务器可扩展性
<><><>
P/S/T |
消息类型 |
订阅者类型 |
Message |
订阅速率 (消息/秒) |
|||||
尺寸(字节) |
Fiorano MQ 2008 |
Tibco EMS4.4.0 |
Sonic MQ 7.0 |
Active MQ 4.1.0 |
Jboss 1.4 |
Sun MQ 4.1 |
|||
1/1/1 |
非持久化 |
非持久化 |
1024 |
30655 |
14341 |
12246 |
10742 |
454 |
5340 |
10/10/10 |
非持久化 |
非持久化 |
1024 |
22033 |
12472 |
10261 |
7938 |
2326 |
6353 |
25/25/25 |
非持久化 |
非持久化 |
1024 |
16943 |
12444 |
10322 |
7761 |
2612 |
1359 |
50/50/50 |
非持久化 |
非持久化 |
1024 |
14823 |
10278 |
7239 |
6021 |
1921 |
912 |

2.2 Topic 可扩展性
P/S/T |
消息类型 |
订阅者类型 |
Message |
订阅速率 (消息/秒) |
|||||
尺寸(字节) |
Fiorano MQ 2008 |
Tibco EMS4.4.0 |
Sonic MQ 7.0 |
Active MQ 4.1.0 |
Jboss 1.4 |
Sun MQ 4.1 |
|||
1/1/1 |
非持久化 |
非持久化 |
1024 |
30655 |
14341 |
12246 |
10742 |
454 |
5340 |
10/10/1 |
非持久化 |
非持久化 |
1024 |
41081 |
23809 |
22177 |
17011 |
2970 |
636 |
25/25/1 |
非持久化 |
非持久化 |
1024 |
43184 |
21230 |
24331 |
17922 |
3362 |
818 |
50/50/1 |
非持久化 |
非持久化 |
1024 |
38723 |
17281 |
19212 |
14038 |
2129 |
621 |

2.3 持久化发布者,持久化订阅者
P/S/T |
消息类型 |
订阅者类型 |
Message |
订阅速率 (消息/秒) |
|||||
尺寸(字节) |
Fiorano MQ 2008 |
Tibco EMS4.4.0 |
Sonic MQ 7.0 |
Active MQ 4.1.0 |
Jboss 1.4 |
Sun MQ 4.1 |
|||
1/1/1 |
持久化 |
持久性 |
1024 |
1353 |
985 |
690 |
596 |
431 |
1373 |
1/10/1 |
持久化 |
持久性 |
1024 |
11596 |
8708 |
9470 |
4103 |
990 |
1778 |
1/25/1 |
持久化 |
持久性 |
1024 |
20820 |
12215 |
11671 |
6695 |
1007 |
748 |
1/50/1 |
持久化 |
持久性 |
1024 |
18133 |
10424 |
9121 |
3912 |
831 |
541 |

2.4 非持久化发布者,非持久化订阅者
P/S/T |
消息类型 |
订阅者类型 |
Message |
订阅速率 (消息/秒) |
|||||
尺寸(字节) |
Fiorano MQ 2008 |
Tibco EMS4.4.0 |
Sonic MQ 7.0 |
Active MQ 4.1.0 |
Jboss 1.4 |
Sun MQ 4.1 |
|||
1/1/1 |
非持久化 |
非持久化 |
1024 |
30655 |
14341 |
12246 |
10742 |
454 |
5340 |
1/10/1 |
非持久化 |
非持久化 |
1024 |
42471 |
25329 |
23103 |
16717 |
1278 |
579 |
1/25/1 |
非持久化 |
非持久化 |
1024 |
45101 |
26219 |
24348 |
17057 |
1196 |
643 |
1/50/1 |
非持久化 |
非持久化 |
1024 |
42921 |
22128 |
19223 |
14231 |
933 |
493 |

3. 系统配置
3.1 硬件配置
服务器系统
Windows 2000
四核 Intel Xeon - 每个 2 GHz
4 GB RAM
客户端系统
Windows 2000
单核 Pentium 4 - 3GHz
2 GB RAM
客户端机器数量:1
网络设置
客户端和服务器在同一网络。
网络速度:1GBPS。
50 订阅者场景的系统配置
Windows 2000
单核 Intel 2 Ghz
2 GB Ram
3.2 软件配置
Java (TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Fiorano MQ 2008
Sonic MQ v7.0
Tibco EMS v4.4.0 (在持久化测试中,TIBCO Topic 设置为 failsafe 以确保持久化到磁盘)
ActiveMQ 4.1.0
JBOSS 1.4
Sun JAVA MQ 4.1