1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/emqx-emqtt-bench

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_FOR_DOCKER.md 5.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 18:18 a1dbeec

Erlang MQTT Benchmark Tool

emqtt_bench — это простой инструмент для тестирования производительности MQTT v5.0, написанный на Erlang.

Сборка

make docker

Подключение к серверу (connect benchmark)

$ docker run -it emqtt_bench conn --help
Использование: emqtt_bench conn [--help <help>] [-h [<host>]] [-p [<port>]]
                        [-c [<count>]] [-n [<startnumber>]]
                        [-i [<interval>]] [-u <username>] [-P <password>]
                        [-k [<keepalive>]] [-C [<clean>]] [-S [<ssl>]]
                        [--certfile <certfile>] [--keyfile <keyfile>]
                        [--ifaddr <ifaddr>]

  --help             информация о помощи
  -h, --host         имя хоста или IP-адрес сервера MQTT [по умолчанию: localhost]
  -p, --port         номер порта сервера MQTT [по умолчанию: 1883]
  -c, --count        максимальное количество клиентов [по умолчанию: 200]
  -n, --startnumber  начальный номер [по умолчанию: 0]
  -i, --interval     интервал подключения к брокеру [по умолчанию: 10]
  -u, --username     имя пользователя для подключения к серверу
  -P, --password     пароль для подключения к серверу
  -k, --keepalive    время поддержания соединения в секундах [по умолчанию: 300]
  -C, --clean        очистка сессии [по умолчанию: true]
  -S, --ssl          сокет SSL для подключения к серверу [по умолчанию: false]
  --certfile         клиентский сертификат для аутентификации, если требуется сервером
  --keyfile          клиентский закрытый ключ для аутентификации, если требуется сервером
  --ifaddr           локальный IP-адрес или адрес интерфейса

Например, создайте 50 000 одновременных подключений при скорости поступления 100/сек:

docker run -it emqtt_bench conn -c 50000 -i 10

Подписка (sub benchmark)

$ docker run -it emqtt_bench sub --help
Использование: emqtt_bench sub [--help <help>] [-h [<host>]] [-p [<port>]]
                       [-V [<version>]] [-c [<count>]]
                       [-n [<startnumber>]] [-i [<interval>]]
                       [-t <topic>] [-q [<qos>]] [-u <username>]
                       [-P <password>] [-k [<keepalive>]] [-C [<clean>]]
                       [-S [<ssl>]] [--certfile <certfile>]
                       [--keyfile <keyfile>] [--ws [<ws>]]
                       [--ifaddr <ifaddr>]

  --help             информация о помощи
  -h, --host         имя хоста или IP-адрес сервера MQTT [по умолчанию: localhost]
  -p, --port         номер порта сервера MQTT [по умолчанию: 1883]
  -V, --version      протокол MQTT версии: 3 | 4 | 5 [по умолчанию: 5]
  -c, --count        максимальное количество клиентов [по умолчанию: 200]
  -n, --startnumber  начальный номер [по умолчанию: 0]
  -i, --interval     интервал подключения к брокеру [по умолчанию: 10]
  -t, --topic        тема подписки, поддерживает переменные %u, %c, %i
  -q, --qos          QoS подписки [по умолчанию: 0]
  -u, --username     имя пользователя для подключения к серверу
  -P, --password     пароль для подключения к серверу
  -k, --keepalive    время поддержания соединения в секундах [по умолчанию: 300]
  -C, --clean        очистка старта [по умолчанию: true]
  -S, --ssl          сокет SSL для подключения к серверу [по умолчанию: false]
  --certfile         клиентский сертификат для аутентификации, если требуется сервером
  --keyfile          клиентский закрытый ключ для аутентификации, если требуется сервером
  --ws               транспорт WebSocket [по умолчанию: false]
  --ifaddr           локальный IP-адрес или адрес интерфейса

Например, создайте 50 000 одновременных подключений при скорости поступления 100/сек:

docker run -it emqtt_bench sub -c 50000 -i 10 -t bench/%i -q 2

Публикация (pub benchmark)

$ docker run -it emqtt_bench pub --help
Использование: emqtt_bench pub [--help <help>] [-h [<host>]] [-p [<port>]]
                       [-V [<version>]] [-c [<count>]]
                       [-n [<startnumber>]] [-i [<interval>]]
                       [-I [<interval_of_msg>]] [-u <username>]
                       [-P <password>] [-t <topic>] [-s [<size>]]
                       [-q [<qos>]] [-r [<retain>]] [-k [<keepalive>]]
                       [-C [<clean>]] [-S [<ssl>]]
                       [--certfile <certfile>] [--keyfile <keyfile>]
                       [--ws [<ws>]]
1
https://api.gitlife.ru/oschina-mirror/emqx-emqtt-bench.git
git@api.gitlife.ru:oschina-mirror/emqx-emqtt-bench.git
oschina-mirror
emqx-emqtt-bench
emqx-emqtt-bench
master