Erlang MQTT Benchmark Tool
emqtt_bench
— это простой инструмент для тестирования производительности MQTT v5.0, написанный на Erlang.
make docker
$ 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
$ 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
$ 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>]]
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.