最近更新时间:2024-06-11 19:50:52
影响金山云托管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个)。
单个Shard大小不要超过50G,建议单个分片大小在10G-50G之间。
Shard的个数(包括副本)要尽可能等于节点数,或者是节点数的整数倍。
过多的分片数影响集群状态管理,建议单个ES实例每1G内存对应的分片数不要超过20个(假设ES实例内存是10G,那么这个ES实例上的分片数不要超过200个)。
ES 的计算资源主要消耗在写入和查询过程,而不同业务场景在写入和查询方面的复杂度不同、比重不同,导致计算资源相比存储资源较难评估。因此建议您优先评估存储资源量,然后初步选择计算资源,在测试过程中确认计算资源是否足够。
我们建议您首先至少选择3个节点,避免 ES 实例出现脑裂问题,保证 ES 实例具有较高的节点故障容错能力。
当完成实例类型的初步选择后,您可以使用真实数据进行测试,通过观察 CPU 使用率、写入指标(性能、拒绝率)、查询指标(QPS、拒绝率)等监控信息,进一步确认实例类型是否合适。另外,建议针对上述监控信息配置告警,方便在线上使用时,及时发现资源不足等问题。
本地SSD型:适合存储要求较小,性能优越,数据量较小客户,成本较低。
云盘型:适合对存储容量要求较高,且兼顾性能,对数据高可用要求较高,如审计日志、金融数据等场景,成本偏高。
云物理机:适合对性能有极高要求,且业务规模庞大的客户。
纯净模式