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壓力測試報告 - DEMOJMeter測試報告
- 壓力測試工具
- Jmeter 4.0壓力測試工具安裝及使用方法JMeter
- 效能壓力測試JMeter替代:LoadjitsuJMeter
- JMeter使用jar進行壓力測試JMeterJAR
- jmeter壓力測試實現負載均衡JMeter負載
- 使用Jmeter進行RPC壓力測試JMeterRPC
- 壓力測試工具之FIO
- 壓力測試工具之mysqlslapMySql
- 網站壓力測試工具網站
- Mysql 壓力測試工具sysbenchMySql
- 軟體壓力測試流程和測試工具分享,讓你寫壓力測試報告再也不愁測試報告
- Jmeter-壓測工具JMeter
- apache ab壓力測試工具-批次壓測指令碼Apache指令碼
- 10大主流壓力測試工具
- HTTP/FTP壓力測試工具siegeHTTPFTP
- Nginx壓力測試工具之WebBenchNginxWeb
- Web網站壓力測試工具Web網站
- 運維攻堅之jmeter壓力測試報錯運維JMeter
- 超實用壓力測試工具-ab工具
- 讓測試事半功倍軟體壓力測試工具分享,壓力測試報告怎麼收費?測試報告
- 三種web效能壓力測試工具Web
- 分散式TCP壓力測試工具 tcpcopy分散式TCP
- MySQL基準壓力測試工具MySQLSlapMySql
- 併發網站壓力測試工具網站
- 效能測試工具 jmeter 原始碼剖析:jmeter 分散式壓測啟動過程JMeter原始碼分散式
- 開源的負載測試/壓力測試工具 NBomber負載
- 軟體壓力測試知識分享,2022好用壓力測試工具有哪些?
- nodejs版的websocket壓力測試工具NodeJSWeb
- 10大主流壓力測試工具推薦
- Linux下使用壓力測試工具stressLinux
- SSL壓力測試工具THC-SSL-DOS
- Http壓力測試工具HttpTest4NetHTTP
- ORACLE壓力測試Oracle
- laravel壓力測試Laravel
- MACOSXApacheab壓力測試MacApache