Astuces – Optimisation MQTT

Logo MQTT
Logo MQTT

Un petit article rapide pour te donner une petite astuce afin d’optimiser MQTT pour Rhasspy. J’avais vu cette astuce sur le discord de snips donné par Psychokiller1888.

J’ai déjà rapidement évoqué le fonctionnement de MQTT dans cet article. C’est donc un moyen de discussion qui permet à des composants logiciels d’envoyer des messages et recevoir des messages sur ce qu’on appelle des “topics”.

Par défaut ces messages sont sauvegardés en attendant qu’un composant abonné au topic revienne à la vie si celui-ci est absent lors de la distribution du message.

Or dans le cadre de Rhasspy, cette fonctionnalité qui est appelée “persistence” ne nous intéresse pas du tout. En effet, soit le message est reçu au bon moment par le composant logiciel adéquat, soit c’est mort. Par exemple, si on demande l’heure, cela ne nous intéresse pas qu’il nous la donne 2 heures plus tard une fois qu’on a fini de corriger le problème. Bon, je simplifie mais l’esprit est là.

Et surtout, la persistance génère un fichier de type base de données qui peut être problématique dans certains cas.

Pour voir la taille du fichier existant :

ls -lsa /var/lib/mosquitto/mosquitto.db 

Par défaut, rhasspy a besoin de mosquitto comme prérequis et fait office de serveur MQTT. C’est dans le fichier de configuration de mosquitto que nous allons désactiver la persistance. C’est parti.

Modification de la configuration mosquitto (serveur MQTT)

dans un premier temps, on arrête mosquitto

sudo systemctl stop mosquitto

On ouvre avec nano le fichier de configuration mosquitto :

sudo nano /etc/mosquitto/mosquitto.conf

Voici le contenu par défaut :

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /var/run/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

Nous allons tout simplement changer la ligne

persistence true

par la ligne

persistence false

Un CTRL+O pour sauvegarder et un CTRL+X pour quitter nano. Ensuite, on redémarre le tout

sudo init 6

Et voilà ! Le tour est joué 🙂 Une petite optimisation MQTT facile à mettre en place.

A bientôt !

Ced

2 Comments

    • Hello Olivier

      J’ai installé un snips il y a quelques jours et la persistance est toujours à “true” dans mon cas.
      Je ne sais pas pourquoi nous avons 2 configs mosquitto différentes 🙂
      Si d’autres ont la réponse, je suis preneur !

      Ced

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.