This section lists performance analysis experiments conducted focusing on stream query processing and event ingestion with persistence.
...
Tested Item | Data Store | Query Type | Amount of events processed | Average Throughput (events per second) | Average Latency (milliseconds) |
---|---|---|---|---|---|
Simple Pass-through | None | None | 30 million | 900K | 0.9 |
Filter | None | Filter out all the events | 30 million | 900K | 1.5 |
Window-small (1 second) | None | Sliding time window | 30 million | 100K | 48 |
Window - Large (1 minute) | None | Sliding time window | 30 million | 100K | 130 |
Patterns | None | Temporal event sequence patterns | 1250 million | 500K | 550 |
Event Ingestion with Persistence | Oracle Event Store | Insert | 252 million | 70K | 42 |
Update | 75 million | 20K | 12 | ||
MS SQL Event Store | Insert | 198 million | 55K | 44.2 | |
Update | 3.6 million | 1K | 4.6 | ||
MySQL Event Store | Insert | 12.2 million | 3.4K | 2.14 | |
Update | 3 million | 500 | 0.5 |
...
The experiments were carried out in two c4.2xlarge (8 vCPU, 16GB RAM, EBS storage with 1000 Mbps max dedicated bandwidth) Amazon EC2 instances.
Linux kernel 4.44, java version "1.8.0_131", JVM flags : flagskickoff -Xmx4g -Xms2g
One node operated as a client.
Another node operated as a Stream Processor node.
Experiments were carried out using TCP as the transport.
...
The data used in 2013 DEBS Grand Challenge is collected by the Real-Time Locating System deployed on a football field of the Nuremberg Stadium in Germany. Data originates from sensors located near the players’ shoes (1 sensor per leg) and in the ball (1 sensor). The goalkeeper is equipped with two additional sensors in each hand. The sensors in the players’ shoes and hands produce data at a frequency of 200Hz, while the sensor in the ball produces data at a frequency of 2000Hz. The total data rate reaches roughly 15 position events per second. Every position event describes the position of a given sensor in a three-dimensional coordinate system. The center of the playing field is at coordinate (0, 0, 0) for the dimensions of the playing field and the coordinates of the kick offkickoff.
For more details about the dataset, see DEBS 2013 Grand Challenge: Soccer monitoring.
...
Throughput (events per second) | 70,000 |
---|---|
Latency (ms) | 42 |
Scenario 2: Update Query - Updating 10 million events in Oracle Data store
The test injected 10 million events into the properly indexed Oracle Database. The test involved persisting process monitoring events of approximately 180 bytes each. 75 million update queries were performed. The publishing throughput was 20,000 events per second during a time period of one hour.
Throughput Graph
Latency Graph
Summary Results
Number Of Persisted Events | 10 million |
---|---|
Throughput (events per second) | 20,000 |
Latency (ms) | 12 |
...
This test involved persisting process monitoring events of approximately 180 bytes each. The test injected 198 million events into WSO2 Stream Processor with a publishing throughput of 55,000 events per second during a time period of one hour.
Throughput Graph
Latency Graph
Summary Results
Throughput (event per second) | 55,000 |
---|---|
Latency (ms) | 44.2 |
Scenario 2: Update Query - Updating 10 million events in MS SQL data store
This test injected 10 million events into the properly indexed MS SQL Database. This test involved persisting process monitoring events of approximately 180 bytes each. 3.6 million update queries were performed with a publishing throughput of 1000 events per second during a time period of one hour.
Throughput Graph
...
This test involved persisting process monitoring events of approximately 180 bytes each. The test injected 12.2 million events into WSO2 Stream Processor with a publishing throughput of 3400 events per second during a time period of one hour.
Throughput Graph
Latency Graph
Summary Results
...
Info | ||
---|---|---|
| ||
After about 12.2 million events are published, a sudden drop can be observed in the receiver performance. This number can be considered as the upper limit of MySQL event store with default settings. In order to continue receiving events without a major performance degradation, data should be purged periodically from the event store before it reaches the upper limit. |
Scenario 2: Update Query - Updating 100K events in MySQL data store
The test injected 100,000 events into the properly indexed My SQL Database. This test involved persisting process monitoring events of approximately 180 bytes each. Three million update queries were performed with a publishing throughput of 500 events per second during a time period of one hour.
Throughput Graph
Latency Graph
Summary Results
Number Of Persisted Events | 100K |
---|---|
Throughput (events per second) | 500 |
Latency (ms) | 0.5 |
...