47 votes

Comment puis-je détecter et de survivre en étant "Slashdotted"?

Ce qui est une bonne façon de survivre anormalement élevé pics de trafic?

Ma pensée est que, à une certaine détente, mon site doit passer temporairement dans un "faible bande passante": mode de commutateur de base de pages HTML, un minimum de graphiques, de désactiver les widgets qui peut mettre une charge inutile sur la base de données, et ainsi de sur.

Mes pensées sont:

  • Surveiller l'utilisation de l'UC
  • Surveiller la bande passante
  • Le suivi des demandes / minute

Edit: je suis familier avec les options comme la mise en cache, la commutation de contenu statique ou d'un réseau de diffusion de contenu, et ainsi de suite comme un moyen de survivre, alors peut-être que la question devrait se concentrer davantage sur la façon dont on détecte lorsque le site est sur le point de devenir surchargé. (Bien que les réponses sur les autres méthodes de survie sont bien sûr encore plus que la bienvenue.) Permet de dire que le site est en cours d'exécution Apache sur Linux et PHP. C'est probablement la configuration la plus courante et devrait permettre à un maximum de gens à obtenir de l'aide pour les réponses. Permet également de supposer que cher options comme l'achat d'un autre serveur et l'équilibrage sont pas disponibles pour la plupart d'entre nous, au moins, une mention sur Slashdot va être une fois-dans-un-vie occurrence, et non pas quelque chose que nous pouvons dépenser de l'argent de s'y préparer.

22voto

cynicalman Points 4391
  1. Ne pas donner à quiconque l'URL
  2. Construire quelque chose d'aussi inutile que si la règle 1 est cassé, personne ne viendra de toute façon.

20voto

yanchenko Points 24142
  1. installer munin pour surveiller la charge/la consommation de mémoire, etc et de les informer sur les surcharges.
  2. installer monit redémarrer apache2 si elle se bloque
  3. installer nginx comme apache2 frontend, il favorisera la diminution des besoins en mémoire sous une lourde charge

12voto

Simon Howard Points 5392

Il convient de mentionner que la mise en cache intelligente et la faible bande passante modes seront inutiles si vous n'avez pas assez de bande passante de votre connexion, alors assurez-vous que la connexion à votre serveur est assez grasses. Ne pas l'héberger sur votre connexion adsl, par exemple.

Je parle de l'expérience de l'être slashdotted. Ce n'est pas amusant quand vous ne pouvez pas accéder à Internet, parce que des milliers de personnes sont simultanément en essayant de télécharger des photos sur un ordinateur de votre compagnon à monté à l'intérieur d'un George Foreman grill. Pas de montant de pare-feu va vous sauver.

11voto

Phil Christensen Points 201

Les principes de base:

  1. N'essayez pas d'hôte haute-volume de sites sur Windows, sauf si vous êtes un vrai Windows gourou. Il peut être fait, mais c'est un temps plutôt question de coût.
  2. L'utilisation du contenu statique (c'est à dire, pas de requêtes de base de données) partout où vous le pouvez.
  3. Apprendre-tête cache-control et de les utiliser correctement pour les images et autres statique actifs.
  4. À tout le moins, l'utilisation d'Apache, mais si vous le pouvez, utiliser lighttpd ou d'une autre haute performance serveur web.

Les vraies réponses:

  1. Vraiment savoir votre SQL, et de passer du temps à analyser les requêtes lentes. La plupart du chargement de la page ne doit pas nécessiter plus d'une seconde de droite requêtes.
  2. Déterminer où votre charge est vraiment. Si c'est un médias lourds-site, pensez à organiser le contenu ailleurs (comme Akamai, ou d'un autre service). Si c'est une base de données-lourds, en considération de la réplication.
  3. Savoir quel type de réplication va travailler pour vous. Si vous avez une lecture intensive, site, MySQL standard réplication maître/esclave doit être fine. Si vous avez beaucoup de écrit, vous aurez besoin d'une sorte de multi-maître de l'installation, comme le Cluster MySQL (ou d'enquêter "en cascade" ou "cascade" de la réplication).
  4. Si vous le pouvez, évitez d'appeler le PHP, c'est à dire un cache statique (HTML) copie de la page (qui est ce que la plupart des Wordpress plugins de mise en cache). Apache est beaucoup plus rapide de servir les fichiers statiques que même la plus simple hello world script PHP.

9voto

DOK Points 21175

Voici un assez long mais très instructif article de survivre "flash foules".

Voici un scénario pour la situation de leurs solutions proposées adresse:

Dans ce papier, nous considérons la question de la mise à l'échelle à travers les yeux d'un personnage que nous appelons le garage de l'innovation. Le garage innovateur, créatif techniquement savvy, et de l'ambition. Elle a une grande idée pour la Prochaine Grande Chose sur le web et la met en œuvre à l'aide de certains serveurs de rechange assis dans le garage. Le service est en place et en cours d'exécution, attire de nouveaux visiteurs, de temps à autre, et fait quelques maigres revenus de la publicité et des abonnements. Un jour, peut-être, son site sera touché le jackpot. Peut-être qu'on va atteindre la première page de Slashdot ou Digg; peut-être Valleywag ou le New York Times vais en parler.

Notre innovateur peut obtenir d'un seul coup à une large publicité. Si et quand cela qui se passe, des dizaines de milliers de personnes allez visiter son site. Depuis son idée est afin de roman, de nombreux deviendra génératrices de revenus des clients et consulter des amis. Mais un flash de la foule est notoirement volage; le résultat ne sera pas d'être aussi idyllique si le site accidents en vertu de sa charge. Beaucoup de gens vais pas la peine de revenir si le site ne fonctionne pas la première fois. Encore, il est difficile de justifier de payer des dizaines de des milliers de dollars pour les ressources juste au cas où le site connaît un soudaine de la charge de spike. Flash foules sont la porte du garage de l'innovateur bane et son objectif.

Une façon de sortir de cette énigme a été activé par l'utilitaire le calcul.

L'article propose ensuite un certain nombre de mesures que le garage innovateur peut prendre, comme l'utilisation de stockage réseaux de distribution et de mise en œuvre hautement évolutive des bases de données.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X