wso2apache-stormsiddhiwso2-cep

Can a single instance of WSO2 CEP Siddhi use several cores?


I have an instance of WSO2 CEP running in a Linux machine with 8 cores. I have 30-40 Input streams with nearly 200 execution plans. My problem is that when I insert events, only one CPU gets busy at a time. Busy core changes but I can't make the eight cores work at the same time, affecting drastically to the performance and scalability.

Is there any configuration item I am missing or do I need to configure Siddhi in cluster mode with Storm?


Solution

  • CEP in Storm is there to support distributed processing. For your scenario, you don't really need to set it up with Storm. You can try using async annotation within your execution plans so that it'll buffer the events and use a different thread for subsequent execution. Refer to the following test: AsyncTestCase