Elasticsearch跨集群复制CCR性能测试

目录

一、 测试环境

二、 测试方案

三、 测试流程

1. 建立两套ES集群不再赘述(略)

2. 压测两个集群的查询写入上限

3. 主集群写入时,备集群同时复制数据速率测试

4.主集群存量数据进行复制速率测试

5.主集群有查询有写入时的同步复制速率测试

6.主集群有查询有写入时的存量数据复制速率测试

四、 测试总结

1、 集群上限压测结果

2. 存量数据复制速率

3. 主集群有查询有写入时的同步复制速率

4. 主集群有查询有写入时的存量数据复制速率

  • 测试环境

操作系统:Centos7.4

CPU: 72核

ES集群版本:7.10.2

JVM:8GB

Kibana版本:7.10.2

压测工具(数据写入、查询):loadgen

集群信息

集群名称

版本

节点个数

节点信息 IP:http端口号

href="#/overview?_g=(cluster_uuid:ZS1A4BPgQbqfeQVKvxIWIQ,refreshInterval:(pause:!f,value:10000),time:(from:now-45m,to:now))" title="ccr_escluster_2" ccr_escluster_1

7.10.2

3

10.125.11.86:1920

10.125.11.87:1920

10.125.11.88:1920

集群名称

版本

节点个数

节点信息 IP:http端口号

ccr_escluster_2

7.10.2

3

10.125.11.89:1920

10.125.11.90:1920

10.125.11.91:1920

  1. 测试方案
  2. 建立ES集群ccr_escluster_1、ccr_escluster_2
  3. 压测出两个集群的写入、查询瓶颈
  4. 主集群写入时,备集群同时复制数据速率测试(向Leader索引写入数据,查看Kibana监控对写入速率与复制速率进行比较)
  5. 主集群存量数据进行复制速率测试(删除Follower索引,并重建CCR功能,查看Kibana监控,对比复制速率)
  6. 主集群有查询有写入时的同步复制速率测试
  7. 主集群有查询有写入时的存量数据复制速率测试
  • 测试流程
  1. 建立两套ES集群不再赘述(略)
  2. 压测两个集群的查询写入上限
  • 压测ccr_escluster_1集群上限
  1. 查询上限  

Loadgen工具1200并发下能得到ES集群查询上限3500dcos/s(集群会有少量拒绝)

(2).写入上限

 loadgen工具500并发能达到写入上限78519.9dcos/s,(集群会有少量拒绝)

(3)读写共同上限

Loadgen压测300并发,写入速率31636.5dcos/s,

Loadgen压测800并发,查询速率2937dcos/s

(都会产生少量拒绝)

  • 压测ccr_escluster_2集群上限
  1. .查询上限

Loadgen工具1200并发,查询速率 2643 dcos/s

(2).写入上限  
Loadgen工具500并发,写入速率 89740.1 dcos/s

(3).读写共同上限

Loadgen工具300并发,写入51162.6 dcos/s  

Loadgen工具800并发,查询2031.6 dcos/s

  1. 3.主集群写入时,备集群同时复制数据速率测试

注意:不要用开启tls的集群做测试,因为证书不一致,集群之间不能通信

      白金版liscense可以有30天试用期

①.在ccr_escluster_1集群创建远程集群ccr_escluster_2
(添加远程集群,前提是两个集群互信、具有白金版liscense)

由于远程集群功能是通过TCP接口互相通信的,所以IP:port需要填写TCP端口,我这里是1930(如下图)

创建完成远程集群ccr_escluster_2

在ccr_escluster_2中添加远程集群ccr_escluster_1是一样的注意一下IP端口号即可不在赘述

②.在集群ccr_escluster_1创建Leader索引ccr1_2023-10-17_leader

③.在集群ccr_escluster_2创建Follower索引ccr2_2023-10-17_follower

追随ccr1_2023-10-17_leader

创建CCR复制索引(如下图)

创建完成(打开复制)

可以查看复制速率等信息

④.开始压测

在压测两套集群各自的上限时测出

ccr_escluster_2集群的写入速率高于ccr_escluster_1集群,所以写入按照300并发持续写入10分钟,观察ccr_escluster_2监控

(1)向ccr_escluster_1集群的索引ccr1_2023-10-17_leader写入数据
300并发持续10分钟

(2)索引写入速率

ccr_escluster_1集群ccr1_2023-10-17_leader写入速率图如下

15:36的写入速率为70463.5 docs/s

