共享弹性存储功能介绍

开启了共享弹性存储功能的阿里云Elasticsearch(ES)6.7版本内核增强版实例(新购实例不再支持开启,存量用户可以继续使用),提供了存储计算分离架构,能够提升写入性能,降低存储成本。

架构

开启共享弹性存储功能的6.7版本内核增强版实例,以共享弹性存储CPFS(Cloud Paralleled File System)和读写分离架构为基础的Elasticsearch数据模型。增强版实例架构

该架构具备如下优势:

  • 索引分片一写多读,数据只保存一份。

  • 依赖云存储多副本,保证数据可靠性。

  • IO fence机制,保证数据一致性。

  • 内存物理复制,降低主备可见性延迟(毫秒可见)。

优势

  • 写入性能提升100%,避免了副本写入的开销。

  • 存储成本倍数级降低,数据只保存一份。

  • 副本秒级快速扩缩容和故障迁移,轻松应对高峰流量。

适用场景

  • 日志分析场景

    具有写入吞吐量高、数据存储量大的特点,开启共享弹性存储功能的ES实例能成倍提升ES写入性能,可以降低一倍的存储成本。

  • 高并发查询场景

    对稳定性要求高,当高峰流量远高于低峰时,会有弹性扩缩副本的需求。开启共享弹性存储功能的ES实例不仅能快速扩缩副本,还能在故障时快速恢复和迁移索引数据。

性能测试

数据集为官方esrally提供的nyc_taxis

16核配置:

  • 开启共享弹性存储功能的6.7版本内核增强版实例:5*数据节点(16核64G)+ 3*主节点(2核8G)+ 10TSSD CPFS。

  • 原生Elasticsearch 6.7.0版本:5*数据节点(16核64G)+ 3*主节点(2核8G)+ 2000GB SSD。

场景

副本

原生Elasticsearch 6.7.0(doc/s)

阿里云Elasticsearch 6.7.0(doc/s)

阿里云Elasticsearch主副同步延时(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核配置:

  • 开启共享弹性存储功能的6.7版本内核增强版实例:5*数据节点(8核32G)+ 3*主节点(2核8G)+ 10TSSD CPFS。

  • 原生Elasticsearch 6.7.0版本:5*数据节点(8核32G)+ 3*主节点(2核8G)+ 2000GB SSD。

场景

副本

原生Elasticsearch 6.7.0(doc/s)

阿里云Elasticsearch 6.7.0(doc/s)

阿里云Elasticsearch主副同步延时(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%

说明
  • 以上测试在不同场景下分别调整了副本数,测试不同副本数对原生Elasticsearch 6.7.0和开启共享弹性存储功能的阿里云ES 6.7版本内核增强版实例写入性能的影响。本测试过程中主分片的改变对写入性能没有影响,故在测试过程中没有体现主分片。

  • 以上测试通过index.translog.durability参数,设置translog同步和异步请求状态,详情请参见官方Translog文档。

性能测试结论:

  • 单副本情况下,开启共享弹性存储功能的实例在16核配置下,性能相对原生提升了126%。8核配置下,相对原生提升了93%。

  • 开启共享弹性存储功能的实例相比原生Elasticasearch,在8核和16核下的性能提升,随副本数呈线性增长。

  • 开启共享弹性存储功能的实例增加副本的开销非常小,在纯写入场景下的主备延迟均小于1s。

说明

开启共享弹性存储功能的6.7版本内核增强版实例支持2 TB~100 TB的热数据存储总容量。 如果需要更大热数据存储空间的集群,请在控制台中。