步骤一:规格容量评估

最近更新时间:2020-05-29 12:12:20

存储容量评估

影响金山云托管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型,适合存储要求较小,性能优越,数据量较小客户,成本较低;
  • 云盘型,适合对存储容量要求较高,且兼顾性能,对数据高可用要求较高,如审计日志、金融数据等场景,成本偏高。
  • 云物理机,适合对性能有极致的要求,且业务规模庞大的客户。

金山云,开启您的云计算之旅

免费注册