Я успешно сконфигурировал кластер RabbitMQ, который поддерживает MQTT через плагин MQTT. На данный момент сообщения MQTT проходят обмен темой, привязанный к рабочей очереди. Таким образом, все сообщения MQTT хранятся в этой рабочей очереди.Тестирование производительности RabbitMQ/MQTT
Теперь я хотел бы протестировать производительность ввода этого кластера, изучив графики в плагине управления RabbitMQ. Мой план состоял в том, чтобы создать 2 издателя NodeJS MQTT, отменяющих многие сообщения MQTT в цикле for, но это не удается.
Когда цикл работает более 3000 раз, не все сообщения выживают ... (Найти мой тестовый код ниже), я хотел бы иметь свое мнение по этому вопросу:
- Что может быть причиной сообщения не выживают?
- Каков наилучший способ оценить производительность RabbitMQ/MQTT?
- Должен ли я использовать несколько издателей? Гнездо [код] => [клиент буфер памяти] => [отправить-систему:
Код:
var quantity = 3000;
var mqtt = require('mqtt');
var options = {
host: 'localhost',
port: 1883,
protocolId: 'MQIsdp',
rejectUnauthorized: false,
protocolId: 'MQIsdp',
protocolVersion: 3
};
var client = mqtt.connect(options);
for(var x=0; x<quantity; x++)
{
client.publish('/WSN/N536,563E/dynamic',"22");
console.log(x);
}
client.end();
Вы можете попробовать использовать QoS 1 или 2? –
Чтобы загрузить тест вашего брокера MQTT, вы можете использовать какой-либо инструмент, например https://github.com/emqtt/emqtt_benchmark/ (необходимо, чтобы Erlang был установлен). Или вы можете сделать то же самое, что и https://github.com/mqttjs/mqtt-stack/blob/master/benchmark/send.js –
. Ваши вопросы не ясны. Что означает «не выживать»? Ваш абонент не видит их всех? Google «MQTT QOS». Тестирование производительности сложно. Это наша компания уже 20 лет. Для начала вам нужно спросить себя ТОЧНО, что вы тестируете. Следующий вопрос: «Где узкое место?». Последнее, чего вы хотите, - это тестовая установка, которая станет узким местом. Для ознакомления с проблемами см. Эти страницы: http://gambitcomm.blogspot.com/2017/09/how-to-right-size-your-iot-platform.html и http://gambitcomm.blogspot.com/ 2016/10/MQTT эффективность-методология-using.html –