Performance comparison report between MSE Nacos and open source Nacos

Updated at:

Nacos is an open source service registry and configuration center from Alibaba Cloud. The Microservices Engine (MSE) team has optimized Nacos using multiple technologies, which provides higher performance than a self-managed open source deployment. This topic simulates real-world Nacos scenarios and runs stress tests on the common features of MSE Nacos and self-managed open source Nacos. You can use this report to fully evaluate MSE Nacos before you adopt it.

Test design

This performance test covers the following features: configuration publishing, configuration queries, service registration, service queries, and change pushes.

MSE Nacos settings

  • MSE Nacos version: Professional Edition

  • Network topology: 3-zone deployment

  • Engine specifications: 2-core 4 GB

  • Cluster nodes: 3 nodes

  • Engine version: 2.3.2.0

  • Network type: virtual private cloud (VPC)

Open source Nacos settings

  • Network topology: 3 zones

  • Cluster nodes: 3 nodes

  • Node specifications: 2-core 4 GB, ecs.e-c1m2.large

  • Nacos version: 2.3.2

  • Network type: VPC

Test scenario description

  • Cluster parameter settings: Both MSE Nacos and open source Nacos use the default settings.

  • Stress testing duration: Each scenario runs for 10 minutes, and the results represent the average values.

  • Stress testing machine settings: The stress testing machines have identical specifications and run the same test program. The machines were configured to ensure that they did not become a performance bottleneck.

  • Test data

    • Configuration data: 6,000 configurations. Each configuration is 10 bytes in size.

    • Service data: Each provider contains 100 bytes of metadata. The number of service providers varies by scenario. However, within a given scenario, the number of services, service providers, and subscribers is the same.

Test procedure

The test procedure involves running stress tests on the APIs of MSE Nacos and self-managed open source Nacos until the clusters reach nearly identical CPU utilization. At that point, the Transactions Per Second (TPS) or Queries Per Second (QPS) for each API is recorded.

  • Query configuration: Frequently query configurations of a fixed size. The cluster QPS is recorded when CPU utilization is nearly identical.

  • Publish configuration: Frequently publish configurations of a fixed size. The cluster TPS is recorded when CPU utilization is nearly identical.

  • Register service: Register a specific number of service providers, and then register service instances at a fixed frequency. The cluster TPS is recorded when CPU utilization is nearly identical.

  • Query service: Register a specific number of service providers, and then query service instances at a fixed frequency. The cluster QPS is recorded when CPU utilization is nearly identical.

  • Push changes: Register services, providers, and subscribers at a 1:3:3 ratio. Randomly register and unregister some service providers at a fixed frequency to trigger server-side pushes. The cluster throughput is recorded when CPU utilization is nearly identical.

Test results

The following table shows the performance test results for MSE Nacos and open source Nacos.

Feature

Self-managed open source Nacos

MSE Nacos

Performance improvement

Query configuration

CPU: 82%

QPS: 9,981.96

CPU: 83%

QPS: 19,950.47

+99%

Publish configuration

CPU: 73%

TPS: 802.18

CPU: 73.8%

TPS: 2,185.75

+172%

Register service

CPU: 84.6%

TPS: 6,986.14

CPU: 83.6%

TPS: 12,973.89

+85%

Query service

CPU: 70.6%

QPS: 8,991

CPU: 71.1%

QPS: 20,001.5

+122%

Push changes

CPU: 78.3%

Outbound traffic: 13.3 MB/s

CPU: 78.4%

Outbound traffic: 40.1 MB/s

+202%

Performance comparison between MSE Nacos and open source Nacos. The bar for 'Push changes' is scaled proportionally.

image

Test conclusion

For core features, MSE Nacos has a significant performance advantage over self-managed open source Nacos, with performance improvements ranging from 85% to 202%. Overall, MSE Nacos is more than twice as fast as the self-managed open source version.