Effet Slashdot : quand la popularité nuit à la disponibilité

Que se passerait-il si Google mettait un lien vers votre site/blog en page d’accueil ? :)

Votre serveur subirait un afflux massif de visiteurs curieux : la conséquence directe serait une surcharge importante, qui rendrait très certainement votre site indisponible.

Ce phénomène est appelé effet Slashdot, ou slashdotting (moins courant). Ce terme provient de l’afflux considérable de trafic web lorsqu’un site est linké par Slashdot.org, sorte de digg-like pour geek.

Logo Slashdot

Pour réussir son Slashdot Effect, 3 étapes sont nécessaires :

  1. 1. un site (très) populaire met un lien vers un site plus petit,
  2. 2. les zombies du web et autres affamés du clic internautes cliquent à tout va,
  3. 3. le serveur hébergeant le site plus petit subit de fortes lenteurs, ou devient indisponible du fait de la masse de connexions.

Le graphique suivant représente l’évolution de la bande passante par rapport à une échelle de temps. On voit qu’à partir d’un instant T, la bande passante est plus que décuplée : ça représente l’effet Slashdot.

Effet Slashdot

Les goulots d’étranglement peuvent être multiples : bande passante, requêtes vers la base de données, limites de processus Apache, système de cache absent, mauvais développement, etc.

Il est légitime de se poser quelques questions :

  • comment prévenir et conserver un minimum de disponibilité si ça arrive ?
  • que faire si cela arrive et que votre site est complètement indisponible ?
  • jusqu’à quel point être vous prêt à accepter une dégradation de service ?

Se poser ces questions est un bon début, car vous êtes conscient que le problème existe. :)

Les 1000 sites les plus visités dans le monde

Vous êtes curieux de savoir quelles sites dominent la planète en drainant le plus de visiteurs : DoubleClick Ad Planner (un service publicitaire racheté par Google) publie mensuellement ce classement, basé sur leurs statistiques.

Voici la listes des 5 premiers :

  • Facebook (bien sûr), normal avec leurs statistiques,
  • Youtube,
  • Yahoo,
  • Live,
  • Wikipedia : il est intéressant de retrouver ce site communautaire, n’utilisant aucune technique marketing ni aucune publicités.

Retrouvez les 1000 sites les plus visités dans le monde avec Google Doubleclick Ad Planner

Le classement est par ici : the 1000 most-visited sites on the web.

Tiens, mon blog n’est pas dans la liste ? :)

L’infrastructure de Facebook : les chiffres clés

Facebook est une vraie machine de guerre : on a pu voir récemment que c’était le site le plus visité au monde, et tout ça seulement après quelques années. Contrairement à d’autres « supergrands » (Google, Microsoft, Apple, Youtube, etc.) un certain nombre d’informations filtrent lors de conférences, et dans des documents officiels.

Logo Facebook

J’ai visionné plusieurs heures de vidéos de conférences (long mais super intéressant) et ait compilé les informations. Vu la masse de détails obtenus, j’ai décidé de publier deux articles :



En extrapolant

  • certains graphiques d’évolution,
  • des chiffres passés,
  • des indications fournies pendant des conférences,

on estime entre 60 000 et 100 000 le nombre de serveurs de Facebook . Cependant, ce chiffre ne tient pas compte de deux nouveaux datacenters actuellement en cours construction (Oregon et Caroline du Nord).

Facebook : évolution du nombre de serveurs

Facebook : évolution du nombre de serveurs

Mais qu’est-ce qui peut bien tourner sur cette infrastructure ? :)

