Nacos 压力测试报告¶
本文通过 JVM 虚拟机测试托管 Nacos 注册配置中心在不同资源规格下的性能表现,便于您根据实际的业务场景为 Nacos 提供合适的资源配额。
性能指标¶
TPS:通常指服务器每秒处理的事务数 (Transactions Per Second)。在本文中具体指 Nacos 服务器每秒可以处理多少个服务注册请求。
测试命令¶
java -jar -Xms2g -Xmx2g -Dnacos.server=10.6.222.21:30168 -Dthead.count=100 -Dservice.count=500 nacos-client-1.0-SNAPSHOT-jar-with-dependencies.jar
-Xms2g
:JVM 的初始内存-Xmx2g
:JVM 可使用的最大内存-Dnacos.server
:Nacos 注册配置中心的访问地址-Dthead.count
:线程数,对应测试结果中的并发数
-Dservice.count
:每个线程的请求数,对应测试结果中的服务数
nacos-client-1.0-SNAPSHOT-jar-with-dependencies.jar
:压测使用的 Jar 包,实际测试过程中在本地将其重命名为nacos-benchmark.jar
测试过程截图¶
测试结果¶
规格 | 节点数 | 并发数 | 服务数 | 执行时间(毫秒) | TPS | |
---|---|---|---|---|---|---|
1 Core 2 GiB | 1 | 30 | 1000 | 17086 | 1755.8 | |
50 | 1000 | 23315 | 2144.5 | |||
100 | 500 | 26194 | 1908.4 | |||
2 Core 4 GiB | 1 | 30 | 1000 | 8794 | 3409.1 | |
50 | 1000 | 15460 | 3225.8 | |||
100 | 500 | 15699 | 3184.7 | |||
4 Core 8 GiB | 1 | 50 | 1000 | 11843 | 4221.9 | |
80 | 1000 | 14510 | 5513.4 | |||
100 | 500 | 9501 | 5262.6 | |||
8 Core 16 GiB | 1 | 50 | 2000 | 14391 | 6948.8 | |
80 | 2000 | 18695 | 8558.4 | |||
100 | 1000 | 11686 | 8557.2 |
探究 JVM 资源配置对 Nacos 的性能影响¶
为探究 JVM 的资源配置对托管 Nacos 注册配置中心的性能影响,在 Nacos 申请资源为 2 Core 4 GiB
时, 为 JVM 也配置相同的资源,即 2 Core 4 GiB
。
这种情况下得出的测试结果如下:
规格 | 节点数 | 并发数 | 服务数 | 执行时间(毫秒) | TPS | |
---|---|---|---|---|---|---|
2 Core 4 GiB | 1 | 30 | 1000 | 11003 | 2727.3 | |
50 | 1000 | 15006 | 3333.3 | |||
100 | 500 | 13963 | 3580.9 |
Success
TPS 与调整前的数据不相上下。这说明,调整 JVM 对 Nacos 的性能基本没有影响。