Rapport sur l'incident ayant affecté les performances

2020-02-17

La semaine dernière a été éprouvante. C'était une bonne semaine pour les cryptos et les activités de trading. Le prix du Bitcoin était en hausse, tout comme les volumes de trading. Mais pour un certain nombre de nos utilisateurs et pour nos ingénieurs, ce fut une semaine difficile. Nous avons eu quelques problèmes de performance, ce qui a eu un impact négatif sur l'accessibilité de notre plateforme. Comme toujours, nous estimons qu'il est important de maintenir la transparence en période difficile, et nous divulguerons ouvertement certains des problèmes que nous avons rencontrés.La différence entre le prix du BTC à 10 000 dollars cette fois-ci et les autres fois est qu'il y a beaucoup plus d'utilisateurs désormais. C'est un signe fort de reprise du marché des cryptos, mais cela alourdit aussi considérablement la charge de nos systèmes.Au cours des derniers jours, nous avons rencontré deux problèmes principaux :1. Messages de problème intermittents de l'interface utilisateur "Too many requests", "5xx internal error" et des erreurs de délai d'attente API. Cela est dû à la surcharge très rapide de notre service de couche intermédiaire. Chaque utilisateur affecté aura probablement répété ses tentatives, ce qui a encore augmenté la charge sur le système. Le problème a été résolu à court terme en augmentant les seuils de ressources. Cependant, cette approche a également ses limites. En raison de la nature complexe de ce module, il n'est pas bien adapté à une mise à l'échelle automatique. Une nouvelle instance prend quelques minutes à synchroniser l'instantané initial pour pouvoir traiter un trafic normal. D'autres efforts étaient déjà en cours pour résoudre ce problème, mais ils n'ont pas été achevés avant que l'énorme trafic ne nous frappe il y a quelques jours à peine. Cette instance est désormais prioritaire et sera entièrement déployée dans les prochains jours. Des optimisations sont également prévues du côté client afin d'améliorer le traitement des erreurs et de ne pas alourdir davantage la charge du système.2. Retards dans la mise à jour des données du marché, des ordres et des soldes. Nous avons également eu de nombreux problèmes avec nos intermédiaires de messages. L'un des sous-ensembles de gestion des messages, qui génère généralement plus de 2,5 GB de données par seconde, a soudainement réduit son débit par 100, entraînant la sauvegarde des messages, ce qui a entraîné des retards dans le carnet d'ordres et dans la mise à jour des soldes utilisateurs. Dans un autre cas, un cluster Kafka a planté avec des défaillances successives de plusieurs nœuds lors d'un pic de trafic. Son redémarrage a permis de résoudre le problème/les symptômes immédiats. Des améliorations à moyen terme sont en cours pour les diviser en rubriques distinctes qui seront traitées par plusieurs clusters kafka. On estime que cela augmentera la capacité de traitement de cette composante d'environ 10 fois et sera également mis en place cette semaine. Des solutions à plus long terme sont également en cours pour renforcer encore la capacité du système.Si l'on regarde de manière plus globale, nous avons déployé de nombreuses fonctionnalités au cours du marché baissier, alors que nous les avons testées à fond dans nos environnements de test, ils ne reflètent pas toujours les conditions réelles dans lesquelles nous avons des dizaines de millions d'utilisateurs dans le monde entier. Il y a eu des domaines où les performances ont été faussées, comme l'ajout d'un peu plus d'utilisation/de stress à un gestionnaire de messages existant ici et là, en pensant que nous disposions encore d'une marge de performance de 10 à 100 fois supérieure, alors qu'en réalité, nous sommes peut-être descendus à 3-5 fois. Et le marché augmente par pics importants, non pas 3 à 5 fois, mais facilement 10 fois et plus en termes de charge système.Sur une note positive, ce sont là autant de problèmes que nous pouvons résoudre. Notre architecture est solide, et nous avons l'une des meilleures et des plus compétentes équipes de ce secteur. Nous résoudrons ces problèmes rapidement, à court, moyen et long terme. Je ne pourrai pas garantir que tout se passera bien à compter de maintenant. Nous allons certainement rencontrer des problèmes à l'avenir également, nous sommes convaincus que nous les résoudrons rapidement.Au cours de notre courte histoire, Binance a rencontré de nombreux challenges, et nous les avons résolus. Binance n'est pas devenu un leader du secteur en se contentant de choses simples, nous sommes fiers de relever des défis difficiles et de protéger nos utilisateurs ce faisant.Si vous pensez avoir été injustement affecté par les problèmes qui se sont récemment produits sur Binance.com, veuillez soumettre un ticket d'assistance ici, avec le plus de détails possible, l'équipe l'examinera dès que possible.Nous croyons toujours que la transparence est le fondement du monde blockchain. Nous n'avons pas peur des défis et des difficultés ; plus important encore, nous avons le courage et la capacité d'être responsables. La protection des utilisateurs est notre valeur fondamentale. Tout en nous efforçant d'optimiser encore nos systèmes, nous continuerons à communiquer les informations de manière transparente.Je vous prie de nous excuser pour les désagréments causés, et sachez à quel point nous apprécions votre soutien. Comme toujours, je serai actif sur Twitter si vous souhaitez me contacter.- CZ, PDG @Binance