> On Mar 16, 2018, at 3:26 PM, Deepak Goel <deic...@gmail.com> wrote: > > Can you please post results of your test? > > Please tell us the tps at 25%, 50%, 75%, 100% of your CPU resource
I could, but it probably would not be useful for your documents or your queries. We have 22 million homework problems. Our queries are often hundreds of words long, because students copy and paste entire problems. After pre-processing, the average query is still 25 words. For load benchmarking, I use access logs from production. I typically gather over a half-million lines of log. Using production logs means that queries have the same statistical distribution as prod, so the cache hit rates are reasonable. Before each benchmark, I restart all the Solr instances to clear the caches. Then the first part of the query log is used to warm the caches, typically about 4000 queries. After that, the measured benchmark run starts. This uses JMeter with 100-500 threads. Each thread is configured with a constant throughput timer so a constant load is offered. Test run one or two hours. Recently, I ran a test with a rate of 1000 requests/minute for one hour. During the benchmark, I monitor the CPU usage. Our systems are configured with enough RAM so that disk is not accessed for search indexes. If the CPU goes over 75-80%, there is congestion and queries will slow down. Also, if the run queue (load average) increases over the number of CPUs, there will be congestion. After the benchmark run, the JMeter log is analyzed to report response time percentiles for each Solr request handler. wunder Walter Underwood wun...@wunderwood.org http://observer.wunderwood.org/ (my blog)