SpringBoot+Netty JT808網關壓力測試

上一篇文章我們介紹了如何使用SpringBoot+Netty開發(fā)JT808網關,這一篇文章將壓力測試JT808網關。

網上看過一些百萬級部標網關的文章,沒有給出服務器配置,沒有給出發(fā)送速率,沒有給出測試報告,完全就是噱頭,我們要保持清醒的頭腦,一切以數(shù)據(jù)說話。

使用模擬終端壓測工具,壓測工具會發(fā)送五種消息:終端注冊、終端注銷、終端鑒權、心跳、位置匯報。JT808網關接收并解析位置信息后發(fā)送到RabbitMQ,gnss-web訂閱RabbitMQ的位置消息并統(tǒng)計收到的位置數(shù)量。對比壓測工具總共發(fā)送的位置數(shù)量和web收到的位置數(shù)量是否一致。
由于交通部的壓力檢測要求不高,我們不按交通部的要求壓測,測試時會將發(fā)送速率提高2倍以上,看系統(tǒng)的承壓能力達到多少。

服務器:騰訊云和阿里云Linux
配置:CPU:4核 內存:8G 帶寬:5M
環(huán)境:JDK13,RabbitMQ,Redis,其中RabbitMQ和Redis使用Docker容器創(chuàng)建
測試程序:網關jt808-server、web后臺gnss-web
消息序列化:ProtoBuf
模擬壓測終端臺數(shù):3333、10000、12000
流程:啟動docker容器的Redis和RabbitMQ,再啟動gnss-web,加載20000臺終端的信息到Redis緩存,再啟動jt808-server。

1.首先我們先壓測RabbitMQ的收發(fā)性能,吞吐量每秒可以達到2W+
RabbitMQ性能測試
2.壓測3333臺終端

RabbitMQ的吞吐量:


在這里插入圖片描述

服務器負載信息:


在這里插入圖片描述

壓測工具發(fā)送的位置數(shù)量:2523083
在這里插入圖片描述

web收到的位置數(shù)量:2523083


在這里插入圖片描述

web收到的位置信息:
在這里插入圖片描述

總結:壓測時間:40分鐘,位置數(shù)量:2523083,RabbitMQ吞吐量:3000+/s,CPU占用率:35-40%,帶寬:1.5M
3.壓測10000臺終端
RabbitMQ每秒吞吐量

查看JT808網關線程,未發(fā)現(xiàn)有BLOCK阻塞線程。


在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

總結:壓測時間:40分鐘,位置數(shù)量:1千萬,RabbitMQ吞吐量:5000/s,CPU占用率:75-80%,帶寬:3.5M

3.優(yōu)化了性能后壓測12000臺終端

CPU比以前下降了不少:


在這里插入圖片描述

JT808網關線程良好,未發(fā)現(xiàn)有BLOCK阻塞線程


在這里插入圖片描述

停掉壓力測試后我們檢查一下會不會有內存泄漏,這是GC前的狀態(tài):
在這里插入圖片描述

執(zhí)行GC垃圾回收后,內存一下子下降了,綠色代表快照前的狀態(tài),如果進度條有紅色,則表示有內存泄漏。這里全部為綠色,沒有出現(xiàn)內存泄漏:


在這里插入圖片描述
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容