Hi We have made Disruptor as optional for Siddhi[1], currently its always enabled and it uses PhasedBackoffWaitStrategy, event though Disruptor was giving high throughput there are several issues identified.
1. It is adding latency, and tuning latency is subject to use-cases hence the deployment is becoming complicated. 2. PhasedBackoffWaitStrategy is not showing good results when there are lots of Disruptors. Hence we have removed disruptor by default and made is as an option to add via configurations. By using @plan:async(bufferSize='xxxx') you can enable Disruptor at all streams in an execution-plan with the queue size of xxxx. Here (bufferSize='xxxx') is optional. e.g *@plan:async(bufferSize='2')* define stream cseEventStream (symbol string, price float, volume int); @info(name = 'query1') from cseEventStream[70 > price] select * insert into innerStream ; @info(name = 'query2') from innerStream[volume > 90] select * insert into outputStream ; In this case cseEventStream, innerStream and outputStream will have async behaviors using Disruptor Alternatively we can also enable Disruptor for specific streams by annotating them as below. e.g *@async(bufferSize='2')* define stream cseEventStream (symbol string, price float, volume int); @info(name = 'query1') from cseEventStream[70 > price] select * insert into innerStream ; @info(name = 'query2') from innerStream[volume > 90] select * insert into outputStream ; Here only cseEventStream will have async behavior using Disruptor Performance stats after the improvements. Filter Query *without* *Disruptor* Throughput : 3.5M Events/sec Time spend : *2.29E-4 ms* Filter Query *with Disruptor * Throughput : *6.1M Events/sec * Time spend : 0.028464 ms Multiple Filter Query without Disruptor Throughput : 3.0M Events/sec Time spend : 2.91E-4 ms Multiple Filter Query with Disruptor Throughput : 5.5M Events/sec Time spend : 0.089888 ms [1]https://github.com/wso2/siddhi/tree/latency Regards Suho -- *S. Suhothayan* Technical Lead & Team Lead of WSO2 Complex Event Processor *WSO2 Inc. *http://wso2.com * <http://wso2.com/>* lean . enterprise . middleware *cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>*
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
