Hi Solr community,

I'm currently doing some benchmarking of a real Solr 3.3 instance vs the same ported to Solr 4.0.

Benchmarking is done using JMeter from localhost.
Test scenario is a constant stream of queries from a log file out of production, at targeted 50 QPS. After some time (marked in graph) I do a push via REST interface of the whole index data (796M XML), wait some time and do a optimize via REST.

Testmachine is a VM on a "Intel(R) Core(TM)2 Quad CPU Q9400 @2.66GH", one core and 2Gb RAM attached. Both Solr instances are running in the same Tomcat and are not used otherwise than testing.

Expected results where a lower overall load for Solr 4 and a lower latency while pushing new data.

In the graph you can see high CPU load, all the time. This is even the case if I reduce the QPS down to 5, so CPU is no good metric for comparison between Solr 3.3 and 4.0 (at least on this machine). The missing memory data is due to the PerfMon JMeter Plugin having time-outs sometimes.

You can also see no real increase in latency when pushing data into the index. This is puzzling me, as rumours say one should not push new data while under high load, as this would hurt query performance.

Anyone did similar tests before and may comment on that?

Greetings
Daniel Exner
--
Daniel Exner
Softwaredevelopment & Applicatiosupport
ESEMOS GmbH

Reply via email to