《阿里云产品四月刊》—得物 ZooKeeper SLA 也可以 99.99%丨最佳实践(3)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
性能测试 PTS,5000VUM额度
云原生网关 MSE Higress,422元/月
简介: 阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

本文来源于阿里云社区电子书《阿里云产品四月刊》


《阿里云产品四月刊》—得物 ZooKeeper SLA 也可以 99.99%丨最佳实践(2)https://developer.aliyun.com/article/1554139


性能压测

 

JMH 微基准测试

 

ZooKeeper 3.6.4  源码编译,  JMH micor  压测  WatchBench

image.png

 

  • pathCount:表示测试中使用的  ZNode  路径数目。

 

  • watchManagerClass:表示测试中使用的 WatchManager 实现类。

 

  • watcherCount:表示测试中使用的观察者(Watcher)数目。

 

  • Mode:表示测试的模式,这里是 avgt,表示平均运行时间。

 

  • Cnt:表示测试运行的次数。

 

  • Score:表示测试的得分,即平均运行时间。

 

  • Error:表示得分的误差范围。

 

  • Units:表示得分的单位,这里是毫秒/操作(ms/op)

 

ZNode    Watcher 100  万条订阅关系,默认版本使用  50MB,优化版只需要  0.2MB而且不会线性增加。

 

添加 Watch,优化版(0.406 ms/op)比默认版(2.669 ms/op)提升 6.5 倍。

大量触发 Watch ,优化版(17.833 ms/op)比默认版(84.455 ms/op)提升 5 倍。

 

性能压测

 

接下来在一台机器 (32C 60G) 搭建一套 3 节点 ZooKeeper 3.6.4 使用优化版与默认版进行容量压测对比。

 

场景一:20W znode 短路径

 

Znode 短路径: /demo/znode1

image.png

 

 

场景二:20W znode 长路径

 

Znode 长路径:

 

/sentinel-cluster/dev/xx-admin-interfaces/lock/_c_bb0832d5-67a5-48ab-8fe0

-040b9ddea-lock/12

image.png

 

Watch 内存占用跟 ZNode 的 Path 长度有关。

 

Watch    的数量在默认版是线性上涨,在优化版中表现非常好,这对内存占用优化来说改善非常明显。

 

灰度测试

 

基于前面的基准测试和容量测试,优化版在大量 Watch 场景内存优化明显,接下来开始对测试环境的 ZK 集群进行灰度升级测试观察。

 

第一套 ZooKeeper 集群 & 收益

 

 

image.png

 

默认版

image.png

 

优化版

 

 

image.png

 

image.png

 

效果收益:

 

  • election_time (选举耗时):降低 60%

 

  • fsync_time (事务同步耗时):降低 75%

 

  • 内存占用:降低 91%

 

第二套 ZooKeeper 集群 & 收益

image.png

 

 

image.png

 

image.png

 

 

 

效果收益:

 

  • 内存:变更前  JVM Attach  响应无法响应,采集数据失败。

 

  • election_time(选举耗时:降低 64%。

 

  • max_latency(读延迟:降低 53%。

 

  • proposal_latency(选举处理提案延迟):1400000 ms --> 43 ms

 

  • propagation_latency(数据的传播延迟):1400000 ms --> 43 ms

 

第三套 ZooKeeper 集群 & 收益

image.png

 

 

 

默认版

image.png

 

 

 

优化版

image.png

 

效果收益:

 

  • 内存:节省 89%

 

  • election_time(选举耗时:降低 42%

 

  • max_latency(读延迟:降低 95%

 

  • proposal_latency(选举处理提案延迟):679999 ms --> 0.3 ms

 

  • propagation_latency(数据的传播延迟):928000 ms--> 5 ms

 

 

总结

 

通 过 之 前 的 基 准 测 试 、 性 能 压 测 以 及 灰 度 测 试 , 发 现 了 ZooKeeperWatchManagerOptimized。这项优化不仅节省了内存,还通过锁的优化显著提高了节点之间的选举和数据同步等指标,从而增强了 ZooKeeper 的一致性。还与阿里 MSE 的同学进行了深度交流, 各自在极端场景模拟压测, 并达成了一致的看法:

 

WatchManagerOptimized 对 ZooKeeper  的稳定性提升显著。总体而言,这项优化使得 ZooKeeper 的 SLA 提升了一个数量级。

 

ZooKeeper 有许多配置选项,但大部分情况下不需要调整。为提升系统稳定性,建议进行以下配置优化:

 

  • dataDir(数据目录dataLogDir(事务日志目录分别挂载到不同的磁盘上,并使用高性能的块存储。

 

  • 对于 ZooKeeper 3.8 版本,建议使用 JDK 17 并启用 ZGC 垃圾回收器;而对于

3.5 和 3.6 版本,可使用 JDK 8 并启用 G1 垃圾回收器。针对这些版本,只需要简单配置 -Xms 和 -Xmx 即可。

 

  • SnapshotCount 参数默认值 100,000 调整为 500,000,这样可以在高频率ZNode 变动时显著降低磁盘压力。

 

  • 使用优化版的 Watch 管理器 WatchManagerOptimized

 

Ref: 参考一考二

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
9天前
|
消息中间件 安全 API
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
102 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(1)
|
9天前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
114 1
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(4)
|
9天前
|
Cloud Native 关系型数据库 分布式数据库
《阿里云产品四月刊》—瑶池数据库云原生化和一体化产品能力升级
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
9天前
|
消息中间件 安全 Apache
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
157 0
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(2)
|
7天前
电子好书发您分享《2024年阿里云产品五月刊》
Markdown 格式摘要如下: ```markdown 📚 阅读电子书:《2024年阿里云产品五月刊》🚀 了解阿里云最新动态!🚀 [查看](https://developer.aliyun.com/ebook/8349/read?spm=a2c6h.26392459.ebook-detail.5.623e3988zLjRuZ) ![阿里云五月刊封面](https://ucc.alicdn.com/pic/developer-ecology/cok6a6su42rzm_3502a3b8ac6c41b2ac7150896d3df269.png) ```
29 6
|
4天前
|
运维 监控 数据可视化
阿里云可观测 2024 年 6 月产品动态
阿里云可观测 2024 年 6 月产品动态。
|
8天前
|
自然语言处理
电子好书发您分享《阿里云产品2024年五月刊》
```markdown 《阿里云产品2024年五月刊》电子书分享:探索阿里云最新动态。[查看](https://developer.aliyun.com/ebook/8349/read?spm=a2c6h.26392459.ebook-detail.5.32203988v4X3Om) ``` 纯文本摘要: 《阿里云产品2024年五月刊》现已发布,详询阿里云最新产品和服务,请访问:https://developer.aliyun.com/ebook/8349/read?spm=a2c6h.26392459.ebook-detail.5.32203988v4X3Om
13 1
|
9天前
|
消息中间件 Apache 数据安全/隐私保护
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(3)
|
9天前
|
消息中间件 Apache RocketMQ
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(5)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(5)
|
4天前
阿里云产品六月刊来啦
通义千问2.5正式发布,HPC优化实例hpc8ae正式商业化,详情请点击阿里云产品六月刊

热门文章

最新文章