-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Performance Testing
Performance test of JStorm 0.9.0
JStorm 0.9.0 Performance is very good, the maximum sending speed of a single worker is 110,000 QPS when using netty, when using zeromq, the maximum speed is 120,000 QPS.
Conclusion
- JStorm 0.9.0 10% faster than Storm 0.9.0 when using netty and JStorm netty plugin is stable, while the netty plugin of Storm is unstable.
- In the case of using Zeromq, JStorm 0.9.0 30% faster than Storm 0.9.0.
Reason
- Zeromq reduce a memory copy.
- Increase deserialization thread.
- Rewrite sampling code, significantly reducing the sampling impact.
- Ack code optimization.
- Optimize the performance of the buffer map.
- Java is more bottom than clojure.
Testing
Testing Example
Testing example is https://github.com/longdafeng/storm-examples%20https:/github.com/longdafeng/storm-examples
Testing Environment
Five 16 cores, 98G physical machines
uname -a :
Linux dwcache1 2.6.32-220.23.1.tb735.el5.x86_64 #1 SMP Tue Aug 14 16:03:04 CST 2012 x86_64 x86_64 x86_64 GNU/Linux
Testing Results
JStorm with netty, Spout sending QPS is 110,000
Storm with netty, Spout sending QPS is 100,000 (screenshot is the QPS of upper application, not including the QPS of ack, Spout sending QPS exactly two times of the upper application QPS).
JStorm with zeromq, Spout sending QPS is 120,000
Storm with zeromq, Spout sending QPS is 90,000 (screenshot is the QPS of the upper application, not including the QPS of ack, Spout sending QPS exactly two times of the upper application QPS).