Données générales :

  • 500 millions d’utilisateurs actifs (un utilisateur actif est un utilisateur qui se connecte au moins une fois par mois),
  • 50% des utilisateurs se connectent au moins une fois par jour, soit 250 millions de personnes tout de même,
  • 690 milliards de pages vues par mois,
  • 6 milliards de contenus partagés par semaine (statuts, photos, liens, vidéos),
  • 3 milliards de photos uploadées par mois, pour plus d’un pétaoctet de stockage uniquement destiné aux photos (chaque photo existe en 4 tailles),
  • un dernier chiffre, le plus parlant peut-être : 16 milliards de minutes sont passées par jour sur Facebook. Ça représente 11 millions de jours ou encore plus de 30 000 années qui sont passées par jour sur le réseau social, c’est juste énorme !

Données techniques :

  • plus de 300 To (téraoctets) de données en cache en RAM avec Memcached,
  • 25 To (téraoctets) de log par jour,
  • un ingénieur Facebook pour 1,1 millions d’utilisateurs. A titre de comparaison, Google emploi un ingénieur pour 190 000 utilisateurs,
  • un opérateur Facebook pour 2,3 millions d’utilisateurs.

Quelques chiffres intéressants sur MySQL :

  • 13 millions de requêtes par seconde en pic,
  • 38 Go/s de trafic MySQL en pic,
  • temps de réponse moyen en lecture : 4 ms,
  • temps de réponse moyen en écriture : 5 ms,
  • 450 millions de lignes lues par seconde en pic,
  • 3,5 millions de lignes modifiées par seconde en pic,
  • 5,2 millions d’I/O (disques) InnoDB par seconde.

Qui a d’autres chiffres intéressants et récents à partager ? :)

Dans le prochain article sur le sujet, je traiterai de la gestion quotidienne d’une infrastructure de cette taille.

Sources :

Des images insolites de Google Maps

Google Maps n’est plus à présenter, et certains ont assez le temps pour compiler les images les plus sympas et les plus insolites ! :)

Google Maps : image insolite 1

Google Maps : image insolite 2

Google Maps : image insolite 3

Google Maps : image insolite 4

Google Maps : image insolite 5

Ça se passe par ici : 9eyes.tumblr.com.

Ça se passe comme ça sur mon Flickr #9

Pris lors de notre voyage de noce au Canada cet hiver, un magnifique coucher de soleil (par -20°C quand même).

Coucher de soleil au Canada

Coucher de soleil au Canada

Le nombre de Dunbar : comptez vos amis, vous en avez peut-être trop…

Au temps des réseaux sociaux et de l’hégémonie de Facebook, les personnes se livrent à des courses sanglantes pour savoir qui aura le plus d’amis. Pourtant, dans la vie réelle, un être humain ne peut entretenir une relation stable qu’avec 148 personnes à la fois.

Robin Dunbar, un anthropologue britannique, est connu pour avoir calculé ce chiffre, appelé le nombre de Dunbar (148) qui est la « limite cognitive du nombre de personnes avec lequel un individu peut avoir des relations stables« . Expliqué plus simplement ça donne :

Le nombre de Dunbar est le nombre d’amis avec lesquels une personne peut entretenir une relation stable à un moment donné de sa vie.

Robin Dunbar a calculé ce chiffre en analysant la taille du néo-cortex de différents primates et l’a comparé au nombre d’individus de leurs groupes respectifs : il en a déduit par extrapolation, que pour un groupe d’humains, ce nombre s’élevait à 148.

J’ai trouvé une image qui illustrait ce qu’était le nombre de Dunbar.

Nombre de DunbarSource de l’image.

Si on interprète directement cette formule, on pourrait déterminer que « plus notre nombre d’amis est élevé, moins les relations ont de valeurs« , mais ce ne sont que pures spéculations. ;)

Quelques liens :

Globalement, ce billet est là pour la culture générale, pas pour rentrer dans les détails. Pour ceux que ça intéresse réellement et qui voudrait lire une analyse sur le sujet, vous pouvez toujours aller lire le très bon article de Thibaut Thomas.

Quant à moi, j’ai tout pile 200 amis sur Facebook, je m’en vais de ce pas en supprimer un quart… :)