MSE Nacos和开源Nacos性能对比报告

Nacos是一款阿里云开源的注册配置中心产品。MSE团队采用多项技术对Nacos进行优化,以提供比开源自建更高的性能。本文模拟真实的Nacos场景,分别对MSE Nacos和开源自建Nacos常用功能进行压测。您可以参考本文分析报告,在接入MSE Nacos之前进行充分的评估。

测试设计

本次压测涉及到的功能包括:配置发布、配置查询、服务注册、服务查询、变更推送。

MSE Nacos设置

  • MSE Nacos版本:专业版

  • 网络拓扑:3可用区部署

  • 引擎规格:2C4G

  • 集群节点:3节点

  • 引擎版本:2.3.2.0

  • 网络类型:专有网络

开源Nacos设置

  • 网络拓扑:3可用区

  • 集群节点:3节点

  • 节点规格:2C4G,ecs.e-c1m2.large

  • Nacos版本:2.3.2

  • 网络类型:专有网络

测试场景说明

  • 集群参数设置:MSE Nacos及开源Nacos均采用默认设置。

  • 测试时长:每个场景压测时长10分钟,结果取平均值。

  • 施压机设置:施压机规格相同,部署同一压测程序,并保证施压机不成为压测瓶颈。

  • 测试数据

    • 配置数据:配置数6千,单个配置大小为10byte。

    • 服务数据:每个提供者包含100byte的metadata数据,每个场景服务提供者数不同。但在同一场景下,服务数、服务提供者数、订阅者数保持一致。

测试流程

分别对MSE Nacos和开源自建Nacos压测接口压测,压到CPU水位接近,记录各接口TPS或QPS。

  • 查询配置:频繁查询一定大小的配置,记录CPU大致相同的情况下集群QPS。

  • 发布配置:模拟发布一定大小的配置,频繁发布配置,记录CPU大致相同的情况下集群TPS。

  • 注册服务:模拟注册一定数量服务提供者,按照一定频率注册服务实例,记录CPU大致相同的情况下集群TPS。

  • 查询服务:模拟注册一定数量服务提供者,按照一定频率查询服务实例,记录CPU大致相同的情况下集群QPS。

  • 变更推送:模拟注册1:3:3(服务:提供者:订阅者)的比例注册服务、服务提供者、订阅者,按照一定的频率随机注册注销一些服务提供者,触发服务端主动推送,记录CPU大致相同的情况下集群吞吐量。

测试结果

MSE Nacos和开源Nacos性能测试结果。

功能

开源自建Nacos

MSE Nacos

性能提升

查询配置

CPU:82%

QPS:9981.96

CPU:83%

QPS:19950.47

+99%

发布配置

CPU:73%

TPS: 802.18

CPU:73.8%

TPS:2185.75

+172%

注册服务

CPU:84.6%

TPS:6986.14

CPU: 83.6%

TPS: 12973.89

+85%

查询服务

CPU:70.6%

QPS:8991

CPU:71.1%

QPS:20001.5

+122%

变更推送

CPU:78.3%

出口流量:13.3MB/s

CPU:78.4%

出口流量:40.1MB/s

+202%

MSE Nacos和开源Nacos性能对比(变更推送柱形图做了等比例放大)。

image

测试结论

MSE Nacos在核心功能上比开源自建Nacos有较大优势,性能最低比开源自建高85%,最高202%,整体性能基本比开源自建高一倍以上。