Augmentation des temps d'attente Docker gen2
- identified
Certains utilisateurs pourraient voir des temps d'attente accrus pour les emplois de gen2 Docker en raison de problèmes de capacité.
- identified
Nous ajoutons une capacité supplémentaire pour aider à atténuer le problème. Note: Nous voyons toujours des retards jusqu'à 20 minutes sur 2xlarge.
- identified
Les temps d'attente pour les 2xlarge docker emplois se rétablissent. Nous continuerons à nous mettre à jour au fur et à mesure que la capacité sera en ligne.
- identified
Les temps d'attente pour les travaux de 2xlarge docker sont maintenant inférieurs à 60 secondes. Les temps d'attente pour d'autres tailles de ressources n'ont pas été touchés par cet incident et demeurent inférieurs à 10 secondes.
- monitoring
Nous avons assisté à une reprise complète des temps d'attente pour les emplois de docker.
- resolved
Temps d'attente pour les emplois de gen2 Docker ont récupéré et les emplois fonctionnent dans les temps d'attente normaux.
- postmortem
Résumé De 15:44 à 20:55 UTC le 21 Octobre, les clients exécutant les emplois de Gen 2 Docker ont vu des temps d'attente accrus pour leurs emplois pour commencer. Les retards étaient plus longs dans la classe de ressources 2xlarge, où les emplois attendaient jusqu'à 20 minutes. L'incident a été causé par la disponibilité limitée des instances cloud que nous avions configurées pour répondre à la demande, en particulier pour 2xgrands emplois. En réponse, notre équipe d'ingénierie a configuré d'autres types d'instances, configuré d'autres groupes de Docker Gen 2. À 20h55 UTC, les temps d'attente sont revenus à la normale et l'incident a été résolu. Après la résolution de l'incident, nous avons étendu notre flotte de Ge 2 Docker à d'autres régions nuageuses, et nous continuons de nous tenir activement debout à d'autres régions nuageuses afin de prévenir des incidents semblables à l'avenir. La page d'état originale se trouve ici : [21 octobre - Augmentation des temps d'attente de Docker gen2] (https://status.circleci.com/incidents/5jb50gh55gtj). Historique Lorsque CircleCI exécute un travail Docker, nous l'échelonnons sur l'un des plusieurs groupes d'instances cloud, et chaque instance est capable d'exécuter plusieurs tâches isolées. Planifier un travail sur une instance de cloud est un classique (https://en.wikipedia.org/wiki/Bin packing problem): trouver la capacité disponible qui correspond à la classe de ressources demandée CPU, mémoire et stockage. Les classes de ressources plus grandes comme 2xlarge sont plus difficiles à adapter que les plus petites, qui se rassemblent plus étroitement. Nous fournissons des instances en nuage en utilisant une liste classée de types d'instance. Si le fournisseur de cloud ne peut pas fournir notre premier choix, nous revenons au type suivant de la liste. Nous maintenons également une taille minimale de la flotte: un nombre minimum d'instances restent en cours, de sorte que nous n'abandonnons pas la capacité lorsque la demande est faible. Au-delà de cette taille minimale, nous ajoutons des exemples à mesure que la demande augmente. Quand il y a une capacité insuffisante pour exécuter une charge de travail, nous faisons la file d'attente qui fonctionne jusqu'à ce que la capacité soit disponible. Ce qui s'est passé \(Toutes les heures UTC\) À partir de 15h44, le 21 octobre, la demande pour la classe de ressources Gén. 2xlarge a fortement augmenté, et nous n'avons pas fourni de capacité supplémentaire assez rapidement pour suivre. Notre équipe d'ingénieurs a commencé à enquêter. Vers 19h25, les temps d'attente pour la classe de ressources Gen 2 2xlarge avaient atteint 20 minutes, et les temps d'attente pour d'autres classes de ressources avaient également augmenté. Dès 19h56, notre équipe d'ingénierie avait configuré des types d'instance supplémentaires à la flotte de Gen 2 afin d'obtenir plus de capacité en ligne, et à 19h59, nous dispensions ces types d'instance. À 20h11, nous avons ajouté plusieurs clusters de Gen 2 supplémentaires et augmenté la taille minimale de la flotte sur ces clusters. À 20h35, le nombre d'emplois en attente est revenu à des niveaux normaux, et à 20h41, 95 % des emplois de 2xlarge débutaient en 4 secondes. Nous avons résolu l'incident à 20 h 55. Après avoir résolu cet incident, nous avons ajouté des régions nuageuses supplémentaires pour les emplois de Docker afin de rendre plus de capacité disponible. ## Prévention future et amélioration des processus Nous avons déjà pris les mesures suivantes pour améliorer les temps de démarrage de l'emploi, y compris l'approvisionnement en capacités à partir de plus d'endroits, la réservation de plus de capacités pour de grandes classes de ressources et la mise en place d'un approvisionnement plus rapide. **Nous avons ajouté des régions supplémentaires pour les emplois de Docker.** Nous avons récemment ajouté des régions nuageuses supplémentaires pour les emplois de Machine, et nous avons maintenant fait de même pour les emplois de Docker. **Nous continuerons activement à ajouter des régions nuageuses supplémentaires pour les emplois de Docker et de Machine**. **Nous avons ajouté d'autres grappes de Gen 2**. Nous avons configuré plusieurs clusters Gen 2 supplémentaires pour planifier les travaux plus rapidement et pour rendre plus disponible la capacité totale. **Nous avons élargi l'ensemble des types d'instances en nuage que nous utilisons et avons augmenté la taille de notre flotte minimale.** Nous avons configuré des types d'instance supplémentaires. Nous avons également augmenté la taille minimale de la flotte du groupe 2 pour répondre à la demande de référence actuelle. **Nous avons modifié notre calendrier d'emploi afin de prioriser le calendrier des grandes classes de ressources.** Nous avons modifié la façon dont nous planifions les emplois afin d'équilibrer les temps d'attente plus équitablement entre les classes de ressources, et pour les travaux de bin-pack plus efficacement sur les instances disponibles. Conclusion L'expérience client est notre priorité, et nous nous engageons à améliorer continuellement la fiabilité de nos systèmes pour correspondre à la confiance que nos clients nous accordent. Nous remercions nos clients pour leur patience pendant que notre équipe a travaillé à résoudre cet incident. Veuillez contacter notre équipe de soutien pour toute question ou préoccupation.
Traduit automatiquement depuis la mise à jour officielle de l'incident.