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.

...

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

...

  • 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

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

...