Increasing Solr and ElasticSearch Throughput

Solr and ElasticSeach (ES), the two main representatives of open-source search engines, can process a significantly higher number of requests per second by reducing their communciations overhead. Torusware Speedus, a software which reduces significantly the socket overhead, has been able to increase Solr throughput around 4 times (4x) and ElasticSearch throughput around 3 times (3x), using Speedus. Increasing the number of requests per second processed has been achieved with no hardware/software change.

We have benchmarked Solr and ElasticSearch (ES) using the stress test of the Apache Benchmark with default options (e.g., default size payload 300 bytes), and running 90 tests of 10k requests each, to assure the measurements were stable. The concurrency degre is 16, thus maximizing the performance of the server (the server has 16 physical cores). The connection has been alive by keep-alive flag (-k). The tests have been run on a Linux Intel-based server with these characteristics: CPU Model 2 × Intel Xeon E5-2660 Sandy Bridge-EP (CPU Speed/Turbo 2.20 GHz/3 GHz). RAM 64 GB DDR3 1600 Mhz.

Next figure shows the measured results. Solr and ES have a very similar performance, and average number of requests of 65k for Solr and 80k for ES. With Speedus Plug&Run Ep in place, Solr is able to achieve up to 4x more performance (around 250k request per second). Furthermore, ES achieves, with Speedus in place, 3x more performance on average, 240k requests per second.


We have shown how to overcome the main performance bottleneck in Solr and ElasticSearch, which is socket communications, thanks to Speedus. This way, now you have alternatives to scale up & scale out your infrastructure, reducing your bill up to 75%. Thanks to Speedus. And these are just a couple of examples!

Enjoy saving money while at the same time making your systems faster and more reliable!

About Speedus 

Speedus is a high-performance socket library which is able to exchange data significantly faster (up to 20 times faster!) than using standard sockets, while being binary compatible with standard sockets.

The usage of Speedus is very intuitive, you need to copy the library in your servers (following the documentation). Then, accelerating any application is pretty straightforward, here you have what we did for Solr and ElasticSearch benchmarking, using the Apache Benchmark (ab) test:

Baseline performance results obtained with:
$ ab -n {requests} -c {concurrency} -k

Speedus Plug&Run performance results:
$ speedus ab -n {requests} -c {concurrency} -k

About Torusware

Torusware aims to be the world leader in optimization & acceleration software for BUS (localhost, intra-server) communications for on premises and cloud applications in a completely non-intrusive way (no changes in software / hardware are required).