Nouveau Featuring Google : les serveurs tombent

Il y a quelques jours mon jeu « Draw Your Game » a été de nouveau Feature par Google.

Il s’agit d’un featuring monde.
Contrairement à la première fois, je suis dans la catégorie « Jeux » et plus « Divertissements ».

Comme d’habitude, ça commence un jeudi après-midi.
J’étais habitué à voir à peut près 500 personnes en simultanés sur mon jeu. Ca commence à monter dès 18h : 800 utilisateurs.

Je suis plutôt content 🙂

Je surveille les chiffres toutes les heures et samedi matin, ça monte de plus en plus : 900, 1000, 1300, 1500
Les commentaires que je reçois font état d’un délai très long de téléchargement.
Je ne comprends pas trop, mon serveur (Google Cloud) est toujours opérationnel.

Il est 14h, sur Google Analytics, je surveille les code d’erreur et d’un coup, tout le monde reçoit des erreurs 502… !
Je teste le jeu… Les niveaux ne se charge plus.

Je commence à paniquer et recherche ce qui peut poser problème. Finalement, je comprends le soucis (merci Paul), le serveur qui contient la base de donnée est surchargé : 100% de CPU utilisé :

mongo2

Ce qui ralenti énormément le délai de réponse :

mongo3

Il faut plus de 45 sec en moyenne pour répondre à chaque appel réseau…

Je commence à recevoir des mauvaise notes à la chaine et ça ne s’arrête plus… Je reçois des mails d’insultes…

Je suis complètement perdu et je ne sais plus trop quoi faire…
J’appelle un ami qui ne peut pas bcp m’aider.

Le temps passe, il est bientôt 16h.

Je décide de demander de l’aide à Google, mais il faut que je souscrive à une offre supérieure pour avoir droit à une assistance… Bon, c’est pas grave, je paye les 150€ requis et j’envoi un tickets d’assistance en urgence à Google.

Au bout de 30 min, un technicien répond à ma demande en expliquant que je peux basculer sur une machine plus puissante.
Sur la machine en question, il faut que je :

  • Déconnecte le disque dur.
  • Supprime la machine virtuelle.
  • Ajoute une nouvelle machine virtuelle en renseignant exactement les mêmes paramètres
  • Reconnecte le disque dur.

S’en suis un moment de panique assez long… Je ne sais pas vraiment comment ça marche et j’hésite vraiment à suivre son conseil. Je risque pas de tout perdre ? 3 ans de travail, c’est pas rien ! Ma souris passe sur le bouton au moins 10 fois avant que j’ose enfin me lancer…
Perdu pour perdu, faut que j’agisse !

A 17h, je sélectionne la machine virtuelle surchargée, je déconnecte son disque puis je la supprime…
J’en ai des sueurs froides, ça ne m’est jamais arrivé.

Les mails d’insultes continuent de poper sur mon écran…

Je choisie une nouvelle machine 2 fois plus puissante, je rempli les 50 paramètres nécessaires et je lui réaffecte le disque dur.
Je clique sur RESTART.

… rien.
Une minute passe et je suis figé devant mon écran.

ça ne marche pas ! merde !

Je regarde ce qui peut poser problème et je constate un truc qui me met dans un état encore pire que tout à l’heure : « Base de donnée manquante : disque 2 non trouvé » !
Il y avait 2 disques à déconnecter ! J’ai bien gardé le disque de boot de 10Go, mais je viens de supprimer le disque Datas de 200 Go qui contient l’ensemble de mes joueurs et leurs niveaux.

Je me lève et je ne sais rien faire d’autre que de me mettre la tête dans un coussin pour crier.

Comme un zombi, je retourne devant mon PC et je créé un nouveau ticket pour Google.
Je leur explique que j’ai fais le con et que je viens de perdre 3 ans de travail en 1 clic !
Je demande si un gars peut m’aider car là, j’ai vraiment besoin d’aide…

Comme je suis survolté, je ne peux pas rester à rien faire, je commence à fouiller pour voir si y’a pas un backup quelque part.
Je tombe sur le serveur 2 de secours qui est sensé prendre la main lorsque le 1 tombe en panne.
Je regarde ses paramètres et il contient un disque Datas de 200 Go !!!

Bon, bah, c’est sûr que ça va pas marcher, mais j’essaye de faire une copie du disque Data du serveur 2 et je crée un nouveau disque sur le serveur 1 à partir de cette copie.

Je redémarre le serveur 1.

… l’application se lance et au bout de quelques minutes, ça semble être opérationnel !?

Je lance mon jeu … et ça marche !!!
J’en reviens pas, j’en ai les larmes aux yeux 🙂

Le nombre d’utilisateurs monte d’un seul coup à 2000…

Il est 18h : j’ai le sourire, ça à l’air de tenir.

Puis 2500, puis 3000… Le serveur passe à 90% d’utilisation

dyg

3300 utilisateurs => Le serveur tombe de nouveau à 19h !

Damn !

Je respire un grand coup et je me reconnecte sur l’interface d’admin.
Cette fois, je choisi le plus gros serveur disponible.

Je n’oublie pas de sauvegarder les 2 disques durs.

Et je redémarre…. ça fonctionne du premier coup ! (C’est plus facile quand tu sais quoi faire…)

C’est bon, il commence à être tard et le nombre d’utilisateurs commence à baisser. (les utilisateurs Russes vont se coucher)

Le nombre de mail d’insulte diminue petit à petit à partir de 21h.

Ma note en a pris un coup et je suis passé sous les 4 étoiles…

rating

Au final, il y aura eu près de 150.000 utilisateurs sur la journée.

Une journée éprouvante, il me reste maintenant à vérifier les 5000 dessins publiés.
Il est presque minuit, je crois que je n’ai pas mangé… Je ne sais plus…

Je vais dormir, il faut faire gaffe à demain, il y aura sans doute encore plus d’utilisateurs le dimanche !

Des fois, c’est pas simple d’être développeur indépendant seul…

* * *

Quelques jours plus tard, mon jeu passe devant Minecraft… 😮
Ça vaut le coup de s’accrocher !

screenshot_20161116-120412

2 thoughts on “Nouveau Featuring Google : les serveurs tombent

  1. Wow, presque je pensais que j’avais perdu tout mon travaill et en plus je ne savais pas que c’etait autant de travail. Je te remercie pou ce super jeux.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *