This section lists performance analysis experiments conducted focusing on stream query processing and event ingestion with persistence.
...
The following table shows a complete summary of the content presented on in this pagesection.
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 |
...
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 |
...