选择集群规格

最近更新时间:2021-07-22 20:01:49

查看PDF

本文介绍购买使用Elasticsearch服务前的准备工作,主要包括存储容量评估、Shard大小和数量评估、集群规格评估和机型选择建议等。

存储容量评估

影响金山云托管ES 服务磁盘存储的主要因素如下:

因素 说明
副本数量 默认和建议的副本数量为1,对于可以承受异常情况导致数据丢失的场景,可考虑设置副本数量为0。
索引开销 除原始数据外,ES 需要存储索引、列存数据等,通常比源数据大10%(_all等未计算)。
ES内部任务开销 segment 合并、ES Translog、日志等,占用约20%的磁盘空间。
操作系统预留 Linux 操作系统默认为 root 用户预留5%的磁盘空间,用于关键流程处理、系统恢复、防止磁盘碎片化等问题。
安全阈值 预留20%的安全阈值。

根据以上因素得到最小磁盘总大小 = 源数据大小 * 3.6。计算方式如下:

磁盘总大小 = 源数据 * (1 + 副本数量) * (1 + 索引开销) / (1 - Linux预留空间) / (1 - ES内部任务开销) / (1 - 安全阈值) = 源数据 * (1 + 副本数量) * 1.8 = 源数据 * 3.6

Shard大小和数量评估

Shard大小和数量是影响ES集群稳定性和性能的重要因素之一。ES集群中任何一个索引都需要有一个合理的Shard规划(默认为5个)。

  • 单个Shard大小不要超过50G,建议单个分片大小在10G-50G之间。
  • Shard的个数(包括副本)要尽可能等于节点数,或者是节点数的整数倍。
  • 过多的分片数影响集群状态管理,建议单个ES实例每1G内存对应的分片数不要超过20个(假设ES实例内存是10G,那么这个ES实例上的分片数不要超过200个)。

集群规格评估

ES 的计算资源主要消耗在写入和查询过程,而不同业务场景在写入和查询方面的复杂度不同、比重不同,导致计算资源相比存储资源较难评估。因此建议您优先评估存储资源量,然后初步选择计算资源,在测试过程中确认计算资源是否足够。

我们建议您首先至少选择3个节点,避免 ES 实例出现脑裂问题,保证 ES 实例具有较高的节点故障容错能力。

当完成实例类型的初步选择后,您可以使用真实数据进行测试,通过观察 CPU 使用率、写入指标(性能、拒绝率)、查询指标(QPS、拒绝率)等监控信息,进一步确认实例类型是否合适。另外,建议针对上述监控信息配置告警,方便在线上使用时,及时发现资源不足等问题。

机型选择建议

  • 本地SSD型:适合存储要求较小,性能优越,数据量较小客户,成本较低。
  • 云盘型:适合对存储容量要求较高,且兼顾性能,对数据高可用要求较高,如审计日志、金融数据等场景,成本偏高。
  • 云物理机:适合对性能有极致的要求,且业务规模庞大的客户。

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