美文网首页
安装emqtt_benchmark-以失败告终

安装emqtt_benchmark-以失败告终

作者: Jessieee_Y | 来源:发表于2019-08-06 20:15 被阅读0次

    为了对我的阿里云轻量服务器进行性能测试,我尝试了UnixBtt-ench和emqttd_benchmark。

    Unixbench是一款开源的,适用于Linux的, 测试VPS性能的软件,测试的性能包括CPU,内存,磁盘,操作系统等等。每项测完会给出一个分值,全部测试完大概10-30分钟,最后给出一个总分,通过分数可以很方便地衡量比较VPS的性能。

    装Unixbench以及运行的过程很顺利。

    接下来安装emqtt_benchmark的过程就很坎坷了。

    emqtt_benchmark是emq自带的,用于测试emq服务器性能的一个工具。

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

    参考:EMQ百万级MQTT消息服务(优化和压测)这篇文章的第一步。(我参考的这篇文章是18年写的,当时还是v2,老版本的emq,和现在新版本的emqx有一些差别)吸取了上次用sublime修改emqx.conf的教训,这次直接命令行vim编辑,虽然有点别扭。

    2. 安装erlang/OTP

    一定要安装最新版,越新越好。最开始我就按照上面这篇csdn教的,下的版本是19,结果编译emqtt-benchmark的时候就报错了,说我OTP当前装的是v19, 必须要v21以上。

    erlang的安装也是很复杂,首先介绍一下什么是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.

    摘自官网:Erlang Programming Language

    网上有人说可以在官网上下好安装包,解压缩、安装,但是我试了没成功。最后我是用以下的命令装的:

        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环境变量

        vim /etc/profile

        export ERLPATH=/usr/local/erlang

        export PATH=$ERLPATH/bin:$PATH

        source /etc/profile

    4. 安装rebar3

    这一步也是我自己失误之后的教训,如果不装rebar3直接安装emqtt_benchmark,在make的时候会报错。

    后来也是看了github上别人的问题才解决了: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  #这个地址和原来老版的emqtt不一样了!

        cd /app/install/emqtt_benchmark/emqtt_bench

        make      

        ## 调整系统参数并且开始压测

        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

    然后。。。还是有问题。。。

    我make成功之后,运行./emqtt_bench sub -c 50000 -i 10 -t bench/%i -q 2报错

    百度、谷歌都搜了也没有相关的解决方法。我只能自己在github上问了!希望有人回复吧

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

    今天依然是连个压力测试都没完成的🐏。

    相关文章

      网友评论

          本文标题:安装emqtt_benchmark-以失败告终

          本文链接:https://www.haomeiwen.com/subject/zmswdctx.html