preloader

Xbus 3.3 : optimisation des performances

author image

Nous sommes heureux de vous annoncer que la version 3.3 de Xbus sera bientôt disponible ! Les principales améliorations portent sur les performances de la solution d’interconnexion.

Nouveau système de stockage

Les performances du bus de données seront optimisées, notamment grâce à la mise au point d’un nouveau système de stockage des enveloppes. Le nouveau système de stockage améliorera à la fois les performances d’écriture (jusqu’à 50%) et de lecture (jusqu’à 66%) des enveloppes. Une fonctionnalité de mesure de la durée des opérations de stockage sera également intégrée au bus de données. Pour que la durée du stockage d’enveloppes soit automatiquement mesurée, il suffira d’activer les métriques sur un xbusd.

Dans le cas d’un changement d’espace de stockage, les anciennes enveloppes seront conservées dans l’ancien espace, qui devra être configuré comme stockage de secours (“fallback”). Les nouvelles enveloppes seront quant à elles stockées dans le nouvel espace de stockage. Si l’une des enveloppes demandées est introuvable dans le nouvel espace de stockage, l’ancien se chargera de la fournir.

Mise en œuvre d’un cache

Les performances de Xbus seront également optimisées grâce à la mise en œuvre d’un cache au niveau du stockage des enveloppes. Les données seront ainsi temporairement sauvegardées dans ce cache, ce qui augmentera considérablement les performances à la lecture et à l’écriture. Ce système de cache augmentera les performances d’environ 50% sur un cycle typique d’écriture d’une petite enveloppe suivi de plusieurs lectures. Les performances à la lecture seule d’une petite enveloppe seront améliorées de 76%. Les performances à la lecture d’une enveloppe volumineuse seront optimisées de 96%.

Nouvelles options de xbusd

– –storage.envelope.cache.enabled : pour activer le cache sur le stockage des enveloppes

– –storage.envelope.cache.max-size int : pour définir la taille maximale du cache sur le stockage des enveloppes (par défaut : 1073741824 Gio)

– –storage.envelope.fallback string : pour définir un ancien espace comme stockage de secours. Il pourra être de type ‘sql’ ou ‘sql-ng’. Le stockage de secours sera sollicité si une enveloppe est introuvable dans le nouvel espace de stockage. Le stockage de secours sera en lecture seule sauf pour les purges.

– –storage.envelope.impl string : pour mettre en œuvre un espace de stockage d’enveloppes. Il pourra être de type ‘sql’ ou ‘sql-ng’ (par défaut : “sql”)

Voici une configuration typique de xbusd pour mettre en œuvre un nouveau stockage en définissant l’ancien comme “fallback” et activer un cache de 1Gio :

Configuration d’un nouveau stockage

Où en sommes nous ?

La première release candidate portant sur la mise en oeuvre du nouveau système de stockage et du cache a été publiée.

Nous venons de mettre au point la deuxième release candidate de Xbus 3.3.0 !

Cette version inclut de nouvelles fonctionnalités et apporte des améliorations :

  • Amélioration du pipeline matching : ajout du matching par acteur seulement et personnalisation des priorités
  • Ajout de configurations pour http.webhook : ‘payload-type’ et ‘headers’.

Les notes de version sont disponibles ici

Pour cette nouvelle version Xbus 3.3, la priorité a été donnée à l’optimisation des performances au niveau du stockage des enveloppes. L’amélioration du système de stockage ainsi que l’ajout d’un cache réduisent considérablement le temps des opérations qui peut désormais être mesuré avec précision.

Recent Articles

Comment pouvons-nous vous aider ?

Nous contacter