Comment Facebook gère quotidiennement son infrastructure

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

Je rappelle que pour écrire ces 2 articles, j’ai simplement visionné des vidéos de conférences pour compiler les informations. Vu la masse de détails obtenus, j’ai publié deux articles :

En extrapolant plusieurs données (graphiques d’évolution, chiffres passés, etc.) on estime entre 60 000 et 100 000 le nombre de serveurs de Facebook .

Facebook : évolution du nombre de serveurs

Facebook : évolution du nombre de serveurs

Cependant, ce chiffre ne tient pas compte de deux nouveaux datacenters actuellement en cours construction (Oregon et Caroline du Nord).

Facebook a depuis longtemps atteint une masse critique qui nécessite de voir sa copie en terme d’administration quotidienne.

Un des ingénieurs de Facebook a bien illustré le problème lors d’une conférence :

With Facebook users spending a collective 8 billion minutes on the site each day, serving 1.2 million photos each second, and managing more than 25 terabytes of data per day in logging data, we’re forced to think about servers and datacenters differently.

Nb : les chiffres sont de 2009, les actuels sont présents dans mon article précédent.

(suite…)

En vrac #56

Revue de presse hebdomadaire par Romain DECKERAu départ prévue pour stocker des liens que je jugeais intéressants, la revue de presse hebdomadaire me permet de partager mes découvertes avec vous. Au menu de cette 54 ème édition, j’ai déterré de mes favoris plusieurs liens qui datent du début d’année : un zest d’humour, de la photo, l’impact positif des commentaires négatifs sur les blogs, les avantages/désavantages de travailler sur plusieurs écrans et beaucoup d’autres choses encore.

(suite…)

Comment synthétiser rapidement le statut d’un serveur MySQL

Le moteur de base de données MySQL est très largement utilisé dans le monde. Même si l’installation et le paramétrage par défaut de MySQL suffit amplement pour un site web ou un blog, il est nécessaire de l’optimiser dans le cadre d’une utilisation plus « corporate« .

Deux leviers majeurs sont disponibles :

  • l’optimisation du serveur de base de données (ou de la ferme de serveurs),
  • l’optimisation du code.

La commande « show status » (en CLI, ou via phpMyAdmin) offre un certain nombre d’informations sur le statut d’un serveur MySQL.

MySQL : résultat de la commande show status dans phpMyAdmin

MySQL : résultat de la commande show status dans phpMyAdmin

Cependant, les informations rendues ne sont pas toujours exploitables facilement (ni rapidement) pour les personnes qui ne sont pas DBA.

C’est là que mysqlreport intervient : c’est un simple exécutable qui va vous permettre de synthétiser le statut d’un serveur MySQL. Il suffit de télécharger ce fichier (pas d’installation nécessaire), et de le lancer en lui renseignant les paramètres de connexion au serveur MySQL, pour qu’il vous exporte un résultat assez sympa !

Jugez plutôt :

Statut MySQL avec mysqlreport
Pour ceux qui voudrait plus détails sur les valeurs obtenues et savoir comment les interpréter (et les comprendre), je vous invite à lire ceci : The guide to understand mysqlreport.