ActiveMQ壓力測試工具(emqtt_benchmark和jmeter)
ActiveMQ測試工具
1. 測試工具
目前使用兩種測試工具進行壓力測試
1. Jmeter 測試單客戶端收發多主題,測試高併發,大資料量時的接收效率
2. emqtt_benchmark測試多客戶端收發主題,測試高吞吐量下伺服器效能
1.1 安裝Erlang
emqtt_benchmark測試工具使用Erlang語言開發,必須在Linux的環境下執行,因此需要先安裝Erlang語言環境。
解決辦法:
刪除archives資料夾
[root@localhost mqtt-test]# rm -rf /root/.kerl/archives
- 不能下載Erlang,錯誤:
[root@localhost mqtt-test]# ./kerl build 18.3 18.3 Verifying archive checksum... Checksum error, check the files in /root/.kerl/archives
1.2 emqtt_benchmark安裝使用
這是一個簡單的MQTT基準工具用Erlang編寫的。該工具的主要目的是基準測試MQTT伺服器可以支援的併發連線數。官網下載
- 1.2.1 下載安裝
將下載下來的emqtt_benchmark-master.zip
放置一個目錄下,並解壓縮, 使用make進行編譯安裝unzip emqtt_benchmark-master
cd emqtt_benchmark-master
ls
make -
1.2.2 訂閱命令
在目錄emqtt_benchmark-master
下執行命令:./emqtt_bench_sub --help
,結果如下:[root@localhost emqtt_benchmark-master]# ./emqtt_bench_sub --help Usage: emqtt_bench_sub [--help <help>] [-h [<host>]] [-p [<port>]] [-c [<count>]] [-i [<interval>]] [-t <topic>] [-q [<qos>]] [-u <username>] [-P <password>] [-k [<keepalive>]] [-C [<clean>]] [--ifaddr <ifaddr>] --help help information //伺服器ip地址 -h, --host mqtt server hostname or IP address [default: localhost] //伺服器埠號 -p, --port mqtt server port number [default: 1883] //最大連線客戶端數量 預設200 -c, --count max count of clients [default: 200] //客戶端連線間隔時間,預設10毫秒 -i, --interval interval of connecting to the broker [default: 10] //訂閱的主題 %i=自增長序號 -t, --topic topic subscribe, support %u, %c, %i variables //訊息服務qos等級, //0=最多一次 伺服器與 客戶端 互動1次 //1=至少一次 伺服器與 客戶端 互動2次 //2=僅有一次 伺服器與 客戶端 互動4次 -q, --qos subscribe qos [default: 0] //客戶端使用者名稱 -u, --username username for connecting to server //使用者端密碼 -P, --password password for connecting to server //維持客戶端活躍的時間 預設300秒 -k, --keepalive keep alive in seconds [default: 300] //客戶端斷開後是否清除session 預設true -C, --clean clean session [default: true] //代理ip介面 --ifaddr local ipaddress or interface address
-
舉例:建立1000個併發客戶端,並每秒接收100條訊息頻率
1
.
/
emqtt_bench_sub
-
c
1000
-
i
10
-
t bench
/
%
i
-
q
2
-
1.2.3 釋出命令
執行命令:./emqtt_bench_pub --help
,結果如下:[root@localhost emqtt_benchmark-master]# ./emqtt_bench_pub --help Usage: emqtt_bench_pub [--help <help>] [-h [<host>]] [-p [<port>]] [-c [<count>]] [-i [<interval>]] [-I [<interval_of_msg>]] [-u <username>] [-P <password>] [-t <topic>] [-s [<size>]] [-q [<qos>]] [-r [<retain>]] [-k [<keepalive>]] [-C [<clean>]] [--ifaddr <ifaddr>] --help help information -h, --host mqtt server hostname or IP address [default: localhost] -p, --port mqtt server port number [default: 1883] -c, --count max count of clients [default: 200] -i, --interval interval of connecting to the broker [default: 10] //客戶端釋出訊息的時間間隔 預設1000毫秒 -I, --interval_of_msg interval of publishing message(ms) [default: 1000] -u, --username username for connecting to server -P, --password password for connecting to server -t, --topic topic subscribe, support %u, %c, %i variables //訊息位元組大小 預設256位元組 -s, --size payload size [default: 256] -q, --qos subscribe qos [default: 0] -r, --retain retain message [default: false] -k, --keepalive keep alive in seconds [default: 300] -C, --clean clean session [default: true] --ifaddr local ipaddress or interface address
-
舉例:創造10個客戶,每個客戶端釋出訊息的速度每秒100條,吞吐量1000條/秒
1
.
/
emqtt_bench_pub
-
c
10
-
I
10
-
t bench
/
%
i
-
s
256
1.3 Jmeter安裝使用
Apache JMeter是Apache組織開發的基於Java的壓力測試工具。下載
用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴充套件到其他測試領域。
相關文章
- jmeter之——jms壓測(activemq)JMeterMQ
- Jmeter效能測試 —— 壓力模式JMeter模式
- 效能壓力測試JMeter替代:LoadjitsuJMeter
- 使用JMeter進行壓力測試JMeter
- Jmeter 4.0壓力測試工具安裝及使用方法JMeter
- jmeter壓力測試實現負載均衡JMeter負載
- 軟體壓力測試流程和測試工具分享,讓你寫壓力測試報告再也不愁測試報告
- jmeter壓力測試中的疑難雜症JMeter
- apache ab壓力測試工具-批次壓測指令碼Apache指令碼
- 10大主流壓力測試工具
- 軟體壓力測試知識分享,2022好用壓力測試工具有哪些?
- 超實用壓力測試工具-ab工具
- 運維攻堅之jmeter壓力測試報錯運維JMeter
- 讓測試事半功倍軟體壓力測試工具分享,壓力測試報告怎麼收費?測試報告
- 效能測試工具 jmeter 原始碼剖析:jmeter 分散式壓測啟動過程JMeter原始碼分散式
- Linux下使用壓力測試工具stressLinux
- nodejs版的websocket壓力測試工具NodeJSWeb
- Linux系統壓力測試工具(命令列工具)Linux命令列
- 壓力測試
- 開源的負載測試/壓力測試工具 NBomber負載
- 介面測試(apipost、jmeter和python指令碼)——測試工具APIJMeterPython指令碼
- 10大主流壓力測試工具推薦
- sysbench 壓力測試
- MACOSXApacheab壓力測試MacApache
- ORACLE壓力測試Oracle
- laravel壓力測試Laravel
- NewSQL資料庫壓力測試工具系列——SysbenchSQL資料庫
- 壓力測試工具ab - Apache HTTP server benchmarking toolApacheHTTPServer
- 求助,jmeter 壓測 ,業務場景測試JMeter
- Taurus.MVC 效能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET 版本MVCLinux
- 用雲壓力測試工具,如何完成一次測試任務
- Apache下壓力測試工具ab安裝與使用Apache
- 實現Python壓力測試工具|Python 主題月Python
- Taurus.MVC 效能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET Core 版本MVCLinux
- (一)效能測試(壓力測試、負載測試)負載
- RestCloud測試平臺,支援壓力測試RESTCloud
- 效能工具之Jmeter壓測Hprose RPC服務JMeterROSRPC
- 效能工具之Jmeter壓測Thrift RPC服務JMeterRPC