On Thu, 2011-01-13 at 17:40 +0100, supersoft wrote:
> Although most of the queries are cache hits, the performance is still
> dependent of the number of simultaneous queries:
> 
> 1 simultaneous query: 3437 ms (cache fails)

Average response time: 3437 ms
Throughput: 0.29 queries/sec

> 2 simultaneous queries: 594, 954 ms
Average response time: 774 ms
Throughput: 1.29 queries/sec

> 10 simultaneous queries: 1047, 1313, 1438, 1797, 1922, 2094, 2250, 2500,
> 2938, 3000 ms
Average response time: 2030 ms
Throughput: 4.93 queries/sec

> 50 simultaneous queries: 1203, 1453, [...]
Average response time: 15478 ms
Throughput: 3.23 queries/sec

> 100 simultaneous queries: 1297, 1531, 1969, [...]
Average response time: 16285 ms
Throughput: 6.14 queries/sec

> Is this an expected situation?

Your numbers for 50 queries are strangely low, but the trend throughout
your tests indicate that your tests for 1, 2, 10, 50 and 100 threads do
not perform the same number of searches.

In order to compare the numbers, you need to let each test perform the
same number of searches and to start each test from exactly the same
warmup state. That means restarting Solr and flushing the disk cache,
which might require rebooting depending on your setup. It is also
recommended that you perform 5-10 searches before you start measuring
anything, as the first searches are not representative of general
performance.

Going with the numbers as they are, performance actually increases for
each thread you add: Look at throughput, not response time. This is
clearly bogus, but easily explained by the cache.

Reply via email to