Nats服务性能测试报告

本文是一份Nats服务的性能测试报告,包括单机和集群测试。测试涵盖了实时和流模式,关注点在于发布速度、订阅速度、CPU和内存使用。在单机测试中,发现Nats在无订阅者时能达到2.6GB/s的发布速率,而有订阅者时,发布和订阅速率降低至1.23GB/s。流模式测试显示,单个发布者发布速度为1GB/s,多个发布者时速度有所提升,订阅者也会对性能造成影响。集群测试表明,集群模式下性能相比单机降低约三分之一。Nats在资源占用和并发性能上有优势,但在高吞吐流模式下可能不是最佳选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nats服务性能测试报告

1. 单机测试

1.1. 实时模式测试

1.1.1. 测试1个发布者发送

1.1.2. 测试1个发布者发送,1个订阅者接收

1.1.3. 测试1个发布者发送,1个订阅者接收,设置消息确认机制

1.1.4. 测试1个发布者发送,1个订阅者接收

1.2. 流模式测试(基于文件)

1.2.1. 发布者1个

1.2.2. 发布者2个,每个发布者发布500000条

1.2.3. 发布者5个,每个发布者发布200000条

1.2.4. 订阅者1个

1.2.5. 订阅者2个,每个订阅者接收500000条

1.2.6. 发布者1个,订阅者1个,同时进行

2. 集群测试

测试环境采用使用单机和集群2种部署方式,分别针对不同的消息使用场景进行测试,观察Nats服务在单机部署下的消息的发布速度、订阅速度、内存、cpu等指标情况。

单机虚拟机硬件资源配置如下:

cb66d724b8c541d993343d0239640f56.png

操作系统ubuntu18.04

95d08f39aa0144f2aab9d7c02cf26fbe.png

内存8GB

1e0e5618cf894e43abbf512afc409a17.png

Cpu4核

b2742b54416941e2a69d4c9323154001.png

ea9e71fb63d5435f829d751bf8e02124.png

424634bea1614b90b96e2cfa668b8f55.png

使用网络传输性能测试工具iperf3测试本地虚拟机到虚拟机的网络传输速率为52.8Gbps,也就是6.6GB/s

208baaddfd2743f1af9ba3fa73491cdf.png

使用网络传输性能测试工具iperf3测试本地宿主机到宿主机的网络传输速率为2.81Gbps,也就是351.3MB/s

41a56c44383949928e2c0dbbe48a3d1b.png

使用网络传输性能测试工具iperf3测试本地宿主机到虚拟机的网络传输速率为13.6Gbps,也就是1.7GB/s

f827a95b852d4582821aff04d482733e.png

笔记本使用的是无线网卡Intel Wi-Fi 6E AX211 160MHz最大支持2402Mbps,路由器WiFi网络频带2.4GHz,传输速率130Mbps

使用网络传输性能测试工具iperf3测试笔记本到虚拟机的网络传输速率为18.2Mbps,也就是2.3MB/s。

c6a147dd340e4311837d1beee629465c.png

调整路由器WiFi网络频带为5GHz,传输速率为234Mbps,

使用网络传输性能测试工具iperf3测试笔记本到虚拟机的网络传输速率为43Mbps也就是5.38MB/s。

由此可见,不同的网络环境下网络传输速率也会不同,这取决于发送端网卡、接收端网卡、网关路由器、网络传输技术等多方面因素影响。在本地测试的情况下几乎是没有网络损耗,为了方便测试Nats性能,我们基于本地虚拟机进行测试。也就是用6.6GB/s的网络传输速率模拟真实的生产环境下网络传输速率对Nats服务进行基准测试。

以下测试需安装nats-server,natscli,nats-top,以上官网都有

由于natsjetStream包含nats实时,因此直接以jetStream方式启动

./nats-server --jetstream

启动nats-top观察cpu和内存使用情况

./nats-top

测试工具使用Nats官网提供的Nats bench基准测试工具。

  1. 单机测试
    1. 实时模式测试

./nats bench test.subject --pub 1 --size 40960 --msgs 1000000

      1. 测试1个发布者发送

(单主题,单条消息40K,消息数1000000,总大小38GB,每个用例测试5次,取最终平均值作为最后结果)

第一次测试

24ac2440406d485d92d9b6afeb3e0ed0.png

c6ed5f2ebdad4f24bf3cd95e391a45da.png

Cpu使用184%,内存使用18.7MB,平均发布速度2.56GB/s

第二次测试

32239f36f24b409da513a99622ac1da0.png

8a21c9d3cc1646adb1c98037173deed2.png

Cpu使用184%,内存使用17.9MB,平均发布速度2.56GB/s

第三次测试

385351a4fd044108be5c90e49e283174.png

ed0623f21e2f4b8f9ebd51fbd78099e5.png

Cpu使用185%,内存使用20.6MB,平均发布速度2.56GB/s

第四次测试

9c405faf6f794bd19488c03fd62d9609.png

1342c47f3508412291385cccb7fc7a15.png

Cpu使用185%,内存使用18.8MB,平均发布速度2.54GB/s

第五次测试

f7d48f2a80c346dfae233e0f29c9bbe6.png

b5597130f2de4bed9105344ac272fb67.png

Cpu使用187%,内存使用18.8MB,平均发布速度2.60GB/s

测试轮次

Cpu使用(%)

内存使用(MB)

发布速率(GB/s)

1

184

18.7

2.56

2

184

17.9

2.56

3

185

20.6

2.56

4

185

18.8

2.54

5

187

18.8

2.60

平均

185

18.96

2.564

      1. 测试1个发布者发送,1个订阅者接收

(单主题,单条消息40K,消息数1000000,总大小38GB,每个用例测试5次,取最终平均值作为最后结果)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值