目录
操作系统: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端口号 |
7.10.2 | 3 | 10.125.11.89:1920 | |
10.125.11.90:1920 | |||
10.125.11.91:1920 |
- 测试方案
- 建立ES集群ccr_escluster_1、ccr_escluster_2
- 压测出两个集群的写入、查询瓶颈
- 主集群写入时,备集群同时复制数据速率测试(向Leader索引写入数据,查看Kibana监控对写入速率与复制速率进行比较)
- 主集群存量数据进行复制速率测试(删除Follower索引,并重建CCR功能,查看Kibana监控,对比复制速率)
- 主集群有查询有写入时的同步复制速率测试
- 主集群有查询有写入时的存量数据复制速率测试
- 压测ccr_escluster_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集群上限
- .查询上限
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
- 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
集群名称 | 查询速率 | 写入速率 | 读写共同速率 | |||
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