Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading .NetCore/NEST-ElasticSearch I/O问题或并发限制_Multithreading_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_.net Core_Nest - Fatal编程技术网 elasticsearch,.net-core,nest,Multithreading,elasticsearch,.net Core,Nest" /> elasticsearch,.net-core,nest,Multithreading,elasticsearch,.net Core,Nest" />

Multithreading .NetCore/NEST-ElasticSearch I/O问题或并发限制

Multithreading .NetCore/NEST-ElasticSearch I/O问题或并发限制,multithreading,elasticsearch,.net-core,nest,Multithreading,elasticsearch,.net Core,Nest,我有一些问题已经有好几个星期了,我试了很多次都解决不了。 我有一个.NET核心应用程序,基本上就是整天索引和搜索文档。 这个应用程序允许在我的所有用例中并发调用Elastic,所以当我有一个大负载(比如几秒钟内1k个文档)时,我会毫无限制地调用Elastic(我没有找到任何限制,也许我应该限制线程…)。 我在生产中有2个ElasticSearch节点,它们为我的负载(根据Elastic的先决条件)提供了非常好的配置,16Go RAM,4vCPU 有时,似乎许多调用都会因此类错误而失败(我使用的是

我有一些问题已经有好几个星期了,我试了很多次都解决不了。 我有一个.NET核心应用程序,基本上就是整天索引和搜索文档。 这个应用程序允许在我的所有用例中并发调用Elastic,所以当我有一个大负载(比如几秒钟内1k个文档)时,我会毫无限制地调用Elastic(我没有找到任何限制,也许我应该限制线程…)。 我在生产中有2个ElasticSearch节点,它们为我的负载(根据Elastic的先决条件)提供了非常好的配置,16Go RAM,4vCPU

有时,似乎许多调用都会因此类错误而失败(我使用的是ApplicationInsights):

我假设NEST正在做一个到弹性服务器的底层HTTP连接,只是超时/失败。 当我同时查看依赖项时,我可以看到运行时间超过100000毫秒的调用(但对于“正常”调用为4ms)

下面是一个索引示例:

我们的团队检查了所有通过网络的http路由,没有发现任何网络问题

当我们在两个节点上重新启动弹性服务并重新开始工作时,我们完全理解这是一个弹性问题。 两个节点的CPU和RAM使用率都很低。 我们“尝试”查看弹性原木,但实际上我们对此并不满意,但根据我们的“知识”,我们没有发现任何“异常”

我们正在一个接一个地为文档编制索引,从不臃肿。我们无法改变这一点,因为文档是通过ServiceBus队列从外部系统接收的,我们无法控制负载。因此,一条ServiceBus消息是对弹性服务器的单独PUT调用

我不能很容易地将其复制为honnest,但我希望使用NEST/ElasticSearch的人们能够提供一些反馈,以及他们如何管理自己的线程池

我是否应该限制弹性调用(例如使用信号量)

我应该更改弹性服务器配置吗

如果您需要更多信息,请告诉我


感谢您的帮助

您是否对群集进行了监视?如果是这样,抛出SocketException时服务器上的负载(CPU、Elasticsearch线程池)是什么样的?客户端还可以在发出请求时显示Tcp和Threadpool统计信息,这也可能有助于观察:您好,谢谢您的回答。当我们遇到这个异常时,服务器似乎没有受到压力,这是我的问题。通常情况下,服务器是根本原因,但我们几周前刚刚增加了CPU和RAM,在这个集群上从未见过一台服务器受到压力。谢谢你的链接,顺便说一句,如果它像是禁止流媒体,我不能在生产激活这个,对吗?对于性能问题和其他问题。。但我不知道这个选项,我会调查的。不幸的是,我无法“轻松”复制此问题