mirror of https://github.com/apache/lucene.git
Add documentation for searchRate trigger.
This commit is contained in:
parent
466c1ef4da
commit
d2e8e10233
|
@ -35,6 +35,7 @@ Currently the following event types (and corresponding trigger implementations)
|
||||||
* `nodeAdded` - generated when a new node joins the cluster
|
* `nodeAdded` - generated when a new node joins the cluster
|
||||||
* `nodeLost` - generated when a node leaves the cluster
|
* `nodeLost` - generated when a node leaves the cluster
|
||||||
* `metric` - generated when the configured metric crosses a configured lower or upper threshold value
|
* `metric` - generated when the configured metric crosses a configured lower or upper threshold value
|
||||||
|
* `searchRate` - generated when the 1 min average search rate exceeds configured upper threshold
|
||||||
|
|
||||||
Events are not necessarily generated immediately after the corresponding state change occurred - the
|
Events are not necessarily generated immediately after the corresponding state change occurred - the
|
||||||
maximum rate of events is controlled by the `waitFor` configuration parameter (see below).
|
maximum rate of events is controlled by the `waitFor` configuration parameter (see below).
|
||||||
|
@ -87,6 +88,56 @@ This trigger supports the following configuration:
|
||||||
}
|
}
|
||||||
----
|
----
|
||||||
|
|
||||||
|
== Search Rate trigger
|
||||||
|
|
||||||
|
The search rate trigger can be used for monitoring 1-min average search rates in a selected
|
||||||
|
collection, and request that either replicas be moved to different nodes or new replicas be added
|
||||||
|
to reduce the per-replica search rate for a collection / shard with search rate hot spots.
|
||||||
|
(Note: future versions of Solr will also be able to automatically remove some replicas
|
||||||
|
when search rate falls below the configured lower threshold).
|
||||||
|
|
||||||
|
This trigger support the following configuration:
|
||||||
|
|
||||||
|
* `collection` - (string, optional) collection name to monitor, or any collection if empty
|
||||||
|
* `shard` - (string, optional) shard name within the collection (requires `collection` to be set), or any shard if empty
|
||||||
|
* `node` - (string, optional) node name to monitor, or any if empty
|
||||||
|
* `handler` - (string, optional) handler name whose request rate represents the search rate
|
||||||
|
(default is `/select`). This name is used for creating the full metric key, in
|
||||||
|
this case `solr.core.<coreName>:QUERY./select.requestTimes:1minRate`
|
||||||
|
* `rate` - (double, required) the upper bound for the request rate metric value.
|
||||||
|
|
||||||
|
If a rate is exceeded for a node (but not for individual replicas placed on this node) then
|
||||||
|
the action requested by this event is to move one replica (with the highest rate) to another
|
||||||
|
node. If a rate is exceeded for a collection / shard then the action requested is to add some
|
||||||
|
replicas - currently at least 1 and at most 3, depending on how much the rate is exceeded, proportional to
|
||||||
|
the threshold rate and the current request rate.
|
||||||
|
|
||||||
|
.Example: a trigger configuration that monitors collection "test" and adds new replicas if 1-min average request rate of "/select" handler exceeds 100 reqs/sec:
|
||||||
|
[source,json]
|
||||||
|
----
|
||||||
|
{
|
||||||
|
"set-trigger": {
|
||||||
|
"name" : "search_rate_trigger",
|
||||||
|
"event" : "searchRate",
|
||||||
|
"collection" : "test",
|
||||||
|
"handler" : "/select",
|
||||||
|
"rate" : 100.0,
|
||||||
|
"waitFor" : "1m",
|
||||||
|
"enabled" : true,
|
||||||
|
"actions" : [
|
||||||
|
{
|
||||||
|
"name" : "compute_plan",
|
||||||
|
"class": "solr.ComputePlanAction"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "execute_plan",
|
||||||
|
"class": "solr.ExecutePlanAction"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
----
|
||||||
|
|
||||||
== Trigger Configuration
|
== Trigger Configuration
|
||||||
Trigger configurations are managed using the Autoscaling Write API and the commands `set-trigger`, `remove-trigger`,
|
Trigger configurations are managed using the Autoscaling Write API and the commands `set-trigger`, `remove-trigger`,
|
||||||
`suspend-trigger`, and `resume-trigger`.
|
`suspend-trigger`, and `resume-trigger`.
|
||||||
|
|
Loading…
Reference in New Issue