Notre société participera cette semaine à une émission télévisée aux heures de grande écoute. Elle nous a dit que nous pouvions nous attendre à environ 200 000 visiteurs sur notre site Web en même temps.
Nous ne recevons normalement qu'environ 100 visites par jour, alors je ne sais pas si nous pouvons gérer autant de trafic. Nous sommes hébergés par 1and1.co.uk
.
Existe-t-il des précautions que nous pouvons prendre pour éviter que notre site ne soit paralysé?
web-hosting
traffic
visitors
downtime
SamTheMan
la source
la source
Réponses:
Pendant la période de trafic intense, votre serveur devrait pouvoir traiter toutes les demandes formulées par les visiteurs de votre site Web. Cependant, le nombre de connexions simultanées gérées par le serveur est limité. Il est donc préférable de traiter les demandes de page le plus rapidement possible.
Voici quelques suggestions à considérer dans ces situations,
Améliorations au niveau de l'application:
1. Réduisez les demandes HTTP pour accélérer les temps de chargement des pages.
a) Combinez tous les fichiers JS ensemble dans un seul fichier JS combiné et tous les fichiers CSS dans un seul fichier CSS combiné.
b) Réduisez les fichiers JS et CSS pour réduire la taille du fichier et le télécharger plus rapidement.
c) Utiliser des sprites CSS: lorsque vous combinez la plupart ou la totalité de vos images dans un sprite, vous convertissez plusieurs demandes d'images en une seule. Il vous suffit ensuite d'utiliser la propriété CSS background-image pour afficher la section de l'image dont vous avez besoin.
d) Retarder le téléchargement d’image avec chargement paresseux, cela sera utile pour réduire le nombre de requêtes http.
2. Préparez des pages légères qui attendent plus de visites:
a) Exclure les éléments décoratifs tels que les images ou Flash dans la mesure du possible; utilisez du texte au lieu des images dans la navigation du site et chrome, et mettez la plupart du contenu au format HTML.
b) Utilisez des pages HTML statiques plutôt que des pages dynamiques; ces derniers mettent plus de charge sur vos serveurs. Vous pouvez également mettre en cache la sortie statique des pages dynamiques pour réduire la charge du serveur.
Améliorations au niveau du serveur:
1. Réduisez les valeurs de délai d'attente du serveur en consultant votre fournisseur d'hébergement (ne devez pas être trop bas).
Lorsque les délais sont plus courts, la connexion sera bientôt libérée afin que le serveur puisse gérer plus de connexions.
2. Utiliser des services tiers que CloudFlare pour la mise en cache des données statiques et pour protéger votre site Web contre les utilisateurs malveillants et les attaques telles que DDOS.
3. Mettez à niveau votre matériel serveur - Mettez à niveau les mémoires physique et virtuelle, augmentez les limites des processus d'E / S et d'entrée, si nécessaire. Votre hébergeur sera en mesure de vous aider au mieux.
4. Cache le code dynamique - Utilisez APC pour mettre en cache l'opcode PHP.
5. Équilibrage de la charge - Répartissez la charge sur plusieurs serveurs d'équilibrage de la charge.
Lorsque toutes les mesures requises sont prises, il est maintenant temps de vérifier si le site Web est prêt pour un pic de trafic important.
Certains services tiers, tels que loadimpact.com, fournissent des tests de charge avec un trafic simulé. L'analyse vous aidera à comprendre la charge que votre site Web peut gérer et ce qui peut être amélioré.
De même, pendant la période de pointe du trafic, évitez les opérations nécessitant une utilisation intensive du processeur, telles que les tâches cron, de sauvegarde de site Web, etc.
la source
Tout d'abord, je recommanderais Cloudflare. Vous pouvez créer un compte de base gratuit. Le trafic sera acheminé via des centres de données locaux afin de minimiser le nombre de sauts de serveur. Cloudflare est également idéal pour la mise en cache de contenu et dispose d'une protection DDOS.
Autre que cela, essayez de réduire la graisse de votre couche de service. Assurez-vous de ne pas avoir de requêtes de base de données excessivement gonflées dans la base de données, ni de logique trop gourmande en ressources processeur pouvant être simplifiée.
Essayez également de mettre en cache toutes les requêtes de base de données. Redis ou Memcache sont d'excellentes options pour la mise en cache des requêtes. OpCaching est un autre facteur à prendre en compte si vous utilisez un langage non compilé.
Mais le plus important est probablement de garder votre contenu statique (css, js et images) aussi optimisé que possible. Réduisez tout votre Javascript, combinez-les tous dans un seul fichier si possible. N'oubliez pas que chaque fichier inclus dans votre site doit créer plusieurs sauts de serveur pour atteindre l'utilisateur final.
Ne sous-estimez pas non plus la bande passante et le temps de chargement que vous pouvez économiser en compressant les images!
Enfin, envisagez de surveiller les performances avec des outils tels que New Relic.
Bonne chance!!
Source: l'un des développeurs du 12ème site le plus populaire au Royaume-Uni, selon Alexa.
la source
Pensez à tester en charge votre site. Il existe des outils gratuits tels que JMeter , The Grinder et Gatling , qui peuvent simuler un grand nombre de visiteurs sur votre site.
En testant à l'avance l'impact d'un trafic dense, vous pouvez déterminer si les réglages que vous avez effectués ont été efficaces et, le cas échéant, rechercher d'autres réglages.
la source
Si vous êtes sur 1and1, vous êtes probablement à la recherche d'un hébergement bon marché. Un hébergement bon marché signifie que vous avez tendance à tout faire dans une boîte. Un problème majeur pour l'hébergement est que lorsque vous hébergez tout sur la même boîte, vous partagez des ressources entre des parties importantes de votre site:
Et étant donné que vous utilisez 1 et 1, vous utilisez un panneau de configuration comme Plesk ou cPanel, ce qui signifie que vous avez une couche supplémentaire d'éléments en concurrence pour les ressources. Et le dernier clou dans ton cercueil? Vous n'avez pas beaucoup de ressources. Vous avez peut-être 1 processeur (ou un processeur virtuel) et très peu de RAM (si vous avez plus de 2 Go, je serai surpris).
Lorsque nous avons abandonné 1and1, nous avons opté pour un fournisseur d’hébergement évolutif (Amazon Web Services dans notre cas) et nous avons fait plusieurs choses que nous ne pouvions pas auparavant.
AWS n'est pas le seul jeu en ville (Azure, Rackspace, etc.), mais assurez-vous que 1and1 peut être adapté à votre demande.
la source
Vérifiez auprès de votre fournisseur de services Internet et vérifiez si votre bande passante est limitée. Mettez à niveau votre plan d'hébergement si la bande passante est insuffisante pour le volume de trafic attendu. Vous ne souhaitez pas afficher un message "Limite de bande passante dépassée" à vos visiteurs.
la source
De par mon expérience personnelle, je sais que même le meilleur VPS a ses limites. Je vais vraiment profane est ici.
L'un de nos sites Web sportifs était hébergé sur un VPS. Au cours d'un match opposant le Pakistan et l'Inde, nous avons reçu plus de 70 000 hits. Nous avions un VPS Inmotinghosting avec 4 Go de RAM et un traitement quelque chose de quelque chose comme GHz, une bande passante de 1 To, un stockage SSD et d’autres éléments fantaisistes. Nous avons également activé une version payante de Cloudflare.
C'était juste au milieu du match et le site Web était tombé en panne. Il n'est jamais venu en direct pendant le match et nous avons potentiellement perdu plus de 70 000 visiteurs. C’est plus tard que nous avons su que notre bande passante était consommée et que sans l’hôte source, CDN est la plupart du temps inutile.
Leçon: En plus d'obtenir un VPS et de régler un CND tel que Cloudflare, réduisez la taille de la page. Le moins c'est le mieux. Vous pouvez utiliser la mise en cache des pages et la minification de code, ce qui est très pratique pour gérer le trafic.
la source
Vous n'avez pas très bien défini "tout à la fois". Disons que vous recherchez 200 000 visiteurs uniques en une demi-heure. C'est 111 demandes par seconde, sans tenir compte des visiteurs qui cliquent et ouvrent plus de pages (ce que vous voulez, non?).
La première chose que je ferais, ce sont les récits de Google sur des personnes qui gèrent un volume de trafic similaire. Beaucoup de gens écriront leurs expériences sur leurs blogs pour aider les autres. Vous remarquerez qu'il est extrêmement difficile de trouver une histoire sur le fait que quelqu'un le fasse sur un hébergement partagé, et il y a une raison à cela. Recherchez des solutions telles que Digital Ocean ou Amazon Web Services, en commençant par utiliser le centre de données le plus proche de votre public. Et je conviens que décharger toutes vos ressources statiques sur CloudFlare, même sur un compte gratuit, est une excellente idée.
En dehors de cela, testez votre code en ajoutant des scripts de chronométrage en haut et en bas de vos pages, en supposant qu'ils soient dynamiques. En supposant que mon hypothèse sur les chiffres soit correcte, vous devez pouvoir afficher chaque page en moins de 10 millisecondes pour conserver toute performance acceptable. Si vous répondez à toutes les demandes via SSL par défaut, désactivez-le pendant quelques jours pendant le passage de la tempête.
En outre, 200 000 sons semblent très effrayants, mais gardez à l’esprit que vous n’avez pas besoin d’être trop effrayé (même si vous devriez l’être un peu). Par exemple, lorsque le magazine Paper a publié des photos de Kim Kardashian sur NSFW, il suffisait de quatre serveurs Web de taille moyenne et d'Amazon ELB pour gérer la charge, selon cet article (SFW). Je ne pense vraiment pas que votre configuration actuelle résoudra le problème, mais vous ne devriez pas vraiment avoir besoin de seize serveurs Web avec 48 cœurs alimentés chacun par leur propre petit générateur nucléaire.
la source
Connaissez cette vieille question, mais très bonne, et souhaiteriez avoir de bonnes informations sur le sujet il y a quelques années ...
De temps en temps, nous avons des sites (liés aux activités scolaires) diffusés sur les réseaux de télévision. Puisque nous travaillons avec un budget très serré, la solution est l’équilibrage de charge. Les boîtiers VPS peuvent être assez bon marché ces jours-ci et nous ne faisons que dupliquer notre contenu sur 2-3 d'entre eux.
Regardez cet article et lisez à propos de "round-robin".
Plus d'informations sur les tests de charge peuvent être trouvées ici .
Lorsque nous avons commencé à essayer de gérer les pics, nous avions simplement notre contenu sur 2 ou 3 boîtiers VPS et placé leur NS dans les paramètres du registraire.
la source
Le mieux est d’avoir des serveurs dédiés multi-cluster résoudront votre problème
la source
Bonne chance pour réécrire votre site web, changer de fournisseur et migrer le contenu vers un CDN en moins d'une semaine.
Comme vous l'avez peut-être compris dans les autres réponses, voici le minimum que vous devez faire pour que votre site soit prêt pour une augmentation importante du trafic. Bien que si vous utilisez actuellement 1and1.co.uk, vous ne disposez probablement pas d'une équipe solide d'ingénieurs réseau, d'administrateurs de base de données, de programmeurs et d'optimiseurs front-end à votre service.
Ce n'est pas susceptible de se produire, n'est-ce pas?
Vous n’avez pas dit ce que vous faites avec votre site Web, qu’il fonctionne avec un panier ou qu’il puisse être mis en œuvre avec du contenu statique. Si tel est le cas, vous pourrez peut-être survivre au tsunami si vous extrayez tout le site en fichiers statiques et que vous les publiez à la place du site normal (sauvegardez d'abord la version actuelle).
Vous devriez également parler à 1and1 (avec votre carte de crédit en main).
la source