1. 程式人生 > >使用BeetleX的TcpBenchmark工具進行百萬設備模擬測試

使用BeetleX的TcpBenchmark工具進行百萬設備模擬測試

benchmark tor select 字符 bubuko 瀏覽器 情況 git 環境

其實TCP測試的工具有很多,那BeetleX工具所提供的特點又是什麽呢?如果你需數十萬的請求或模擬上百萬的設備連接,那這個工具相信可以滿足你的需要!工具是基於BeetleX的基礎功能擴展,支持多IP綁定可以輕松實現上百萬的client模擬;在性能上工具可以在一臺4核的PC可達到數十萬的Socket讀寫效能足以滿足模擬大並發請求處理的需求。以下介紹這個工具的部署和使用

下載

工具下載地址: https://github.com/IKende/TCPBenchmarks/blob/master/TCPBenchmarks0.6.zip

部署

工作的運行環境是.net core 2.1或更高版本

  • linux 運行
dotnet TCPBenchmarks.dll 
or 
./run.sh
  • windows 運行
dotnet TCPBenchmarks.dll 
or 
run.bat

可以通過輸出運行的日誌查看運行情況

技術分享圖片

訪問

運行後可以通過瀏覽器訪問打開工具,訪問地址http://host:9090;工具默認是打開9090端口。如果需要調整端口可以通過修改httpconfig.json來設置

    "Host": "",
    "Port": 9090,

運行後工具界面如下:

技術分享圖片

添加消息

工具在測試服務時必須增加需發發送的消息,消息以字符的方式來描述,格式有兩種分別是utf-8

hex

技術分享圖片

在編寫消息的時候可以進行測試,測試會返回當前內容對應的hexutf-8.

性能測試

對於性能測試來說,需要考慮自己對那些指標的要求。如果只是想壓測請求響應量那應該用適當的連接數,並選擇Response模式。如果需要模擬幾十上百萬的大量連接建議使用Interval畢竟單機硬件有很,無法同時對這麽多的連接進行並發處理。

技術分享圖片

工具會提供一個詳細的測試結果,主要包括一些並發指標和請求響應延時的分布。在下面還提供兩個走勢圖,分別是socket的讀寫io並發量和相應TCP讀寫的數據量。

大量連接測試

一個IP最多只能使用6萬多個端口,就是說一個IP最多只能創建6萬多個client;工具只會使用10000-60000端口的範圍,如果需要創建超過5萬個client就必須在當前系統添加多個IP

.而這些IP地址都必須能訪問測試的服務。以下是創建1百萬連接的測試情況

技術分享圖片

使用BeetleX的TcpBenchmark工具進行百萬設備模擬測試