Elastic Search 硬件建议

Elastic Search 硬件建议

有没有好的硬件级别指南来支持 ElasticSearch?Lucene 或 Solr 的建议是好的起点吗?我们正在考虑从以下方面开始部署

  • 2700 万份文档,8TB 数据
  • 每天添加 30 万份文档

然后将其放大 10 倍,至

  • 2.7 亿份文档,80TB 数据
  • 每天添加 300 万份文档

这是一个奇怪的用例,其中查询次数将达到数千次/天,但响应时间需要保持足够低才能获得良好的 Ajaxy webapp 体验。

答案1

有很多因素都会发挥作用,所以我认为没有太多通用的指导原则。

您应该进行较小规模的评估,也许使用初始数据集的 1/5,以查看在设置时将预期的索引和搜索负载放在一起时情况如何。这将确保您了解您的数据在搜索引擎中实际占用多少空间。对于 elasticsearch,取决于您是否存储源 json 以及如何分析字段以及是否存储它们。

EC2 可以成为评估 elasticsearch 的合理方法,且不需要大量的硬件支出。

对于基于集群的软件(如 elasticsearch),在保持集群较小与较大之间需要权衡。大型集群很好,因为当您丢失服务器时,需要重新分配的数据较少。较小的集群消耗较少的能量,并且更易于维护。

我们运行一个包含 3500 万个文档的集群,总索引大小约为 300GB x 2,因为所有索引都是复制的。为了支持这个以及大量的搜索,我们有 4 个节点,每个节点有 24 个核心、48GB RAM 和 1TB 存储空间,并在 raid10 中配备 10K 个磁盘。我们最近增加了磁盘大小以确保我们有更多的空间。

对于您的情况,我建议增加 RAM 和磁盘空间。通过这样的搜索量,您可能可以节省 CPU 费用。

低搜索量实际上会损害性能,因为缓存(使用的软件和操作系统磁盘内部的缓存)不会得到很好的预热。

希望这有帮助,保罗

相关内容