Betfair ne plaisante pas avec la performance de base de données

Betfair ne plaisante pas avec la performance de base de données

Betfair est le premier site de paris en ligne au monde, un concept dont il est le pionnier. Grâce à une technologie de pointe, Betfair permet aux clients de choisir leurs propres cotes et de parier les uns contre les autres, même lorsqu'un événement est déjà commencé. Betfair traite 7 millions de transactions par jour et 99,9 % d'entre elles sont exécutées en moins d'une seconde.

Défi : un haut niveau de détail est nécessaire pour intercepter les erreurs éphémères

« L'amélioration de la visibilité sur les problèmes de performance de très courte durée était essentielle pour Betfair. Par le passé, nous avons constaté des problèmes de performance en production qui n'affectaient nos clients pas plus de 15 secondes, puis qui disparaissaient. Mais ils revenaient toujours parce que nous n'étions pas capables d'en connaître la cause ni de savoir comment les résoudre », déclare Nigel Noble, administrateur de performance sénior chez Betfair. « Un problème qui ne dure que 15 secondes peut ne pas sembler si grave, mais s'il arrive au mauvais moment, il peut affecter considérablement nos clients et l'entreprise. »

« Au fil des années, nous avons étudié différents outils de suivi de base de données mais, à chaque fois, nous avons été déçus de constater que la meilleure granularité qu'ils pourraient apporter à notre environnement de production chargé ne correspondait qu'à une tranche de 15 minutes », nous dit M. Noble. Ces solutions passaient complètement à côté des informations dont Betfair avait besoin et « nous rendaient aveugles », ajoute M. Noble.
M. Noble et son équipe se sont lancés à la recherche d'un outil de suivi de base de données qui pourrait leur apporter quatre avantages clés : « Premièrement, il devait être en mesure de nous offrir un très haut niveau de détail afin de pouvoir capturer les problèmes de performance de très courte durée. Deuxièmement, il devait être capable de suivre nos très gros volumes de transactions sur différentes plates-formes Oracle, sans surcharge supplémentaire importante. Troisièmement, il devait offrir une très bonne performance de profilage pendant les essais de charge, nous permettant ainsi d'identifier rapidement et facilement les goulots d'étranglement et de comparer les différences entre plusieurs essais. Et quatrièmement, il devait non seulement prendre en charge Oracle, mais également SQL Server et MySQL. »

« La réactivité d'AppDynamics face à nos interrogations et à nos demandes d'amélioration est tout simplement exceptionnelle. »

Une visibilité complète et une faible surcharge grâce au suivi de base de données AppDynamics

« La dernière chose que vous voulez lorsque vous essayez d'améliorer la performance de votre base de données est une surcharge importante liée à votre outil de surveillance des performances, notamment lors de sa mise en œuvre en production ou sur des serveurs d'essais de charge ultra-sollicités », déclare M. Noble. « C'est pour cette raison que nous avons rigoureusement testé l'outil de surveillance de bases de données AppDynamics. » Pour obtenir le haut niveau de détail de performance dont Betfair avait besoin, la tranche de surveillance d'AppDynamics a été progressivement amenée à 10 secondes. « Même en capturant des informations au niveau de détail le plus fin, la surcharge totale ne dépassera jamais 1 % des ressources du processeur », précise M. Noble. « Cette surcharge, bien inférieure aux limites acceptables, nous a permis de déployer AppDynamics sur nos serveurs Oracle les plus chargés, qui figurent parmi les plus fréquentés au monde », ajoute M. Noble. La surveillance de bases de données AppDynamics est utilisée à toutes les étapes du développement applicatif ainsi qu'en production sur Betfair, permettant ainsi à tous de communiquer en interne sur les problèmes de performance de base de données.

« Le principal atout d'AppDynamics en production est le temps qu'il nous permet de gagner dans la recherche des problèmes de performance. Ainsi, nous résolvons plus rapidement les problèmes et nos clients restent satisfaits. Il nous a également permis d'automatiser l'optimisation de la performance et de ne plus vérifier manuellement les données de différents outils. »

AppDynamics s'est révélé être un pari gagnant. De nouvelles versions logicielles plus rapidement grâce aux essais de charge

« En quatre ans, l'utilisation de Betfair par les clients a presque doublée et le site doit désormais traiter plus de 25 000 vues de pages dynamiques par seconde », déclare Oliver Cook, responsable des services d'ingénierie chez Betfair. « Nous devons impérativement et rigoureusement tester la charge de toutes nos applications avant leur publication car, si nous nous trompons, même le changement le plus anodin peut affecter considérablement l'expérience du client. » « AppDynamics nous a permis de réduire considérablement le temps nécessaire à l'identification et à la résolution des problèmes de performance lors des essais de charge pendant les phases de développement et de pré-production. Le résultat est tel que nous pouvons proposer de nouvelles fonctionnalités plus rapidement, sans affecter la qualité », ajoute M. Cook.

« En quelques mois seulement, nous sommes devenus totalement accros à AppDynamics ! Sa simplicité d'installation nous a permis de déployer rapidement le produit, et parce qu'il est si intuitif et facile à utiliser, nos collègues n'ont rencontré aucune difficulté à l'adopter ».

Gain de temps grâce à des comparaisons de bases de données intuitives

Comparer les charges de deux bases de données dans un environnement changeant peut être compliqué. Ceci est plus particulièrement vrai dans un environnement d'essai de charge où de nombreux scénarios de performance et d'évolutivité différents sont évalués. Être capable d'identifier rapidement les différences entre les scénarios est essentiel, et l'équipe d'ingénierie de base de données de Betfair a constaté que la solution de surveillance de bases de données AppDynamics excellait dans ce domaine. Son rapport de comparaison d'essais de charge montre immédiatement les changements positifs ou négatifs de performance, permettant ainsi à Betfair de gagner du temps d'analyse précieux. Betfair a également constaté que les rapports de comparaison ne se limitaient pas aux essais de charge mais qu'ils permettaient également de simplifier la tâche de comparaison de deux scénarios. Par exemple, l'équipe Betfair a commencé à utiliser cette fonctionnalité pour comparer une charge de QA avec la production, deux nœuds d'un cluster ou la performance avant et après un changement de production comme l'ajout d'un nouvel index.