Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

modules/indices/circuit_breaker.asciidoc #149

Open
wants to merge 1 commit into
base: cn
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 27 additions & 51 deletions docs/reference/modules/indices/circuit_breaker.asciidoc
Original file line number Diff line number Diff line change
@@ -1,108 +1,84 @@
[[circuit-breaker]]
=== Circuit Breaker
=== 断路器

Elasticsearch contains multiple circuit breakers used to prevent operations from
causing an OutOfMemoryError. Each breaker specifies a limit for how much memory
it can use. Additionally, there is a parent-level breaker that specifies the
total amount of memory that can be used across all breakers.
ElasticSearch 包含多个断路器,用于防止操作导致的内存不足错误。每个断路器都指定它可以使用的内存大小限制。此外,还有一个父级断路器指定所有断路器使用的内存总量。

These settings can be dynamically updated on a live cluster with the
<<cluster-update-settings,cluster-update-settings>> API.
这些设置可以在活跃群集上使用 <<cluster-update-settings,集群更新设定>> API 来动态更新。

[[parent-circuit-breaker]]
[float]
==== Parent circuit breaker
==== 父断路器

The parent-level breaker can be configured with the following setting:
父级断路器可用以下设定来配置:

`indices.breaker.total.limit`::

Starting limit for overall parent breaker, defaults to 70% of JVM heap.
开启全部父断路器的限制,默认为 JVM 堆的 70%

[[fielddata-circuit-breaker]]
[float]
==== Field data circuit breaker
The field data circuit breaker allows Elasticsearch to estimate the amount of
memory a field will require to be loaded into memory. It can then prevent the
field data loading by raising an exception. By default the limit is configured
to 60% of the maximum JVM heap. It can be configured with the following
parameters:
==== 字段数据断路器

字段数据断路器允许 ElasticSearch 估计字段需要加载到内存中的所需内存。它可以通过提出一个异常来防止加载字段数据。默认情况下,该限制配置为最大 JVM 堆的 60%。它可用如下参数配置:

`indices.breaker.fielddata.limit`::

Limit for fielddata breaker, defaults to 60% of JVM heap
字段数据断路器的限制,默认为 JVM 对的 60%

`indices.breaker.fielddata.overhead`::

A constant that all field data estimations are multiplied with to determine a
final estimation. Defaults to 1.03
字段数据预估的乘数因子,用来决定最终评估的内存大小的常数。默认为 1.03。

[[request-circuit-breaker]]
[float]
==== Request circuit breaker
==== 请求断路器

The request circuit breaker allows Elasticsearch to prevent per-request data
structures (for example, memory used for calculating aggregations during a
request) from exceeding a certain amount of memory.
请求断路器允许 ElasticSearch 阻止每个请求数据结构超过一定的内存量(例如,一个请求中用来计算聚合的内存)。

`indices.breaker.request.limit`::

Limit for request breaker, defaults to 60% of JVM heap
请求断路器的限制,默认为 JVM 堆的60%

`indices.breaker.request.overhead`::

A constant that all request estimations are multiplied with to determine a
final estimation. Defaults to 1
一个常量,所有请求估算值都与该常量相乘以确定最终估算值。默认为1

[[in-flight-circuit-breaker]]
[float]
==== In flight requests circuit breaker
==== 飞行中(In flight)请求断路器

The in flight requests circuit breaker allows Elasticsearch to limit the memory usage of all
currently active incoming requests on transport or HTTP level from exceeding a certain amount of
memory on a node. The memory usage is based on the content length of the request itself.
飞行中请求断路器允许 ElasticSearch 限制所有当前在传输或 HTTP 层上的活动的传入请求,防止超过一个节点上的一定数量的内存。内存使用量基于请求本身的内容长度。

`network.breaker.inflight_requests.limit`::

Limit for in flight requests breaker, defaults to 100% of JVM heap. This means that it is bound
by the limit configured for the parent circuit breaker.
飞行请求中断器的限制,默认为 JVM 堆的100%。这意味着它受制于父断路器配置的限制。

`network.breaker.inflight_requests.overhead`::

A constant that all in flight requests estimations are multiplied with to determine a
final estimation. Defaults to 1
一个常数,所有飞行中的请求估算值与之相乘,以确定最终估算值。默认值为1

[[accounting-circuit-breaker]]
[float]
==== Accounting requests circuit breaker
==== 计数请求断路器Accounting requests circuit breaker

The accounting circuit breaker allows Elasticsearch to limit the memory
usage of things held in memory that are not released when a request is
completed. This includes things like the Lucene segment memory.
计数断路器允许 ElasticSearch 限制当请求完成时仍被内存持有的不会被释放的内存使用。这包括 Lucene 段内存等。

`indices.breaker.accounting.limit`::

Limit for accounting breaker, defaults to 100% of JVM heap. This means that it is bound
by the limit configured for the parent circuit breaker.
计数断路器的限制,默认为 JVM 堆的100%。这意味着它受制于父断路器配置的限制。

`indices.breaker.accounting.overhead`::

A constant that all accounting estimations are multiplied with to determine a
final estimation. Defaults to 1
一个常数,所有计数估算值与之相乘,以确定最终估算值。默认值为1

[[script-compilation-circuit-breaker]]
[float]
==== Script compilation circuit breaker
==== 脚本编译断路器

Slightly different than the previous memory-based circuit breaker, the script
compilation circuit breaker limits the number of inline script compilations
within a period of time.
与之前基于内存的断路器略有不同,脚本编译断路器限制在一段时间内行内脚本编译的数量。

See the "prefer-parameters" section of the <<modules-scripting-using,scripting>>
documentation for more information.
请参阅<<modules-scripting-using,脚本>>文档中的“首选参数”部分以获取更多信息。

`script.max_compilations_rate`::

Limit for the number of unique dynamic scripts within a certain interval
that are allowed to be compiled. Defaults to 75/5m, meaning 75 every 5
minutes.
特定间隔内唯一动态脚本被允许编译的数量限制。默认为75/5m,即每5分钟75个。