Ho configurato correttamente un cluster RabbitMQ che supporta MQTT tramite il plug-in MQTT. Al momento, i messaggi MQTT passano uno scambio di argomenti il cui vincolo con una coda di lavoro. Quindi tutti i messaggi MQTT sono memorizzati in questa coda di lavoro.Test delle prestazioni di RabbitMQ/MQTT
Ora mi piacerebbe testare le prestazioni di Input di questo cluster studiando i grafici nel plugin di gestione RabbitMQ. Il mio piano era di installare 2 editori MQTT NodeJS che attivassero molti messaggi MQTT all'interno di un ciclo for, ma questo fallisce.
Quando il ciclo for viene eseguito più di 3000 volte, non tutti i messaggi sopravvivere ... (Trova il mio codice di prova di seguito) Mi piacerebbe avere la vostra opinione su questo:
- Quali potrebbero essere i messaggi ragione non sopravvivere?
- Qual è il modo migliore per valutare le prestazioni di RabbitMQ/MQTT?
- Devo utilizzare più editori? Presa [il codice] => [buffer di memoria del cliente] => [inviare-system:
Codice:
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();
Si può provare a utilizzare un QoS di 1 o 2? –
Per caricare il test del broker MQTT, è possibile utilizzare alcuni strumenti simili a https://github.com/emqtt/emqtt_benchmark/ (tuttavia è necessario installare Erlang). Oppure puoi fare la stessa cosa https://github.com/mqttjs/mqtt-stack/blob/master/benchmark/send.js –
Le tue domande non sono chiare. Che cosa significa esattamente "non sopravvivere"? Il tuo abbonato non li vede tutti? Google "MQTT QOS". Il test delle prestazioni è complicato. Questa è la nostra azienda per 20 anni. Per i principianti, è necessario chiedersi ESATTAMENTE ciò che si sta testando. La prossima domanda è "dov'è il collo di bottiglia?". L'ultima cosa che vuoi è che il tuo banco di prova sia il collo di bottiglia. Per un suggerimento sui problemi vedi queste pagine: http://gambitcomm.blogspot.com/2017/09/how-to-right-size-your-iot-platform.html e http://gambitcomm.blogspot.com/ 2016/10/MQTT-prestazioni-metodologia-using.html –