Comment préparer un site pour la croissance de la charge



Seuls les paresseux n'ont pas obtenu son expertise de l'étagère lointaine et n'ont pas prédit la vie "en ligne" - aussi forcée que le régime de l'auto-isolement. Mais le trafic, en effet, a déjà commencé à augmenter, et compte tenu des «vacances», les ressources offrant la livraison de marchandises, les services d'éducation en ligne, et surtout le divertissement en ligne, ne sont peut-être pas prêtes pour le flux de visiteurs dans la nouvelle réalité avant la fin avril.

Sur la base de nos 12 années d'expérience dans le support technique de projets Web et l'administration de serveurs à distance, nous avons préparé une sorte de «manuel de formation»: ce qui vaut la peine d'être vérifié et ce dont vous devez vous occuper si vous voulez être sûr que votre site fera face à n'importe quelle charge. Enfin, presque n'importe qui.

Voici donc 10 points essentiels à la vie active de votre projet web dans les prochains jours et semaines:

1) Surveillez votre infrastructure

Tout d'abord, vous devez savoir ce qui se passe avec votre site. Si vous savez comment manipuler Prometheus / Grafana, utilisez-les. Mais s'il n'y a aucune expérience d'interaction avec eux, ce n'est pas un problème: vous pouvez utiliser n'importe quel service comme datadog - vous pouvez l'installer le plus rapidement possible. Toujours compliqué? - Faites attention à Pingdom ou Site24x7: ce ne sont pas des services de surveillance à part entière, mais ils conviennent au moins pour être sûr que votre site est accessible et pour savoir quand il est sur le point de tomber.

N'oubliez pas: vous ne pouvez contrôler que ce que vous pouvez mesurer. Après tout, si vous ne savez pas ce qui se passe à l'intérieur de votre système, et surtout où cela se produit, vous ne pourrez pas le réparer si quelque chose se casse là-bas.

Il existe de nombreuses options pour ce qui pourrait mal tourner lorsque le trafic s'accumule:

  • .
  • .
  • \.
  • \\.

2) Préparez-vous à la mise à l'échelle

Une fois que vous voyez que vous avez atteint 80% de la limite de ressources, vous devez commencer immédiatement la mise à l'échelle. Parce que si vous attendez à 100%, le site tombera. Et vous aurez besoin de temps pour restaurer le projet. Sans oublier que tout cela est assez nerveux ...

vous devez agir rapidement, sinon vous perdrez des visiteurs et vous ferez peut-être encore plus d’erreurs en mode «chef, tout est perdu, brûlez». Par conséquent, lorsque vous atteignez la barre des 80% de la limite de ressources, augmentez l'échelle pour passer à 40%.
Répétez si nécessaire (c)

3) N'oubliez pas de surveiller les performances du disque dur et la bande passante du canal

Il est beaucoup plus difficile de comprendre ce qui se passe lorsque le système est «stupide» en raison d'une charge de disque élevée ou de limitations de bande passante.

4) Surveillez les performances de vos bases de données,

surtout si vous utilisez des bases de données cloud. RDS, Cloud SQL, MongoDB Atlas et d'autres services sont gérés à l'aide de technologies cloud, mais ils ont leurs propres limites et doivent être surveillés pour évoluer dans le temps.

5) Lorsque votre base de données crée une charge importante sur le CPU - vérifiez l'utilisation des index, cela aide vraiment

L'introduction de l'indexation réduit considérablement la charge du processeur. Supposons que le CPU de votre base de données soit utilisé à 90%. Vous voudrez probablement réduire de moitié pour gérer la double charge. Mais si la plupart de vos requêtes ne sont pas indexées, l'introduction de l'indexation peut réduire la charge CPU de 10 fois. L'analyse de l'utilisation des index en vaut la chandelle!

6) Gardez un œil sur les comptes des services des fournisseurs de cloud

Il est facile de l'oublier lorsque vous avez des problèmes de temps. Par conséquent, définissez des alertes sur votre système de facturation afin de recevoir des notifications de dépassements de coûts possibles. La largeur du canal est ce qui est particulièrement coûteux. S'il n'est pas possible de transférer du contenu vers CDN ou vers des sociétés d'hébergement qui fournissent de gros volumes de trafic à moindre coût, comme like100tb.com ou leaseweb, préparez-vous à des coûts élevés.

7) Évitez l'état dans votre application

Malgré le fait qu'il soit possible de faire évoluer les ressources du processeur ou de la RAM dans le cloud, il y a encore des limites qui ne peuvent pas être franchies. De ce point de vue, si vous souhaitez évoluer horizontalement, en ajoutant de nouvelles instances de la même application, elle doit être prête pour un tel développement d'événements. Et lorsque vous disposez de plusieurs instances de la même application, les demandes des utilisateurs seront réparties sur plusieurs serveurs et, par conséquent, vous ne pourrez pas stocker de données sur un disque local.

8) Envisagez de passer au cloud si le site est sur un hébergement dédié

Dans cette situation, vous ne pouvez pas facilement évoluer: l'ajout de serveurs prendra un certain temps - il faudra de quelques heures à quelques jours pour obtenir de nouveaux serveurs disponibles. De plus, vous payez généralement sur une base mensuelle et non horaire. En général, vous ne voulez évidemment pas attendre des heures, voire des jours, si votre site "ment". Il est beaucoup plus facile d'évoluer dans le cloud.

9) "Resserrer" l'infrastructure

Il y a plusieurs choses de base qui sont désactivées par défaut, et elles doivent être optimisées - au niveau du système d'exploitation, du réseau, du gestionnaire d'application et de l'application elle-même. Et cela peut réduire considérablement la consommation de ressources. Recherchez la configuration de votre pile technologique sur Google et suivez les instructions de base.

10) Préparez-vous à lancer la version en cache

Malgré tous vos efforts, avec un trafic multiplié par cent, vous vous «allongerez». Il faut du temps pour évoluer. Alors préparez-vous à utiliser la version en cache statique. Pour cela, le cache Cloudfront / Cloudflare, votre cache CDN, le cache nginx ou tout autre est utile. Assurez-vous simplement d'en avoir l'opportunité si vous en avez besoin.

All Articles