Grosse consommation CPU et RAM sur un broker très bavard

Salut,

Je viens d’expérimenter un gros crash de ma VM Jeedom.

Il s’avère que j’ai un broker MQTT (conteneur Docker ailleurs) assez bavard avec pas mal d’équipements : z2m mais aussi du Victron, Frigate, …

Pour Jeedom je n’ai - pour l’instant - besoin que de z2m mais j’ai l’impression que le plugin réalise tout de même tout un tas d’actions même pour des topics pour lesquels il n’y a aucun autre plugin pour les traiter.

J’ai remarqué rapidement une grosse conso CPU et RAM, beaucoup de sessions ouvertes sur la base de donnés (MariaDB 11.8.2 en cluster Galera ailleurs).

En debug j’ai vu énormément de logs « Message reçu sans prise en charge par un plugin ».

En cherchant ce bout de texte je suis tombé sur la méthode handleMqttMessage de la class core du plugin.

Je viens de commenter toute cette méthode et désormais tout fonctionne sans problème, je n’ai pas beaucoup plus de temps pour regarder ce qui est fait exactement mais il semble que cette portion de code vient manger CPU et RAM sur un broker MQTT très bavard :thinking:

Est-il possible au niveau du plugin de paramétrer plus finement pour n’écouter que les topics des plugins abonnés :thinking:

Le reste devrait être purement ignoré non ?

Debian : 11.11
Jeedom : 4.4.19
mqtt2 : 2025-05-17 01:20:31

Salut, j’ai pris un peu de temps pour analyser plus ce sujet.

En fait le problème vient de Frigate qui est extrêmement bavard avec des messages assez volumineux contenant entre autre des images.

Pour l’instant j’ai exclu le topic Frigate à coup de :

&& $topic != 'frigate'

J’ai viré tous mes topics frigate pour l’instant et ça va beaucoup mieux avec le plugin sans modifications.

J’ai remarqué un soucis avec Frigate sur le comptage d’objets. Je vais creuser ça et voir d’où ça peut venir :eyes: