# Nacos 压力测试报告
本文通过 JVM 虚拟机测试托管 Nacos 注册配置中心在不同资源规格下的性能表现,便于您根据实际的业务场景为 Nacos 提供合适的资源配额。
## 性能指标
TPS:通常指服务器每秒处理的事务数 (Transactions Per Second)。在本文中具体指 Nacos 服务器每秒可以处理多少个服务注册请求。
## 测试命令
```console
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`
## 测试过程截图
![process](https://docs.daocloud.io/daocloud-docs-images/docs/zh/docs/skoala/images/test-nacos01.png)
## 测试结果
规格 |
节点数 |
并发数 |
服务数 |
执行时间(毫秒) |
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 的性能基本没有影响。