elasticsearch,C#,elasticsearch" /> elasticsearch,C#,elasticsearch" />

C# 弹性搜索超时

C# 弹性搜索超时,c#,elasticsearch,C#,elasticsearch,在哪种情况下我可以得到这样的错误 弹性搜索服务与调用它的客户端在同一台计算机上,因此没有网络问题。服务器具有可用内存、可用磁盘,并且始终至少有15-20%的cpu可用空间 我在elastic中插入了大量数据,但从来没有超时;今天,在我们的日志中有数百个类似的错误。 可能是因为有很多请求是并行的吗?插入代码是多线程的 InternalServerError - Invalid NEST response built from a unsuccessful low level call on POS

在哪种情况下我可以得到这样的错误

弹性搜索服务与调用它的客户端在同一台计算机上,因此没有网络问题。服务器具有可用内存、可用磁盘,并且始终至少有15-20%的cpu可用空间

我在elastic中插入了大量数据,但从来没有超时;今天,在我们的日志中有数百个类似的错误。 可能是因为有很多请求是并行的吗?插入代码是多线程的

InternalServerError - Invalid NEST response built from a unsuccessful low level call on POST: /albums/albummetadata/f3c20bb7-8f60-5d80-fe87-449bdf3d828a/_update # Audit trail of this API call: - [1] BadResponse: Node: http://localhost:9200/ Took: 00:01:00.3240283 - [2] MaxTimeoutReached: Took: -736395.18:15:40.4144464 # OriginalException: System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetResponse() at Elasticsearch.Net.HttpConnection.Request[TReturn](RequestData requestData) in C:\code\elasticsearch-net\src\Elasticsearch.Net\Connection\HttpConnection.cs:line 145 # Request: # Response: +The operation has timed out InternalServerError-通过POST时不成功的低级调用生成的嵌套响应无效:/albums/albummetadata/f3c20bb7-8f60-5d80-fe87-449bdf3d828a/\u更新 #此API调用的审核跟踪: -[1]错误响应:节点:http://localhost:9200/ 拍摄时间:00:01:00.3240283 -[2]MaxTimeOutreach:Take:-736395.18:15:40.4144464 #OriginalException:System.Net.WebException:操作已超时 在System.Net.HttpWebRequest.GetResponse()中 在C:\code\Elasticsearch-Net\src\Elasticsearch.Net\Connection\HttpConnection.cs中的Elasticsearch.Net.HttpConnection.Request[TReturn](RequestData RequestData)处:第145行 #请求: #答复: +操作已超时
你在做批量插入吗?你的文件大吗

在重载情况下,插入可能会超时,这听起来很合理。您可以尝试检测增加的错误率,并缩减/减慢插入。您还可以增加超时阈值,但这很可能只会到此为止—您仍然会遇到不断增长的积压请求,最终会再次失败


另一种选择是扩展ES群集,增加当前节点的规格或添加更多节点。

文档相当小(每个200-300字节),但数量很大(我们说的是数百万字节)。插入是批量完成的,但在编辑文档时,如果一次可以在大量文档上更改标志,则会出现失败,这就是我感到惊讶的原因。同样的更改在我们的mongodb上并行发生,没有任何问题“当编辑文档时,一个标志可以在大量文档上同时更改”,您使用的是Update还是Update By Query?更新将需要对文档重新编制索引,而查询更新可能会导致大量文档需要重新编制索引。您是否通过Marvel或类似工具监控负载和索引速率?我有一个调用:Driver.Update(Id,=>\udoc(Update)),其中Update只是我要更改的字段。简言之,我需要快速在线/离线制作大量文档,因此有一个标记。我根本不用监控工具如果你在运行Elasticsearch 1或2,请查看惊奇漫画。如果您正在运行5,请查看X-Pack>监控。它是100%免费的(其他的铃铛和哨子需要订阅,但这不是必需的)。当您遇到超时时,您将能够查看瓶颈在哪里。我不记得详细信息,但我认为解决方案是进行小批量生产,这不是一个真正的解决方案,但它是有效的