Sofiya Strochyk <s...@interlogic.com.ua> wrote: > Target query rate is up to 500 qps, maybe 300, and we need > to keep response time at <200ms. But at the moment we only > see very good search performance with up to 100 requests > per second. Whenever it grows to about 200, average response > time abruptly increases to 0.5-1 second.
Keep in mind that upping the number of concurrent searches in Solr does not raise throughput, if the system is already saturated. On the contrary, this will lower throughput due to thread- and memory-congestion. As your machines has 12 cores (including HyperThreading) and IO does not seem to be an issue, 500 or even just 200 concurrent searches seems likely to result in lower throughput than (really guessing here) 100 concurrent searches. As Walther point out, the end result is collapse, but slowdown happens before that. Consider putting a proxy in front with a max amount of concurrent connections and a sensible queue. Preferably after a bit of testing to locale where the highest throughput is. It won't make you hit your overall goal, but it can move you closer to it. - Toke Eskildsen