阿里云Elasticsearch支持商业版增强版两种类型的实例。商业版ES实例包含了阿里云ES的全部高级特性,增强版ES实例在全部高级特性的基础上,优化和增加了内核及插件,可以提供更好的性能、更高的稳定性和更低成本。本文为您介绍增强版ES实例的相关内容。

增强版Elasticsearch实例,是阿里云Elasticsearch(简称ES)团队基于社区6.7.0版本设计的,基于共享存储CPFS和读写分离架构的Elasticsearch数据模型。

架构

增强版实例架构
  • 索引分片一写多读,数据只保存一份。
  • 依赖云存储多副本,保证数据可靠性。
  • IO fence机制,保证数据一致性。
  • 内存物理复制,降低主备可见性延迟(毫秒可见)。

优势

  • 写入性能提升100%,避免了副本写入的开销。
  • 存储成本倍数级降低,数据只存一份。
  • 副本秒级快速扩缩容和故障迁移,轻松应对高峰流量。

适用场景

  • 日志分析场景。日志分析场景具有高吞吐写入、数据存储数据量大的特点,使用增强版ES能成倍提升写入性能,存储成本降低一倍。
  • 高并发查询场景。高并发场景对稳定性要求高,当高峰流量远高于低峰时,会有弹性扩缩副本的需求。使用增强版ES不仅能快速扩缩副本,而且能在故障时快速恢复和迁移。

规格选择

目前支持5T/10T的CPFS共享存储空间,实例规格仅支持8核及以上的规格,建议搭配3~10个实例。
说明 如果需要更大的集群,请在控制台中提交工单。
CPFS存储空间

性能测试

数据集为官方esrally提供的nyc_taxis

16核配置
  • 阿里云增强版ES 6.7.0:5*数据节点(16核64G)+ 3*主节点(2核8G) + 10TSSD CPFS。
  • 原生ES 6.7.0:5*数据节点(16核64G)+ 3*主节点(2核8G)+ 2000GB SSD。
场景 副本 原生ES 6.7.0(doc/s) 阿里云ES 6.7.0(doc/s) 阿里云ES主副同步延时(ms) 性能对比
translog异步 1 265358 600044 476 226%
2 185366 594015 600 320%
4 103815 585316 854 564%
translog同步 1 177570 414562 286 223%
2 114547 414278 308 362%
4 69204 392661 610 567%
8核配置
  • 阿里云增强版ES 6.7.0:5*数据节点(8核32G)+ 3*主节点(2核8G)+ 10TSSD CPFS。
  • 原生ES 6.7.0:5*数据节点(8核32G) + 3*主节点(2核8G) + 2000GB SSD。
场景 副本 原生ES 6.7.0(doc/s) 阿里云ES 6.7.0(doc/s) 阿里云ES主副同步延时(ms) 性能对比
translog异步 1 168554 324747 277 193%
2 118957 317801 534 267%
4 71125 326974 744 460%
translog同步 1 118500 242234 193 204%
2 81681 246673 339 302%
4 47886 239752 555 500%
说明
  • 以上测试过程中,在不同场景下分别调整了副本数,测试对原生ES 6.7.0和阿里云ES 6.7.0写入性能的影响。本测试过程中主shard的改变对写入性能没有影响,故在测试过程中没有体现主shard。
  • 以上测试通过index.translog.durability参数,设置translog同步和异步请求状态,详情请参见官方Translog
性能测试结论
  • 单副本情况下,阿里云增强版ES在16核配置下,相对原生提升了126%。8核配置下,相对原生提升93%。
  • 阿里云增强版ES相比原生,在8核和16核下的性能提升,随副本数成线性提升。
  • 阿里云增强版ES增加副本的的开销非常小,在纯写入场景下的主备延迟均小于1s。