Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 ItemData StoreQuery TypeAmount of events processedAverage Throughput (events per second)

Average Latency

(milliseconds)

Simple Pass-throughNoneNone30 million900K0.9
FilterNoneFilter out all the events30 million900K1.5
Window-small (1 second)NoneSliding time window30 million100K48
Window - Large (1 minute)NoneSliding time window30 million100K130
PatternsNoneTemporal event sequence patterns1250 million500K550




Event Ingestion with Persistence


Oracle Event Store

Insert252 million70K42
Update75 million20K12


MS SQL Event Store

Insert198 million55K44.2
Update3.6 million1K4.6


MySQL Event Store

Insert12.2 million3.4K2.14
Update3 million5000.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

Image Modified        

                                             

            Latency Graph                                 

Summary Results
Number Of Persisted Events10 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
titleMySQL Upper Limit

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

Image Modified


Latency Graph

Image Modified

Summary Results
Number Of Persisted Events100K
Throughput (events per second)500
Latency (ms)0.5

...