ccr_escluster_2集群ccr2_2023-10-17_follower写入速率图如下

15:36的写入速率为57980.9 docs/s

4.主集群存量数据进行复制速率测试

删除ccr_escluster_2集群ccr2_2023-10-17_follower索引,重构跨集群复制ccr2_2023-10-17_follower_002索引,并且观察速率

①ccr_escluster_1集群创建新索引并写入数据ccr1_2023-10-17_leader_002

总文档数为21879800,主分片占用存储17.5gb,副本分片占用17.5gb

②.删除索引ccr2_2023-10-17_follower

③.构建跨集群复制ccr2_2023-10-17_follower_002

④查看存量数据迁移速率

存量数据迁移时,ES会把集群ccr_escluster_2中的索引ccr2_2023-10-17_follower_002当做ccr_escluster_1集群中索引ccr1_2023-10-17_leader_002的副本(简单来说,就是先把两个集群看做整体,然后创建副本的过程)

由于是存量数据无法再Kibana监控看到线性图,只能通过管理页面查看,或者命令

GET <跨集群复制名称>/_ccr/stats,查看速率

通过多次复制创建,确定时间

总文档数为21879800,主分片占用存储17.5gb,副本分片占用17.5gb

总共耗时07:06.07,

转换为秒,约为426s

复制速率=总文档数/总耗时  约为51361.03 docs/s

5.主集群有查询有写入时的同步复制速率测试

①.在集群ccr_escluster_1创建ccr1_2023-10-17_leader_003索引

②.在集群ccr_escluster_2中创建跨集群复制索引ccr2_2023-10-17_follower_003

打开同步复制

④.向ccr_escluster_1集群索引ccr1_2023-10-17_leader_002发起查询
并发300,600s

⑤.向ccr_escluster_1集群索引ccr1_2023-10-17_leader_003发起写入
200并发300s

⑥.对比两个集群的写入速率
查看ccr_escluster_1集群写入速率

14:58的写入速率为30002.7 docs/s


查看ccr_escluster_2集群复制写入速率

14:58的写入速率为23743.7 docs/s

6.主集群有查询有写入时的存量数据复制速率测试

①.向ccr_escluster_1集群索引ccr1_2023-10-17_leader_002发起查询
并发200,1200s

②.向ccr_escluster_1集群索引ccr1_2023-10-17_leader_003发起写入
100并发600s

由于目前有查询、有写入集群的监控也有数据写入,集群压力较大

监控有断点

③.查看ccr_escluster_1索引ccr1_2023-10-17_leader_002数据

总文档数为21879800,主分片占用存储17.5gb,副本分片占用17.5gb

④.在集群ccr_escluster_2集群创建ccr2_2023-10-17_follower_004跨集群复制

经过多次测试ccr_escluster_2集群ccr2_2023-10-17_follower_004索引复制ccr_escluster_1集群的索引ccr1_2023-10-17_leader_002

总文档数为21879800,主分片占用存储17.5gb,副本分片占用17.5gb

总耗时08:20.79min

转换为秒,约为500s

复制速率=总文档数/总耗时   约为43759.6 docs/s

  • 测试总结
  • 1.集群上限压测

集群名称

查询速率

写入速率

读写共同速率

ccr_escluster_1

1200并发

3500/s

500并发

78519.9/s

查询800并发  

2937/s

写入300并发  

31636.5/s

ccr_escluster_2

1200并发  

2643/s

500并发

89740.1/s

查询800并发  

2031.6/s

写入300并发  

51162.6/s

对比得出:

ccr_escluster_1集群的查询速率高于ccr_escluster_2集群

ccr_escluster_2集群的写入速率高于ccr_escluster_1集群

2.存量数据复制速率

总文档数为21879800,主分片占用存储17.5gb,副本分片占用17.5gb

总共耗时07:06.07,

转换为秒,约为426s

复制速率=总文档数/总耗时  速率约为51361.03 docs/s

3.主集群有查询有写入时的同步复制速率

Loadgen 压测300并发查询,200并发写入时

ccr_escluster_1集群写入速率为30002.7 docs/s
ccr_escluster_2集群复制的写入速率为23743.7 docs/s

4.主集群有查询有写入时的存量数据复制速率

总文档数为21879800,主分片占用存储17.5gb,副本分片占用17.5gb

总耗时08:20.79min

转换为秒,约为500s

复制速率=总文档数/总耗时   约为43759.6 docs/s

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值