Pas de résultat
Voir tous les résultats
Managers
  • Business
  • Eco
  • Executives
  • Banking
  • Startups
  • Biz’art & Cult
  • Vidéo
  • Podcast
  • Our Events
    • Femmes Entrepreneurs Tunisie
    • Africa Means Business
  • Packs TRE
  • Inscrivez-vous
Managers
  • Business
  • Eco
  • Executives
  • Banking
  • Startups
  • Biz’art & Cult
  • Vidéo
  • Podcast
  • Our Events
    • Femmes Entrepreneurs Tunisie
    • Africa Means Business
  • Packs TRE
  • Inscrivez-vous
Managers
Pas de résultat
Voir tous les résultats

Million User Baby, ou la fin des serveurs surchargés

17 décembre 2018
Dans Eco, Executives, Managers


Par Ahmed Saoudi

Pour préparer son IPO, en novembre 2013, Twitter a dû tuer sa baleine blanche, bien-aimée de nombreux internautes. Le Fail Whale, comme l’appellent les utilisateurs du réseau social, n’est autre qu’un message d’erreur s’affichant lorsque les serveurs du réseau social sont “surchargés”.

Durant les premières années de son existence, Twitter était la victime de son propre succès : il arrive que, parfois, des millions de tweets soient postés simultanément. C’était le cas, par exemple, un certain 1er janvier 2012, avec plus de 16 000 “Happy New Year” tweetés par seconde!

Lors de ces périodes de pic, les serveurs de Twitter se trouvent incapables de gérer ce gigantesque flux, et émettent une erreur bien particulière à ce type de situation, connue par les techniciens sous le nom de “l’erreur 503”. On dit alors que les serveurs sont “surchargés”.

Quand cela arrive, Twitter affichait à ses utilisateurs le Fail Whale, devenu rapidement une véritable icône d’Internet — très populaire même après sa retraite forcée.

Le fameux Fail Whale de Twitter

L’erreur 503 est le signe d’un succès imprévisible, qui rend un site (ou un service) incapable de faire face au flux d’utilisateurs qu’il reçoit. Imprévisible, certes, mais il est possible de se préparer pour “minimiser les dégâts”.

Un million d’utilisateurs simultanés, est-ce possible ?

Alors qu’Internet devient une partie intégrante de notre vie de tous les jours, on doit se poser la question sur la capacité de nombreux services tunisiens de recevoir ce flux d’utilisateurs … sans que cela n’engendre une avalanche de problèmes techniques.

Un site tunisien peut-il être aujourd’hui capable de faire face à un million de visiteurs simultanés ? La réponse est simple : oui.

C’est ce que nous a prouvé Medianet lors de son “1 Million Hosting Challenge” organisé en partenariat avec Microsoft.

Cet événement, le premier de son genre en Tunisie, a été organisé le 31 mars dernier en présence de MM. Iheb Béji, CEO de Medianet; Mohamed Bridaa, directeur général de Microsoft Tunisie et Algérie; Mohamed Mellouki, CTO de Medianet et Fares Zekri, Developer Experience Lead à Microsoft Tunisie.

Le but de cette expérience inédite est de soumettre un site Internet (hostringchallenge.tn) à une charge équivalente à celle de 1 million d’utilisateurs simultanés, sans que les serveurs qui l’hébergent ne soient surchargés.

Pour ce faire, la configuration des serveurs en question doit être minutieusement optimisée afin que cette charge soit efficacement répartie. Les serveurs de test, installés à cette occasion par Medianet sur l’infrastructure Azure de Microsoft, ont pu tenir le coup sous la charge de 2 millions de visiteurs en seulement une minute !


Le web : un petit guide pratique

Mais avant de vous parler de la méthode utilisée par Medianet pour réussir cet exploit, voici un petit aperçu sur le (long et laborieux) processus nécessaire pour l’affichage d’une page web.

