On 11-Oct-07, at 2:37 PM, Yonik Seeley wrote:
On 10/11/07, Mike Klaas <[EMAIL PROTECTED]> wrote:
I'm seeing some interesting behaviour when doing benchmarks of query
and facet performance. Note that the query cache is disabled, and
the index is entirely in the OS disk cache. filterCache is fully
primed.
Often when repeatedly measuring the same query, I'll see pretty
consistent results (within a few ms), but occasionally a run which is
almost exactly half the time:
I can't really think of a plausible explanation. Fortuitous
instruction pipelining? It is hard to imagine a cause that wouldn't
exhibit consistency.
So the queries are one at a time, the index isn't changing, and
nothing else happening in the system?
The index is completely static, and I'm just sending the same query
sequentially. I provoke a slowdown by sending a few requests in
parallel. There is the odd bit of db activity on the system, but it
is rare and covered by the other processor regardless.
It would be easier to explain an occasional long query than an
occasional short one.
It's weird how the granularity seems to be on the basis of a request
(if the speedup sometimes happened half way through, then you'd get an
average of the times).
Indeed, this is what surprised me the most.
You could try -Xbatch to see if it's hotspot somehow, but I doubt
that's it.
with -Xbatch everything runs more slowly, but the 2x effect is still
present.
Anyway, it is strange but not really a problem. This is on a dev box
only; I might run a similar test on a production box sometime.
Thanks,
-Mike