我正在将大量数据集从动态导出到弹性搜索。 以下是步骤:
我正在进行大量的日志记录所花费的时间和任何错误。
一切正常,我的出口在一小时内输出数据。
那就是说,我观察到HttpPost的响应时间不断增加。我已经找到了我可以拥有的任何内存泄漏或我应该处理的任何内存泄漏。我想确保以后不会困扰我。
那么,响应时间增加的可能原因是什么? 我该如何调查这个问题?
答案 0 :(得分:0)
我使用ES 1.7并使用类似的方案索引大约10万个文档。 根据我的经验,如果你将ES推向硬盘,它将会减速,有时会因OutOfMemory异常而失败。 我不知道它是否仍然是新版本的问题。
恕我直言,这是因为ES需要一些时间来处理批量 - 它接受数据,对其进行索引,但之后它会做一些后台工作来优化索引。
为了克服我使用参数进行实验的问题:单个体积大小(N),索引批量之间的休眠时间(S1),以及几个(M)批量之间的更长睡眠(S2)。 对于我的数据集和我的硬件,我以N = 5000结束,S1 = 1s,M = 10,S2 = 10s。 要选择安全值,我会观察CPU,内存和I / O的使用情况。例如,延长期间I / O使用的增加可能表明ES很快就会崩溃。
我确信它非常依赖于您拥有的硬件,特别是给ES尽可能多的内存!