Tout commence par un internaute qui demande l’affichage d’une page (http://www.example.com/article.php?id=3, par exemple), soit en tapant manuellement son adresse, soit en cliquant sur un lien.

L’adresse d’une page web est appelée aussi URL.

Le navigateur commence par localiser le serveur qui l’héberge (sur l’adresse http://www.example.com/) et lui demande de fournir les données de la page article.php.

Le serveur se charge alors de générer la page en question. Pour ce faire, il exécute une série de commandes (organisées dans un script) rédigées dans un langage dit de programmation.

Et parce que le nom de la page dans notre exemple se termine par ‘php’ (c’est ce qu’on appelle une extension), on peut déduire que le langage utilisé dans notre script est le ‘php’. Ce dernier est très populaire dans le développement des applications web, bien que d’autres langages sont en train de gagner en popularité (Python, Ruby, ou encore JavaScript, …).

Dans le cadre de son exécution, le script ‘php’ peut demander l’extraction d’informations supplémentaires à partir de la base de données. Une base de données est un outil qui permet de stocker et d’extraire les informations organisées sous formes de tableaux. La manipulation de ces données se fait à travers de systèmes de gestions dont le plus fameux est MySQL.

L’exécution du script et l’extraction des données représentent la plus grande partie du temps nécessaire pour la génération d’une page web. Le résultat final de l’exécution dudit script est une page rédigée dans un format appelé HTML. C’est ce dernier qui va (enfin!) s’afficher par le navigateur sur votre écran.

La génération d’une seule page web est un processus fastidieux, dont certaines étapes sont (très) gourmandes en ressources. Si le contenu d’une page ne change pas, alors pourquoi gaspiller des ressources pour la régénérer à chaque fois ?

L’optimisation

Une fois que nous avons une vue simplifiée sur le processus nécessaire pour la production d’une page web, nous pouvons commencer à explorer les nombreuses possibilités pour l’optimiser.

Séparer les fichiers statiques des données dynamiques

Pour pouvoir afficher une page web, le navigateur doit télécharger ses différents éléments, dont le nombre peut dépasser les cinquantaine de fichiers.

Le téléchargement se fait, pour chaque domaine, par lot dont la taille est, généralement, de 6 fichiers (bien que cela dépende du navigateur utilisé).

Il est aussi à savoir qu’une page web est composée de deux types de documents : les fichiers dits “dynamiques” dont le contenu est généré par le serveur, et les fichiers “statiques” tels que les images, les vidéos, etc. dont le contenu ne dépend pas du serveur.

Pour alléger le téléchargement des éléments d’une page web, il est donc possible de desservir ses fichiers statiques (puisqu’ils sont indépendantes du serveur) à partir d’un autre sous-domaine (static.example.com, par exemple).

Résultat : les fichiers seront téléchargés en deux lots (au lieu d’un seul), et le temps nécessaire pour afficher une page sera, du moins en théorie, divisé par deux.

Mieux encore, il est aujourd’hui courant d’héberger les contenus statiques sur ce qu’on appelle des CDN. Il s’agit de serveurs à très haute disponibilité, distribués à travers toute la planète et destinés à l’hébergement de contenus statiques. Cette configuration a pour avantage de libérer les ressources du serveur principal pour la génération du contenu dynamique.

Le caching

La génération d’une seule page web est un processus fastidieux, dont certaines étapes sont (très) gourmandes en ressources. Si le contenu d’une page ne change pas, alors pourquoi gaspiller des ressources pour la régénérer à chaque fois ?

Il est possible, dans ce cas, de garder une copie toute prête du résultat final et, à chaque fois qu’un visiteur demande cette page, de le lui afficher directement. Pour cela, plusieurs outils open sources sont disponibles, tels que Varnish, utilisé par Medianet lors de cette démonstration.

Il est aussi possible de mettre en cache les résultats des requêtes de la base de données. Je vous explique : sur un site web, certaines données sont consultées beaucoup plus fréquemment que d’autres (un article qui fait le buzz, par exemple).

Au lieu de solliciter la base de données à chaque fois qu’on veut extraire ces informations — une opération très exigeante en termes de ressources, il est possible de garder une copie plus accessible (sur de la mémoire vive, dont le temps de réponse est très court, par exemple).

Big data, temps-réel : les nouvelles tendances

Vu le rôle important de l’optimisation (offrir une expérience utilisateur plus fluide, minimiser les coûts opérationnels, …), l’optimisation est un élément très important. Ce rôle se trouve de plus en plus mis en valeur, surtout que la Tunisie veut s’orienter vers une économie plus “digitalisée”.

Mais il ne fait pas oublier qu’Internet est en train de se métamorphoser, avec la génération de nouvelles tendances telles que le Big Data et le temps-réel.

C’est aussi le cas de l’infrastructure qui ne cesse d’évoluer pour suivre ces tendances. Et pour preuve, nous citons le succès que connaissent aujourd’hui quelques nouvelles technologies, telles que Docker et Node.js.

Pour faire face à ces ruptures, il ne faut pas oublier de mettre à jour l’art de l’optimisation, dont certaines pratiques sont, déjà, obsolètes.


N’oubliez pas de nous suivre sur Facebook et Twitter pour ne rater aucun article !

Tags: DevOpsWeb Development
Managers

Managers

RelatedArticles

Lancement de l’application web TARTIB 2.0 dès 2026 pour une bonne gouvernance des projets publics
Business

Lancement de l’application web TARTIB 2.0 dès 2026 pour une bonne gouvernance des projets publics

8 juillet 2025
Quand le covoiturage à Tunis fatigue…
Business

Quand le covoiturage à Tunis fatigue…

7 juillet 2025
ARP: une proposition de loi visant à limiter les garanties des prêts bancaires
Eco

Examen, mardi, à l’ARP du projet de loi de clôture du budget de l’État 2021

8 juillet 2025

Les plus lus

  • La BTS Bank finance la création de nouveaux points de vente “Ellouhoum Market”

    Jusqu’à 10 000 dinars sans intérêts: la BTS Bank ouvre sa plateforme!

    0 partages
    Partage 0 Tweet 0
  • EY (Ernst & Young) annonce son retrait de 9 pays d’Afrique francophone à partir de 2026

    0 partages
    Partage 0 Tweet 0
  • Tunisair: Basma Loukil Yaakoubi prend la tête du conseil d’administration

    0 partages
    Partage 0 Tweet 0
  • Nouveaux horaires d’été 2025 pour La Poste tunisienne et ses agences

    0 partages
    Partage 0 Tweet 0
  • Hazem Ben-Gacem séduit 25 investisseurs majeurs: 120 millions $ pour BlueFive Capital

    0 partages
    Partage 0 Tweet 0
  • Unimed distribuera son dividende le plus élevé depuis son IPO

    0 partages
    Partage 0 Tweet 0
Le DPI injecte 190 millions de dollars dans le plus grand réseau hospitalier privé d’Égypte

Le DPI injecte 190 millions de dollars dans le plus grand réseau hospitalier privé d’Égypte

8 juillet 2025
Seulement 3,1% des crédits bancaires sont alloués au secteur du transport

Seulement 3,1% des crédits bancaires sont alloués au secteur du transport

8 juillet 2025
Visa Schengen: le top 10 des destinations les plus faciles à obtenir cet été

Schengen: plus de 3 millions de demandes de visa pour la France, dont 740 000 du Maghreb

8 juillet 2025
Lancement de l’application web TARTIB 2.0 dès 2026 pour une bonne gouvernance des projets publics

Lancement de l’application web TARTIB 2.0 dès 2026 pour une bonne gouvernance des projets publics

8 juillet 2025
Trump impose un droit de douane de 25% sur les produits tunisiens dès le 1er août 2025, sauf si…

Trump impose un droit de douane de 25% sur les produits tunisiens dès le 1er août 2025, sauf si…

8 juillet 2025
Le Centre de calcul El-Khawarizmi lance une formation en ligne gratuite en IA

Le Centre de calcul El-Khawarizmi lance une formation en ligne gratuite en IA

8 juillet 2025

Suivez-Nous

L’essentiel de l’actu Business dans votre boîte e-mail

Managers

Managers est un média qui publie un magazine mensuel et un site Web destinés aux entrepreneurs et aux dirigeants d’entreprises pour les informer et les accompagner dans leur progression de carrière

Catégories

  • Banking
  • Biz’art & Cult
  • Business
  • Eco
  • Entreprise
  • Executives
  • Managers
  • Startups
  • Vidéo
  • Podcast
  • Les banques tunisiennes

Abonnez-vous

Facebook Twitter Instagram LinkedIn
  • Qui Sommes Nous

Copyright © , Managers

Pas de résultat
Voir tous les résultats
  • Business
  • Eco
  • Executives
  • Banking
  • Startups
  • Biz’art & Cult
  • Vidéo
  • Podcast
  • Our Events
    • Femmes Entrepreneurs Tunisie
    • Africa Means Business
  • Packs TRE
  • Inscrivez-vous

Copyright © , Managers

Share This
  • Facebook
  • Twitter
  • Gmail
  • LinkedIn