Nats服务性能测试报告

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

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次,取最终平均值作为最后结果)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值