Comment se ruiner dans la petite lucarne
Champagne ! Comment se ruiner est passé sur France 2 ... Trois fois !Comment ? pourquoi ? Nous avons simplement informé Laura du web de l'existence du site, elle a aimé le concept et en a parlé dans sa chronique web qui passe sur Télématin.
Les 3 émissions sont disponibles sur youtube :
La première, spéciale Comment se ruiner
La seconde, pour la fête des mères, avec la présentation de pas mal d'articles très bien sélectionnés
Et enfin la troisième, avec notamment la phrase de Laura :
"Ah mais oui ça c'est mon site fétiche, c'est CommentSeRuiner.com"
Nous tenons à remercier une fois de plus Laura pour ces présentations.
Afflux massif de visiteurs et conséquences
La télé ça marche bien, même très bien ! Lors de ces différentes émissions, de nombreuses personnes se sont connectées sur le site simultanément, ce qui a provoqué une surcharge du serveur et des gros ralentissements pour les visiteurs (nous tenons d'ailleurs à nous excuser pour la gène si vous étiez sur le site à ce moment).![]() |
| Nos 3 passages télé en images et en stats |
Action ... Réaction !
Pourquoi ces gros ralentissements ? Nous n'étions tout simplement pas prêt à recevoir autant de trafic si tôt. Le site compte maintenant de nombreux articles, donc de nombreuses images. Les requêtes à notre base de données sont aussi plus lourdes. Quand on multiplie tout ça par plusieurs milliers et qu'on demande à un seul ordinateur de s'occuper de servir tout le monde, il râle et met beaucoup plus de temps pour répondre.Nous avons donc entrepris plusieurs actions afin de garder le même serveur mais de lui faciliter le travail. Je préfère vous avertir, ce qui suit sera un peu plus technique. Pour les gens qui s'en foutent et je les comprends totalement, vous pouvez tout de suite sauter à la conclusion de l'article ;).
Mise en place d'un cache "middle office"
Un cache sert à stocker ce qui a déjà été fait. Par exemple on demande la liste des objets les plus récents : il faut interroger la base de données, puis traiter les résultats. Au lieu de le faire pour chaque visiteurs, on le fait une fois puis on enregistre le résultat dans un coin. On ressortira ce résultat enregistré pour les prochains visiteurs, ce qui évitera d’embêter la base de données en lui posant toujours les mêmes questions.Ce cache sert donc à alléger le travail de la base de données et des traitements des objets.
Mise en place d'un cache "front"
Même principe, mais cette fois on met en cache les différentes pages du site.Pourquoi mettre en cache les pages ? Tout simplement parce les pages sont générées dynamiquement quand vous vous rendez sur le site. En effet il n'y a pas une page par objet mais une page pour tous les objets. Cette page est générée en fonction de l'objet choisi.
Au lieu de passer du temps à générer la page à chaque fois, on le fait une fois pour le premier, et les autres ont le droit à une version enregistrée.
Optimisation du cache au niveau navigateur client
La c'est un peu différent et ça se passe chez vous ! Votre navigateur possède aussi un cache. Lorsque vous allez sur un site les images ainsi que d'autres ressources sont stockées sur votre ordinateur. La prochaine fois que vous irez sur ce site vous n'aurez pas besoin de re-télécharger ces images et le chargement se fera beaucoup plus vite.Ce mécanisme est automatique mais nous pouvons l'optimiser en disant quelles ressources doivent être cachées, c'est ce que nous avons fait.
Chargement des images en lazy-loading
Autre nouveauté de taille : le lazy-loading des images. En français : chargement paresseux, mais je préfère "chargement différé des images". Avant, lorsque vous arriviez sur une page, toutes les images étaient chargées d'un coup, ce qui pouvait prendre un certain temps et entrainait beaucoup de travail pour le serveur.Maintenant, seules les images qui apparaissent sur votre écran sont chargées. Lorsque vous descendez dans la page, les images se chargent au fur et à mesure (très rapidement, vous devez à peine les voir apparaitre quand vous défilez vite).
Bref, la page s'affiche plus vite de votre côté et la charge est mieux répartie de notre côté : tout le monde est content, vive le lazy-loading ! On devrait instaurer le lazy-working, je ne sais pas si ça marcherait aussi bien ;)
Diverses optimisations de la vitesse globale
Pas besoin de s'attarder ici. Quelques optimisations dans le code, la compression de certaines ressources etc ...Conclusion : l'adolescence c'est pas facile
Le site est en pleine puberté ? Il se cherche encore, est en train de muer et il lui arrive de dérailler. C'est une phase incontournable de la vie et nous mettons tout en œuvre pour lui faciliter cette période délicate ;)Si vous avez des conseils pour nous accompagner dans cette phase, n'hésitez pas les commentaires sont là pour ça !
Merci de m'avoir lu, à bientôt sur Comment se ruiner et sur notre blog !
Vincent pour Trineuts

