Il existe deux stratégies générales pour faire face aux pics de trafic: augmenter la capacité et réduire les coûts.
L'augmentation de la capacité signifie une mise à l'échelle automatique, dont tout le monde était très excité lorsque les clouds publics sont devenus disponibles. Dans son sens le plus élémentaire, cela démarrera plus de serveurs Web pour vous en fonction de la charge et les ajoutera à un équilibreur de charge, mais comme cela peut être difficile à gérer, il existe également des solutions plus automatisées, comme Elastic Beanstalk.
Le problème avec l'extension de capacité automatisée est que son extension de facture est également automatisée - 10x trafic normal signifie 10x serveurs signifie 10x argent que vous devez payer. C'est pourquoi, même si c'est une stratégie utile à garder à l'esprit, je pense que vous devriez toujours commencer par voir combien vous pouvez tricher.
Par triche, je veux dire cache, qui repose sur l'idée que la plupart du temps, vous pouvez donner aux utilisateurs des données légèrement obsolètes et qu'ils ne le remarqueront pas, ce qui peut vous faire gagner énormément de temps. Imaginez que vous avez une page que vous décidez qu'elle est correcte si elle est obsolète de cinq secondes et qu'elle obtient 20 requêtes / s. Sans mise en cache, vous exécutez ce calcul 1200 fois par minute, alors qu'avec la mise en cache, il n'est que de 12. Vous pouvez voir comment cela peut faire une énorme différence.
Il existe bien sûr de nombreux types de mise en cache et un site Web performant en utilisera plusieurs. Mais pour votre cas d'utilisation, il existe deux options assez bonnes et faciles.
La première consiste à rendre le site complètement statique. Cela suppose que vous pouvez le faire, mais si vous le pouvez, alors vous avez juste Nginx servir directement le html, et il peut servir des tonnes de demandes sans sueur.
Si vous avez besoin d'un certain niveau de dynamicité, la mise en cache pleine page est une bonne option. Nginx a une certaine capacité pour le faire, mais j'aime vraiment Varnish en raison de sa flexibilité.
Quelle que soit l'option ou les options que vous choisissez, assurez-vous d'effectuer des tests de charge pour valider que vous l'avez configuré correctement; parfois, la fixation d'un point expose un nouveau goulot d'étranglement.