Table of Contents

Load Test

Simple performance test to determine the overall event throughput for an ORION server on a particular hardware platform.

Download example - Already included in recent ORION packages

DESCRIPTION

There is only one way to determine accurate and relevant performance numbers for complex event processing systems – that is you run your production application on your production hardware. Given a specific hardware configuration, the performance depends on the throughput of input protocols, as well as the tasks performed on each event within the filters, which can vary greatly. However, sometimes it helps to know what throughput a hardware platform is capable of. This question is answered by the Load Test application. It generates as many events as possible, injects them into ORION, counts them in a Filter Stack, and releases easy to understand summary statistics for every 10,000 input events.

EXPLANATION

The performance of an event processing server can only be considered in the context of the application running on it and its underlying hardware. However, it helps to know the overall magnitude of events that can be transacted through the architecture.

This application provides you with an effective tool to compare high-level throughput on different hardware platforms. It also provides you with some simple components that will help you to measure and optimize the performance of your actual production applications.

These are some sample performance metrics obtained with this Load Test application:

Events Per Second CPU Utilization System Configuration
163,800 60-65% Dual Intel XEON 2.4 GHz Processors, 512mb RAM, Redhat Enterprise ES 3.0, ORION 6.0 Build 2076
138,600 55% (MacOS) Windows XP emulated under Parallels (like VMWare) with 256mb RAM setting, running on an Intel Core Duo 2 GHz MacBook Pro Mac OS X 10.4, ORION 6.0 Build 2076

The Flood Source is a special source that generates as many events as the system is able to process. The events consist of four fields Host, Application, Log, and Message. The Flood Source can be used for many load generating test applications, and is not only limited to this example. Many hosts with Flood Sources forwarding events on a particular outbound protocol can be used to generate event loads for testing larger servers, as it can often be difficult to generate sufficient transactions loads to exercise high-performance hardware platforms.

The Diagnostic Count Event Filter receives events and creates summary statistics based on its input event stream. In this configuration, the Diagnostic Count Event Filter will issues one summary event for every 10,000 input events received. The raw input events will not be forwarded.

In this application, all summary events are written into the “defaultArchive” which can be viewed in the Event Viewer.

As you can see, the event messages describe the total number of events processed since the start of the process, and the average number of events per second processed, since that start time.

In addition, the right-most column “Other Fields” shows additional fields generated by the Diagnostic Count Event Filter in the summary events. Here are their meanings:

Field Name Value Description
ev:startTime February 18 2007, 06:46:12.572 The start date of the process when the filter initialized
ev:endTime February 18 2007, 7:12:03.179 The current time at which the summary event was generated
ev:totalSecs 1550.607 The endTime minus startTime in seconds, which is just under 26 minutes total run-time
ev:totalCount 214,930,000 Total number of events processed during that time
ev:totalEventsSec 138,610 The average events per second over the total running time
ev:recentCount 10,000 The number of events in the most recent summary frame (which is the number configured in the filter)
ev:recentSecs 0.051 Number of seconds during with the last 10,000 events very received
ev:recentEventsSec 196,076 The instantaneous rate over events received (over the last 0.051 secs) in events per second. 196,076 = 10,000/0.051 (Note: This number can fluctuate widely!)

Note: In order to see the column “Other Fields”, click on “View” and check mark the entry “Other misc fields”, as show below:

HOW TO RUN THE EXAMPLE

In order to accurately compare hardware platforms make sure of the following:

Additional Ideas

INSTALLATION

Follow the standard installation procedure for examples.

KEY SKILLS DEMONSTRATED

FILES

INPUT PROTOCOLS

Flood Source

OUTPUT PROTOCOLS

Archive Writer

SUMMARY

COMPLEXITY: BASIC

ORION VERSION: 6.0

KEY WORDS: PERFORMANCE, LOAD, DIAGNOSITICS, Flood Source, Diagnostic Count Event Filter, Event Viewer