Search code examples
performancewso2wso2-cep

WSO2 CEP : 4.2.0 receiver slower than 4.1.0


I have tested HTTP receiver with both WSO2 CEP 4.1.0 & 4.2.0. With same set of data, streams, execution plan(just event count wit 1 min window), publisher(logger) 4.1.0 is able to process 1M/minute but 4.2.0 could go up to 200K-300K/minute.

Have conducted the same test with my custom file receiver and found similar result as above.

By the way, I have tested it on my laptop, 3 MB file with 10 Millions records.

  • Is there anybody face same issue ?
  • Appreciate if anybody can explain the issues behind this ?

Thanks, Obaid


Solution

  • Just completed the test and have a feeling that logger publisher in 4.2.0 is the culprit here. Please find below outcomes and share your opinion (M=Million):

    1. HTTP Receiver only push to Event Stream:

      • Both 4.1 & 4.2 was able to push 2.25M events/minute.
    2. HTTP Receiver + below execution plan + logger:

      • 4.1: 1.25M events/minute.
      • 4.2: 250K events/minute.
    3. HTTP Receiver + below execution plan + "NO" logger:

      • 4.1: 2.25M events/minute.
      • 4.2: 2.25M events/minute.
    4. Custom File Receiver + below execution plan + "NO" logger:

      • 4.1: 1.5M events/minute.
      • 4.2: 3M events/minute (I am surprised).

    Execution Plan:

    @Import('subsApps:1.0.0')
    define stream subsApps (meta_app_name string, correlation_imsi long, volume double);
    
    @Export('subsCount:1.0.0')
    define stream subsCount (meta_counts long);
    
    from subsApps#window.time( 1 min ) 
    select count() as meta_counts 
    insert into subsCount;