Mise en situation : le site rame aux heures de pointe

15 enquêtes tirées de vrais incidents : des symptômes chiffrés (CPU, latence, bande passante, erreurs), on trouve la cause, puis la solution typique. Au dos : pourquoi, l'autre solution possible et le piège à éviter. Load balancer, sessions, CDN, cache, files de messages, limitation de débit, pool de connexions.

  • 39 cartes
  • 3 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Serveurs et répartition
  2. Contenus et cache
  3. Requêtes et dépendances

Quelques cartes du deck

  • 20 h, le site met 8 secondes à répondre

    - Un seul serveur applicatif, CPU à 95 %
    - Base de données à 20 % de CPU
    - Le trafic a triplé en un mois

    Quelle est la cause la plus probable ?

    • La base de données sature en lecture
    • La connexion des visiteurs est trop lente
    • Le serveur applicatif unique est saturé en calcul
    • Le DNS met trop de temps à répondre
    Voir la réponse

    Le serveur applicatif unique est saturé en calcul

    Le CPU du serveur est au plafond alors que la base est presque au repos : c'est le serveur qui limite, pas les données.

  • 20 h, le site met 8 secondes à répondre

    Cause : le serveur applicatif unique est saturé en calcul.

    Quelle est la solution typique ?

    • Ajouter des index à la base
    • Ajouter des serveurs identiques et sans état derrière un load balancer
    • Allonger la durée de vie des entrées DNS
    • Passer le site en HTTP/2
    Voir la réponse

    Ajouter des serveurs identiques et sans état derrière un load balancer

    La montée en charge horizontale répartit les requêtes sur plusieurs machines et supprime le point de défaillance unique.

    Autre solution : Un serveur plus puissant (montée verticale) : rapide à faire, mais plafonné et toujours unique.

    Piège : Des sessions gardées dans la mémoire d'un serveur cassent dès qu'il y en a plusieurs : il faut des serveurs sans état.

  • Déconnectés au hasard depuis l'ajout de serveurs

    - Trois serveurs derrière un load balancer en tourniquet
    - Les utilisateurs perdent leur session une page sur trois
    - Aucune erreur côté serveur

    Quelle est la cause la plus probable ?

    • Les cookies sont bloqués par le navigateur
    • Les sessions sont stockées dans la mémoire de chaque serveur
    • Le load balancer perd des paquets
    • La base de données efface les comptes
    Voir la réponse

    Les sessions sont stockées dans la mémoire de chaque serveur

    Le tourniquet envoie la requête suivante sur un autre serveur, qui ne connaît pas la session créée sur le premier.