Liq*_*tal 4 http flask elasticsearch
我试图弄清楚为什么在从 python Web 应用程序索引文档时会收到此错误。
本例中的文档是大小为 10877 KB 的文件的 base64 编码字符串。
我将它发布到我的网络应用程序,然后通过 elasticsearch.py 将它发布到我的弹性实例。
我的弹性实例抛出一个错误:
TransportError(429, 'circuit_breaking_exception', '[parent] Data
too large, data for [<http_request>] would be
[1031753160/983.9mb], which is larger than the limit of
[986932838/941.2mb], real usage: [1002052432/955.6mb], new bytes
reserved: [29700728/28.3mb], usages [request=0/0b,
fielddata=0/0b, in_flight_requests=29700728/28.3mb,
accounting=202042/197.3kb]')
Run Code Online (Sandbox Code Playgroud)
我试图理解为什么我的 10877 KB 文件最终大小为 983mb,如弹性报告的那样。
我知道增加 JVM 最大堆大小可能允许我发送更大的文件,但我更想知道为什么请求大小看起来是我期望的大小的 10 倍。
让我们一步一步地看看这里有什么:
[parent] Data too large, data for [<http_request>]
Run Code Online (Sandbox Code Playgroud)
给出断路器的名称
would be [1031753160/983.9mb],
Run Code Online (Sandbox Code Playgroud)
说,当请求被执行时,堆大小的样子
which is larger than the limit of [986932838/941.2mb],
Run Code Online (Sandbox Code Playgroud)
告诉我们上面断路器的当前设置
real usage: [1002052432/955.6mb],
Run Code Online (Sandbox Code Playgroud)
这是堆的真正用途
new bytes reserved: [29700728/28.3mb],
Run Code Online (Sandbox Code Playgroud)
实际上是估计,请求将产生什么影响(需要创建以处理请求的数据结构的大小)。您的 ~10MB 文件可能会消耗 28.3MB。
usages [
request=0/0b,
fielddata=0/0b,
in_flight_requests=29700728/28.3mb,
accounting=202042/197.3kb
]
Run Code Online (Sandbox Code Playgroud)
最后一行告诉我们估计是如何计算的。
| 归档时间: |
|
| 查看次数: |
2076 次 |
| 最近记录: |