Le test de charge au niveau système d'Airbnb est essentiel pour la fiabilité et l'efficacité, permettant d'identifier les goulots d'étranglement, d'évaluer les capacités, d'établir des lignes de base de performance et de détecter les erreurs. Impulse est un framework interne de test de charge en tant que service qui fournit des outils pour générer des charges synthétiques, de simuler les dépendances et de recueillir des environnements de production. Impulse comprend quatre composants principaux : un générateur de charge, un collecteur de trafic, un simulateur de dépendances et un générateur d'API de test. Le générateur de charge permet aux propriétaires de services de réaliser des tests de charge contextuels, en générant des demandes en direct et en simulant les dépendances. Le collecteur de trafic capture à la fois le trafic en amont et en aval, permettant à Impulse de répéter avec précision le trafic de production lors des tests de charge. Le simulateur de dépendances simule les réponses en aval avec une latence, éliminant les interférences entre les services et réduisant les coûts de communication. Le générateur d'API de test crée des API HTTP pendant la mise en production, permettant aux outils de test de charge d'envoyer du trafic vers ces API synthétiques, permettant ainsi d'exercer les flux asynchrones comme s'ils étaient synchrones. Impulse est conçu pour minimiser l'effort manuel, s'intégrer sans heurt à la pile d'observabilité d'Airbnb et permettre aux équipes de s'attaquer de manière proactive aux problèmes potentiels. Le framework a reçu des retours positifs, aidant les équipes à identifier et à résoudre les problèmes potentiels dans leurs services. Impulse est actuellement mis en œuvre dans plusieurs services de backend de soutien à la clientèle et est en cours d'examen avec les équipes à travers l'entreprise.
medium.com
Load Testing with Impulse at Airbnb
Create attached notes ...
