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 :