Improve performance on first time query

I am seeing somewhat lackluster performance from the first execution of
queries, subsequent requests hit the cache and seem to be alright. I'd like
to improve performance on the first requests though, as this will be the
majority of usage.

We have a 5x Node cluster of EC2 Large instances with IOPS at 600.
Elasticsearch has 50% of the available memory on each node. All requests
are over Thrift. I'm still looking for ways to tweak this configuration.
We have about 10million documents spread roughly evenly across 4 different
indexes.

The query matches about between 100k and 300k of the documents in the
indexes 2-4million.
A number of facets are calculated.

The first time the query is executed, response time is ~5s.
Subsequent executions are sub 1s.
Without facets, first execution is under 100ms.

Here is an example query:


All numerical fields are mapped as integers, but beyond that I havent
optimized the mappings at all.

Any tips on how to optimize this would be much appreciated.

Thx!

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Hi,

Consider using
http://www.elasticsearch.org/guide/reference/api/admin-indices-warmers.html

Otis

ELASTICSEARCH Performance Monitoring - http://sematext.com/spm/index.html

On Monday, March 18, 2013 7:44:04 PM UTC-4, ES_Newb wrote:

I am seeing somewhat lackluster performance from the first execution of
queries, subsequent requests hit the cache and seem to be alright. I'd like
to improve performance on the first requests though, as this will be the
majority of usage.

We have a 5x Node cluster of EC2 Large instances with IOPS at 600.
Elasticsearch has 50% of the available memory on each node. All requests
are over Thrift. I'm still looking for ways to tweak this configuration.
We have about 10million documents spread roughly evenly across 4 different
indexes.

The query matches about between 100k and 300k of the documents in the
indexes 2-4million.
A number of facets are calculated.

The first time the query is executed, response time is ~5s.
Subsequent executions are sub 1s.
Without facets, first execution is under 100ms.

Here is an example query:
https://gist.github.com/phillro/803701269a1b2a384c32
All numerical fields are mapped as integers, but beyond that I havent
optimized the mappings at all.

Any tips on how to optimize this would be much appreciated.

Thx!

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.