安裝emqtt_benchmark-以失敗告終

為了對(duì)我的阿里云輕量服務(wù)器進(jìn)行性能測(cè)試,我嘗試了UnixBtt-ench和emqttd_benchmark。

Unixbench是一款開源的,適用于Linux的, 測(cè)試VPS性能的軟件,測(cè)試的性能包括CPU,內(nèi)存,磁盤,操作系統(tǒng)等等。每項(xiàng)測(cè)完會(huì)給出一個(gè)分值,全部測(cè)試完大概10-30分鐘,最后給出一個(gè)總分,通過(guò)分?jǐn)?shù)可以很方便地衡量比較VPS的性能。

裝Unixbench以及運(yùn)行的過(guò)程很順利。

接下來(lái)安裝emqtt_benchmark的過(guò)程就很坎坷了。

emqtt_benchmark是emq自帶的,用于測(cè)試emq服務(wù)器性能的一個(gè)工具。

1. 首先修改emq的配置文件

參考:EMQ百萬(wàn)級(jí)MQTT消息服務(wù)(優(yōu)化和壓測(cè))這篇文章的第一步。(我參考的這篇文章是18年寫的,當(dāng)時(shí)還是v2,老版本的emq,和現(xiàn)在新版本的emqx有一些差別)吸取了上次用sublime修改emqx.conf的教訓(xùn),這次直接命令行vim編輯,雖然有點(diǎn)別扭。

2. 安裝erlang/OTP

一定要安裝最新版,越新越好。最開始我就按照上面這篇csdn教的,下的版本是19,結(jié)果編譯emqtt-benchmark的時(shí)候就報(bào)錯(cuò)了,說(shuō)我OTP當(dāng)前裝的是v19, 必須要v21以上。

erlang的安裝也是很復(fù)雜,首先介紹一下什么是erlang,什么是OTP:

Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems.

摘自官網(wǎng):Erlang Programming Language

網(wǎng)上有人說(shuō)可以在官網(wǎng)上下好安裝包,解壓縮、安裝,但是我試了沒(méi)成功。最后我是用以下的命令裝的:

????wget http://erlang.org/download/otp_src_21.0.tar.gz?

????tar -xvzf otp_src_21.0.tar.gz?

????cd otp_src_21.0?

????./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac

????make && make install

3. 配置erl環(huán)境變量

????vim /etc/profile

????export ERLPATH=/usr/local/erlang

????export PATH=$ERLPATH/bin:$PATH

????source /etc/profile

4. 安裝rebar3

這一步也是我自己失誤之后的教訓(xùn),如果不裝rebar3直接安裝emqtt_benchmark,在make的時(shí)候會(huì)報(bào)錯(cuò)。

后來(lái)也是看了github上別人的問(wèn)題才解決了:Hello, I can't compile this. · Issue #45 · emqx/emqtt-bench · GitHub

安裝rebar3 :

? ? git clone https://github.com/erlang/rebar3.git

????cd rebar3

????./bootstrap

????./rebar3 local install

5. 安裝emqtt_benchmark

????yum -y install git

????cd /app/install/emqtt_benchmark

????git clone https://github.com/emqx/emqtt-bench.git? #這個(gè)地址和原來(lái)老版的emqtt不一樣了!

????cd?/app/install/emqtt_benchmark/emqtt_bench

? ? make ? ? ?

????## 調(diào)整系統(tǒng)參數(shù)并且開始?jí)簻y(cè)

????sysctl -w net.ipv4.ip_local_port_range="500 65535"

????echo 1000000 > /proc/sys/fs/nr_open

????ulimit -n 1000000

????./emqtt_bench sub -h 192.168.2.111 -c 32219 -i 1 -t bench /%i -q 2

然后。。。還是有問(wèn)題。。。

我make成功之后,運(yùn)行./emqtt_bench sub -c 50000 -i 10 -t bench/%i -q 2報(bào)錯(cuò)

百度、谷歌都搜了也沒(méi)有相關(guān)的解決方法。我只能自己在github上問(wèn)了!希望有人回復(fù)吧

escript: exception error: undefined function counters:new/2 · Issue #58 · emqx/emqtt-bench · GitHub

今天依然是連個(gè)壓力測(cè)試都沒(méi)完成的??。

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

友情鏈接更多精彩內(nèi)容