CPU|Nacos 2.0 升级前后性能对比压测

CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测
文章图片
CPU|Nacos 2.0 升级前后性能对比压测


Nacos 2.0 通过升级通信协议和框架、数据模型的方式将性能提升了约 10 倍 , 解决继 Nacos 1.0 发布逐步暴露的性能问题 。 本文通过压测 Nacos 1.0 , Nacos 1.0 升级 Nacos 2.0 过程中 , Nacos 2.0 进行全面性能对比 , 直观的展示 Nacos 2.0 所带来的性能提升 。
压测准备 环境准备
为了方便 Nacos 部署升级和展示核心性能指标 , 我们是从阿里云微服务引擎 MSE(_https://cn.aliyun.com/product/aliware/mse_)中购买的一个 2 核 CPU+4G 内存的三节点 Nacos 集群 。
压测模型
为了展示不同规模下的系统表现 , 我们采用逐步增压的方式进行压测 , 将压力分为 3个批次进行逐步启动 , 并观察每个批次下集群的运行表现 。 同时会在压力集群之外 , 再增加一个 Dubbo 服务的 Demo, 并使用 Jmeter 以 100 TPS 的压力不停的调用 , 以模拟不同压力下 , 对实际业务调用存在的可能影响 。
压测过程中 , 会在适当的时候对服务端和客户端进行升级;服务端的升级将直接使用 MSE 提供的一键升级功能 , 客户端的升级会使用分批次轮流重启的方式进行 。

压测过程
?Nacos1.X Server + Nacos1.X Client
首先启动第一批施压集群 , 对 MSE Nacos1.2.1 进行施压 , 在 6000 个 Providers 的压力下 , 集群稳定时 CPU 大约 25%, 能够稳定保持 6000 实例 。


?随后启动第二批施压集群 , 增加 4000 个 Provider, 合集 10000 个 Provider。 此时集群峰值 CPU 已经达到 60%, 稳定运行时大约在 45% 左右 , 集群能够稳定运行 。


在前两批的压力下 , 集群没有出现稳定性问题 , 所以 Dubbo 的调用保持正常 , 没有错误发生 。

【CPU|Nacos 2.0 升级前后性能对比压测】当第三批施压集群启动之后 , 压力总计 14000 个 Provider。 此时集群先是短暂的注册到 13000 个实例 , 之后很快出现实例数下跌 , CPU 跑满的问题 。 并且缩小时间范围可以看到 , 下跌后的实例仍然在小范围抖动 。

相关经验推荐