[watchers] Problème de performances d'axe sur les watchers avec beaucoup d'entités
Canopsis 3.21.0, en environnement Go.
J'ai un environnement où je dois utiliser des watchers, avec un nombre important d'alarmes et d'entités :
> db.default_entities.find().count()
65921
> db.periodical_alarm.find().count()
119118
j'ai aussi autour de 175 évènements par seconde en entrée dans les moteurs.
Les moteurs tournent avec les options suivantes :
/opt/canopsis/bin/engine-che -enrichContext -alwaysFlushEntities
/opt/canopsis/bin/engine-axe -autoRecomputeWatchers -printEventOnError
Tant que je n'utilise pas une version modifiée d'axe
que @lseguinot a faite :
/opt/canopsis/bin/engine-axe -version
build date : 2019-06-24T14:19:12+02:00
build commit: 4ef8978
build branch: 3.21.0-no-watchers
… le moteur axe
n'arrive pas du tout à absorber le trafic entrant, j'ai à peine 1 évènement par seconde avec le binaire axe
officiel.
Le problème semble donc être au niveau des requêtes liées aux watchers (que @lseguinot avait enlevées dans mon build).
Du coup, deux solutions :
- soit on peut corriger ces requêtes pour qu'elles ne soient plus un goulet d'étranglement ;
- soit on a besoin d'un flag « officiel » pour que le comportement propre à mon build puisse être accessible par défaut.