Expérimentation
Rééquilibrage automatique des poids
La répartition réellement réalisée est mesurée et corrigée selon un calendrier, si bien que le trafic reçu par chaque variante converge vers ce que vous avez demandé.
L’affectation aléatoire ne produit pas une répartition parfaitement égale, et les petits écarts s’accumulent. Le rééquilibrage mesure ce que chaque variante a réellement reçu et pousse les poids configurés dans l’autre sens, si bien que la répartition cumulée converge vers celle que vous avez configurée au lieu de s’en écarter.
La tâche tourne toutes les quinze minutes sur les tests en cours. Elle lit le nombre de sessions par variante, calcule une correction, écrit les nouveaux poids, et modifie sur place le fichier runtime généré plutôt que de le reconstruire, car un rééquilibrage ne change que quelques entiers.
Deux garde-fous l’empêchent de faire du tort. En dessous d’un nombre minimal de sessions, rien n’est ajusté, car à faible volume l’écart à corriger n’est que du bruit. Un test dont une variante est déployée est ignoré entièrement : un déploiement signifie que le test est conclu et que sa répartition n’est plus une question de mesure.
Tout ce qu’il fait est journalisé par test, si bien qu’une répartition qui paraît surprenante peut être retracée jusqu’aux passages qui l’ont produite.