Tobias Bocanegra wrote:
> well, from a first glance: the more threads you add, the faster the
> queries are until you reach the number of processors. if you expect
> linear improvement - that does not work, since the actual 'searching'
> is synchronized (marcel, correct me if i'm saying something wrong
> here).
it's not fully synchronized, queries do run in parallel, which can be seen in
Davids results. but at a lower level, probably in lucene, some part of the query
execution is synchronized.
An easy way to find out what parts of the query execution is synchronized, is to
get a thread dump while the queries are running. This will show you/us where the
threads are waiting during their execution. To simplify analysis I'd recommend
to run only a couple of queries concurrently, e.g. equal to the number of
processors you have.
regards
marcel
|