本文介绍购买使用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大小和数量是影响ES集群稳定性和性能的重要因素之一。ES集群中任何一个索引都需要有一个合理的Shard规划(默认为5个)。
ES 的计算资源主要消耗在写入和查询过程,而不同业务场景在写入和查询方面的复杂度不同、比重不同,导致计算资源相比存储资源较难评估。因此建议您优先评估存储资源量,然后初步选择计算资源,在测试过程中确认计算资源是否足够。
我们建议您首先至少选择3个节点,避免 ES 实例出现脑裂问题,保证 ES 实例具有较高的节点故障容错能力。
当完成实例类型的初步选择后,您可以使用真实数据进行测试,通过观察 CPU 使用率、写入指标(性能、拒绝率)、查询指标(QPS、拒绝率)等监控信息,进一步确认实例类型是否合适。另外,建议针对上述监控信息配置告警,方便在线上使用时,及时发现资源不足等问题。
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!