Add Profile API to search speed tuning howto (#29489)
* Add Profile API to search speed tuning howto Seemed useful to mention the Profile API in the context of tuning for search speed.
This commit is contained in:
parent
3c12c372d0
commit
0ff2707c9f
|
@ -400,3 +400,29 @@ So what is the right number of replicas? If you have a cluster that has
|
||||||
be able to cope with `max_failures` node failures at once at most, then the
|
be able to cope with `max_failures` node failures at once at most, then the
|
||||||
right number of replicas for you is
|
right number of replicas for you is
|
||||||
`max(max_failures, ceil(num_nodes / num_primaries) - 1)`.
|
`max(max_failures, ceil(num_nodes / num_primaries) - 1)`.
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
|
||||||
|
[float]
|
||||||
|
=== Turn on adaptive replica selection
|
||||||
|
|
||||||
|
When multiple copies of data are present, elasticsearch can use a set of
|
||||||
|
criteria called <<search-adaptive-replica,adaptive replica selection>> to select
|
||||||
|
the best copy of the data based on response time, service time, and queue size
|
||||||
|
of the node containing each copy of the shard. This can improve query throughput
|
||||||
|
and reduce latency for search-heavy applications.
|
||||||
|
|
||||||
|
=== Tune your queries with the Profile API
|
||||||
|
:ref: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-profile.html
|
||||||
|
:ref-searchprofiler: https://www.elastic.co/guide/en/kibana/current/xpack-profiler.html
|
||||||
|
|
||||||
|
You can also analyse how expensive each component of your queries and aggregations are using the {ref}[Profile API].
|
||||||
|
This might allow you to tune your queries to be less expensive, resulting in a positive performance result and reduced load.
|
||||||
|
Also note that Profile API payloads can be easily visualised for better readability in the {ref-searchprofiler}[Search Profiler], which is a Kibana dev tools UI available in all X-Pack licenses, including the free X-Pack Basic license.
|
||||||
|
|
||||||
|
Some caveats to the Profile API are that:
|
||||||
|
|
||||||
|
- the Profile API as a debugging tool adds significant overhead to search execution and can also have a very verbose output
|
||||||
|
- given the added overhead, the resulting took times are not reliable indicators of actual took time, but can be used comparatively between clauses for relative timing differences
|
||||||
|
- the Profile API is best for exploring possible reasons behind the most costly clauses of a query but isn't intended for accurately measuring absolute timings of each clause
|
||||||
|
>>>>>>> 13f5c884260... Add Profile API to search speed tuning howto (#29489)
|
||||||
|
|
Loading…
Reference in New Issue