Nirvana Benchmarking

This section describes the results of performance tests which have been undertaken with Nirvana JMS.

Nirvana has a proven record for high performance and scalability, and the results in this section describe the performance levels that can be expected with Nirvana. We tested the Nirvana JMS API as opposed to the Nirvana Client API.

Any performance analysis exercise is useful as a guide only, as the results achieved are only relevant within the context of the environment within which the tests are run. This document is therefore intended to serve as a guide to performance levels you should expect to see in a similar environment.

We demonstrate in these tests that Nirvana throughput and scalability is limited primarily by the hosting network. If more network bandwidth is available, then greater throughput can be achieved.

The results below show the number of messages consumed approaches 100,000 per second. The message size for each test was 1 kilobyte, which means that the bandwidth consumed was approximately 100 Megabytes (800 Megabits) per second. After accounting for the TCP protocol overhead, the gigabit network used in the test configuration was fully saturated.

This clearly shows that Nirvana is capable of sustained performance and scalability and will entirely utilize the network resources within which you wish to deploy Nirvana.

If you would like access to the test harness to run tests yourselves, please email our support team.

Test Methodology and Conditions

All tests were completed using the Sonic Test Harness described above. Each test was carried out with a specific set of configuration parameters and on the same hardware.

The tests were conducted using two identical machines each connected to a GBit switch using GBit Ethernet cards and drivers. One machine ran the Nirvana Realm Server, and the other ran the publisher and subscriber test programs

The following conditions were applied during each test:

  • The default configuration of the Nirvana realm was used.
  • Each consumer used its own JMS connection
  • All results were recorded after all connections and subscribers had been established
  • Each publisher attempted to publish as many messages as possible during each test
  • The acknowledgement mode for all consumers was DUPS_OK

Test Results

The tests used Topics as opposed to queues and demonstrate the pub/sub model available in JMS:

Server Scalability

These tests demonstrate the scalability of Nirvana as more publishers and subscribers are added where each is using separate topics:

P/S/T Message Type Subscriber Type Message Size (Bytes) Msgs / Second Consumed
1/1/1 Non-Persistent Non-Durable 1024 36232
10/10/10 Non-Persistent Non-Durable 1024 81755
25/25/25 Non-Persistent Non-Durable 1024 86180

Topic Scalability

These tests demonstrate the scalability of Nirvana as more publishers and subscribers are added each using the same fixed number of topics:

P/S/T Message Type Subscriber Type Message Size (Bytes) Msgs / Second Consumed
1/1/1 Non-Persistent Non-Durable 1024 36232
10/10/1 Non-Persistent Non-Durable 1024 100421
25/25/1 Non-Persistent Non-Durable 1024 101311

Non-Persistent Publisher, Non-Durable Subscribers

These tests demonstrate the performance of Nirvana when a single non- persistent publisher is used with an increasing number of subscribers using the same fixed topic:

P/S/T Message Type Subscriber Type Message Size (Bytes) Msgs / Second Consumed
1/1/1 Non-Persistent Non-Durable 1024 36232
1/10/1 Non-Persistent Non-Durable 1024 100420
1/25/1 Non-Persistent Non-Durable 1024 100986

Persistent Publisher, Durable Subscribers

These tests demonstrate the performance of Nirvana when a single persistent publisher is used with an increasing number of durable subscribers:

P/S/T Message Type Subscriber Type Message Size (Bytes) Msgs / Second Consumed
1/1/1 Persistent Durable 1024 2303
1/10/1 Persistent Durable 1024 8399
1/25/1 Persistent Durable 1024 8488

System Configuration

Server System

  • No of Server machines: 1
  • Dell PE1900 Quad-Core Zeon X5355 2.66GHz/2x4MB
  • CentOS 5 / Linux i386 2.6.18-53.1.6

Client System

  • No of Server machines: 1
  • Dell PE1900 Quad-Core Zeon X5355 2.66GHz/2x4MB
  • CentOS 5 / Linux i386 2.6.18-53.1.6

Network Settings

  • Client and Server were on the same network.
  • Network Speed: 1GBit/S.

Share this page with others:
Tell Your Tweets Facebook It! Add to Delicious Reddit! Digg It! Stumble Upon Add to Your Faves Mixx it
Follow Us:
Keep up with my-Channels on Twitter Become a fan on Facebook LinkedIn Profile Recent Highlights RSS Feed