L’impact de Twitter sur l’hébergement d’un blog
le 20 novembre 2009 à 10:21 par mrbooCe blog a un trafic raisonnable (~1000 visiteurs uniques par jour) et avec mes quelques réglages une part de serveur Gandi devrait suffire.
Pourtant, ce n’était pas le cas (plantages réguliers)
J’ai donc essayé de piger pourquoi, jusqu’à changer la distrib Linux Gandi pour une Debian (pour être certain de bien comprendre les réglages que je faisais)
Malgré le passage à 2 parts Gandi, sur une Debian (avec le blog en memcache) je continuais à avoir des plantages liés à la charge…
Voici un graph avec la journée d’hier (1200 visites) :

1 – Ce tweet + une quinzaine de ReTweet
2 – Ce tweet avec là aussi un certain nombre de ReTweet (surtout que Korben est très actif dans le domaine lié au billet)
3 – Ce tweet + quelques ReTweet.
Je pense que le trafic en fin d’aprem est issu des personnes qui lisent ce blog via les flux RSS.
Twitter est donc une superbe source de trafic, mais son défaut vient du fait que l’afflux se fait de manière très brutale (vive le web temps réel
)
Le serveur ne doit donc plus encaisser un trafic lissé sur une journée mais des rush successifs.
Cela pose un problème pour le système de sondes Gandi : le déclenchement de parts supplémentaires se fait automatiquement au bout de 20 min de surcharge serveur, ce qui est trop long pour ce type de phénomènes.
En ce qui concerne mes plantages, le problème venait du plugin WP pour récupérer les tweets commentant les billets :
- Le temps d’accéder au search de Twitter, Apache poirotait.
- Pendant ce temps les nouveaux visiteurs déclenchaient cette même recherche (car le résultat n’était pas encore arrivé)
- a chaque nouveau tweet/RT la page était mise à jour et donc le cache détruit -> montée en charge soudaine.
Depuis que je l’ai supprimé, avec 2 parts Gandi tout roule (j’ai eu un court timout MySQL hier mais rien de méchant)







20 novembre 2009 à 10:26
Pour récupérer les tweets liés à un billet, la bonne façon de faire ce n’est pas lors du chargement de la page, mais via un processus à part, indépendant de apache (via cron ou un démon), qui se charge de vérifier régulièrement pour chaque billet (plus fréquemment pour les derniers billets) et enregistrer en local (peu importe la manière)
20 novembre 2009 à 10:27
Je regrette pas d’avoir viré de mon blog toute relation avec twitter
20 novembre 2009 à 10:32
Twidi> clairement, c’est d’ailleurs ce que je compte faire dès que j’ai un peu de temps.
Par contre c’est dommage que Gandi ne propose pas un système aussi réactif qu’Amazon EC2.
20 novembre 2009 à 11:54
Salut ! Merci pour ton billet, c’est intéressant.
Si j’ai bien compris, c’est le système de search des commentaires via Twitter qui favorise le ralentissement, et donc se mutte en goutte faisant déborder le vase.
Par ailleurs, pourrais-tu m’expliquer comment tu as obtenu le graphe Analytics de la journée ? Je serais très intéressé par ce truc là, étant donné qu’il me semble que Analytics ne fournit que du journalier, pas du heure par heure.
Merci d’avance !
20 novembre 2009 à 11:59
Louis> thx,
pour les stats : cliques d’abord sur « Visites » tu verras apparaitre un onglet « heures » pour l’affichage.
20 novembre 2009 à 12:11
Pour la réactivité tu parles pour le déclenchement des sondes, le délai de 20 minutes ?
Je trouve cela aussi trop long et le serveur a largement le temps de flancher, mais il y a une raison simple :
Le serveur a une part.
On dit au dessus de 50% de cpu, mettre deux parts.
Hop il passe à deux parts.
On retombe sous les 50% de cpu, il revient à une part.
Mais ce n’est plus assez et la sonde se redéclenche, etc, etc, etc
Il faudrait en effet un seuil plus faible pour le déclenchement, et garder 20 minutes minimum pour la fin de l’alerte
Je vais en parler, merci pour tes retours !
20 novembre 2009 à 12:16
Twidi> yep je parlai du temps de déclenchement, en effet pour « sonner la fin de l’alerte » un délai long est plus prudent.
20 novembre 2009 à 12:54
@Mrboo : Merci pour ta réponse, mais je crois que je n’ai pas autant d’option que toi. Voilà ce que j’ai : http://imgur.com/QxGjf.jpg
Tuas plus d’options, toi, ou c’est moi qui ai de la m**de dans les yeux ?
20 novembre 2009 à 13:51
Louis> il s’agit du lien « visites » un peu en dessous dans la partie « Fréquentation du site »
20 novembre 2009 à 14:09
@mrboo : Merci ! Je viens de le voir.
Merci encore (ça fait des mois que je regrettais l’absence de cette fonctionnalité sur Analytics).
20 novembre 2009 à 15:22
Atchoum
20 novembre 2009 à 15:24
Pour les visites à l’heure sur analytics, par défaut on a le calcul fait sur toute la période (un mois par défaut je crois) donc il faut penser à changer la période pour ne sélectionner que la journée voulue.
20 novembre 2009 à 15:37
Twidi> j’avais fais gaffe à bien selectionner uniquement la journée d’hier
mais tu as raison.
7 décembre 2009 à 0:48
Il est clair que la montée de Twitter n’est pas innocente sur la charge d’un serveur, mais également sur la bande passante. Attention aux mauvaises surprises.
Sans forcément parler des outils et extensions qui régénèrent sans cesse le cache, une personne très suivies en terme de follow qui diffuse un lien peut faire tomber le serveur l’hébergeant très rapidement. On peut d’ailleurs très bien imaginer des attaques DDoS « involontaires » sur ce principe…
J’utilise backtype pour récupérer le contenu sur mon blog mais je ne suis absolument pas satisfait de cette solution, pour plusieurs raisons. Restent les solutions IntenseDebate et cie qui semblent intéressantes.