Série : les nouveaux paradigmes de la production logiciel - Épisode 1

Sommaire de l'article

Agentique en 2026 : comment les systèmes agentiques transforment le développement logiciel sur mesure ?

Résumé de l'article :

  • L’agentique permet à l’IA d’agir dans un environnement logiciel réel, pas seulement de générer du contenu. 
  • Les agents IA enchaînent maintenant analyse, planification, exécution et vérification en boucle autonome. 
  • OpenAI (ChatGPT), Google (Gemini) et Anthropic (Claude) structurent tous leurs offres autour de ce nouveau paradigme
  • Les gains de productivité sont concret et mesurable sur le cycle de développement
  • Le rôle des équipes se déplace vers l’architecture, la conception et la supervision. 
  • toHero utilise déjà des orchestration d’agents IA dans ses projets. 

Depuis le début des années 2020, l’intelligence artificielle s’est imposé progressivement dans les usages numériques. Les modèles de langage de grande taille, les fameux LLM (Large Language Model) comme ChatGPT, Gemini ou Claude ont transformé la génération de texte, de code et de contenus. Dans un premier temps, ces technologies ont surtout servi d’assistants capables d’accélérer certaines tâches, notamment dans les métiers du développement logiciel sur mesure
Génération de fonctions, correction de bugs, documentation, les gains ont été immédiats. 

Mais aujourd’hui une nouvelle évolution change la donne : l’agentique. Les modèles IA ne se limitent plus à produire du contenu à la demande. Ils deviennent capable d’analyser un objectif, de planifier des actions et d’interargir avec des outils techniques dans un environnement réel. 
Concrètement ? On passe ainsi d’un modèle qui répond à une question, à un agent IA qui prend en charge une mission de bout en bout. 

Anthropic résume d’ailleurs bien cette bascule dans son rapport 2026 Agentic Coding Trends :

« Le développement logiciel passe d'une activité centré sur l'écriture de code à une activité fondée sur l'orchestration d'agents qui écrivent du code, tout en maintenant le jugement humain, la supervision et la collaboration qui garantissent la qualité. »

Dans cet article, nous analysons ce que recouvre cette évolution et en quoi elle transforme le développement logiciel sur mesure. Chez toHero, nous accompagnons au quotidien des DSI, des CTO et des Direction Métiers sur la conception et l’évolution de leurs plateformes numérique. Et ce que nous observons sur le terrain confirment ce que disent les rapports : l’agentique n’est pas un simple gadget de plus. C’est un nouveau standard de construction. 

Contexte de l'article

Les éditeurs d’IA ne promettent plus simplement un « meilleure code ». Ils structurent désormais leurs offres autour d’agents capables de mener un travail long, itératif, avec outils et exécution. OpenAI présente GPT-5.3-Codex comme un modèle IA de codage agentique, 25 % fois plus rapide et conçu pour des tâches de longue durée, impliquant l’utilisation d’outils. Google formalise la même trajectoire avec Gemini Code Assist en mode agent, dans lequel le prompt est envoyé avec une liste d’outils dans un boucle actions-évaluations continue. 

Anthropic dans son rapport 2026, pose un constat qui devrait interpeller toutes les directions techniques : 

« Les développeurs utilisent désormais l'IA dans environ 60 % de leur travail, mais ne peuvent pleinement déléguer que 0 à 20 % de leurs tâches. L'IA est un collaborateur permanent, mais l'utiliser efficacement nécessite une préparation, une supervision active, une validation et un jugement humain. »

Autrement dit : l’IA n’est pas un remplaçant. C’est un partenaire exigeant. Et c’est un constat qui éclaire tout le reste : la valeur de l’agentique ne se joue pas dans la puissance brute des modèles IA, mais dans la capacité des organisations à orchestrer cette collaboration

Ce qui est frappant, c’est que les grands cabinet de conseils arrivent exactement au même constat. McKinsey note que 71 % des organisations utilisent l‘IA générative, mais la plupart ne l’ont pas encore intégrée assez profondément pour en tirer des bénéfices à l’échelle. 
BCG observe de son côté que la valeur IA dans la fonction tech à doublé en un an, passant de 7 % en 2024 à 13 % en 2025. Le constat est donc clair : la technologie avance plus vite que les organisations ne se transforment. 

71 % Des organisations utilisent l'IA générative régulièrement
McKinsey Logo
McKinsey

C’est pourquoi, à toHero, nous avons décidé de vous proposer cette analyse des systèmes agentiques. L’objectif étant de mieux comprendre ensemble les défis que cette innovation soulèvent et pourquoi elle redéfinit la manière dont on construit, maintient et fait évoluer le développement logiciel sur mesure

Agentique : une évolution des modèles IA vers des systèmes capables d'agir

Des modèles génératifs vers des systèmes intégrés à un environnement logiciel

Rappelons le point de départ. Les premiers outils d’IA dans le développement logiciel, reposaient sur des IA LLM (Large Language Model). Le principe était simple : vous posiez une question, le modèle produisait une réponse. Rapide, utile mais limité. Ces modèles ne pouvaient pas tenir un projet dans la durée, gérer les dépendances entre fichier, ni itérer jusqu’à stabiliser une modification. 

Imaginez un développeur brillant mais amnésique : il vous écrit une fonction parfaite, mais il a oublié tout le reste du projet. C’était un peu l’idée des premiers modèles d’IA

Alors, les éditeurs IA ont crée l’agentique, qui fait aujourd’hui toute la différence. Non pas comme un modèle LLM plus fort, mais comme une IA associée à un véritable environnement d’actions qui peut : 

Et recommencer. C’est là qu’intervient le passage du conseil à l’exécution

L'émergence des systèmes agentiques

Comment tout cela fonctionne concrètement ? Les éditeur d’IA associent désormais un modèle IA à des outils embarqués dans un mécanisme d’orchestration. Pensez à un chef de projet numérique : il reçoit un objectif, décompose le travail en étape, sollicite les bons outils au bon moment et boucle jusqu’à que le résultat soit validé. 

Google décrit précisément ce fonctionnement dans Gemini Code Assist : le prompt est envoyé avec une liste d’outils disponibles, et ce cycle action-évaluation se poursuit jusqu’à la complétion de la tâche. OpenAI fait de même avec son modèle GPT-5.3-Codex. Et l’écosystème suit. 

Dans un blog développeurs dédié à Gemini 3, Google met en avant une intégration native avec les principaux frameworks open source d’agents (LangChain, Vercel AI SDK, LlamaIndex). Signe que l’agentique n’est plus un concept de laboratoire mais bien un standard industriel en construction. 

Anthropic à même poussé cette logique encore plus loin avec le Model Context Protocol (MCP). En termes simple, le MCP est un protocole ouvert qui standardise la manière dont les agents interagissent avec les outils externes (terminal, fichiers, API, bases de donnés). Le tout, dans un cadre structuré et traçable. 

Mais attention, cette puissance à un coût : leur équipe engineering signale avoir observé des configurations dans lesquelles les définitions d’outils peuvent consommer jusqu’à 134 000 tokens. Pour vous donner un ordre d’idée, c’est l’équivalant d’environ 100 pages de texte généré avant même le début de la conversation. Un vrai défi donc, de conception qui impose de repenser la gestion du contexte

« Nous évoluons d'outils d'IA générative basés sur la connaissance vers des agents capables d'exécuter des workflows complexes dans un environnement numérique. La technologie passe de la pensée à l'action. »

Vers des architectures multi-agents

Et si un agent IA, c’est bien, imaginez une équipe coordonnée d’agents. C’est la montée des architectures multi-agents : plusieurs agents IA spécialisés collaborent sur une même tâche. Un premier agent agit sur le code, un deuxième sur les tests, un troisième sur la vérification. Un peu comme une équipe agile, mais automatisée. Anthropic anticipe clairement cette évolution

« Les systèmes mono-agent cèdent la place à des workflows multi-agents : les organisations adoptent des architectures qui maximisent les gains grâce au raisonnement parallèle sur des fenêtre de contexte séparées. »

Les chiffres suivent. Mordor Intelligence estime que ces architectures représenteraient déjà 53 % du marché agentique en 2025. Gartner prévoit que 40 % des applications d’entreprise intégreront des agents IA spécifiques d’ici fin 2026. Contre moins de 5 % en 2025. L’accélération est vertigineuse. 

40 % des apps d'entreprise intégreront des agents IA fin 2026
gartner-logo-mobile
Gartner
2026

Agentic code et automatisation IA : du générateur de code à l'exécution intelligente

Du générateur de code à l'agentic code

Un générateur de code, aussi performant soit-il, ne fait que produire du texte. Il n’intègre pas son code au projet, ne lance pas de tests et ne vérifie pas que tout fonctionne ensemble. C’est pour cela que l’on a longtemps parlé d’assistants, et non d’agents IA

Depuis 2025, l’agentic code change la donne. L’agent IA peut analyser un projet, modifier plusieurs fichiers, lancer des tests et vérifier automatiquement si les changements fonctionnent. 
OpenAI présente GPT-5.3-Codex comme un modèle IA conçu pour l’ensemble du cycle de vie logiciel (le fameux SDLC : Software Development Life Cycle) de la conception au déploiement. 

Chez Rakuten, Claude Code d’Anthropic a implémenté une fonctionnalité complexe sur une base de 12,5 millions de lignes de code, en 7 heures de travail autonome, avec une précision de 99,9 %
7 heures. Sur 12,5 millions de lignes. Sans intervention humaine pendant l’exécution. C’est le genre de cas qui illustre parfaitement ce que l’agentic code peut rendre possible. 

Illustration agentic coding
Illustration modèle IA

« L'IA agentique n'est pas une étape incrémentale. C'est le fondement du modèle opérationnelle de la nouvelle génération. »

Automatisation IA et transformation de la productivité

L’automatisation IA ne repose plus sur des scripts figés qu’on exécute en boucle. Les systèmes agentiques s’adaptent au contexte complet d’un projet : ils comprennent l’architecture, détectent les dépendances, et ajustent leurs actions en conséquence. La valeur ne vient plus du code généré mais du workflow automatisé, de bout en bout. 

McKinsey observe une réduction des cycles de relecture de 20 à 60 %, tout en rendant la vérification plus transparente puisque les agents démontrent leur travail. 
De son côté, BCG mesure un gain de productivité de 25 % sur le SDLC, avec un projection à 44 % à pleine échelle. Mais le plus intéressant vient d’Anthropic

« Environ 27 % du travail assisté par IA porte sur des tâches qui n'auraient pas été réalisées autrement : projet de mise à l'échelle, outils internes pratiques, et travaux exploratoires qui ne seraient pas rentables s'ils étaient faits manuellement. »

C’est un point clé : l’agentique ne fait pas qu’accélérer ce que l’on faisait déjà. Elle permet de faire ce que l’on ne pouvait tout simplement pas faire. Et c’est là que la création de valeur devient massive. 

20 à 60 % de réduction de cycle de relecture grâce aux agents IA
McKinsey Logo
McKinsey

Transformation du cycle de vie projet et du développement logiciel sur mesure

L'impact de l'agentique sur le cycle de développement logiciel

Le cycle de vie projet d’un logiciel suit classiquement une logique séquentielle bien connue :

Ce cadre a permis de structurer efficacement la création de logiciel sur-mesure pendant des années, notamment pour les solutions métiers et les plateformes e-commerce complexes. Mais il atteint son seuil dès que les cycles de livraisons doivent s’accélérer ou que les équipes doivent gérer de grosses bases de code. 

L’agentique introduit une rupture : les agents IA interviennent sur plusieurs étapes à la fois et itèrent bien plus vite entre les « je change » et les « je valide ».  

Anthropic va même plus loin dans ses prédictions : 

« L'horizon des tâches s'étend de quelques minutes à plusieurs jours : les agents passent de tâches ponctuelle à un travail autonome sur des périodes étendues, construisant et testant des applications entières. »

BCG illustre ce potentiel avec un cas frappant : une institution a cartographié les règles métiers sur 3,1 million de lignes de code legacy via une découverte multi-agents. Résultat : 5000 règles extraites en 3 semaines. 225 fois plus rapide qu’une analyse manuelle en passant de 7 500 heures à environ une centaine. Bref, tout ce qui ralentit les équipes quand la complexité augmente, l’agentique l’accélère. 

225 x analyse de 3,1 M de ligne de code legacy par agents IA
BCG

Une nouvelle approche pour la création logiciel sur-mesure

Qu’est-ce que ca change concrètement pour les organisations qui font du développement logiciel ? beaucoup. Les équipes ne disparaissent plus. Au contraire, leur rôle se déplace vers des tâches à plus forte valeur ajoutée

TELUS en est un bon exemple : l’entreprise a créé plus de 13 000 solutions IA et livré du code 30 % plus vite en accumulant 500 000 heures économisées au total. 

Vous souhaitez évaluer comment l'agentique peut transformer vos projets ?

Conclusion

Ce que nous observons déjà chez toHero

C’est exactement ce que nous observons chez toHero dans nos projets de création de logiciel sur-mesure : les agents ne remplacent pas le delivery, ils l’accélèrent.

Nos équipes utilisent déjà des orchestrations d’agents IA pour épauler les escouades sur des tâches chronophages mais critiques : l’assistance de revue de code, l’accompagnement à la recette, une partie des développements et les phases de non-régression.
Les résultats sont concrets et mesurables. Et ce n’est que le début. 

Dans le prochain épisode de cette série, nous aborderons les défis qui restent à aborder : la gestion du contexte technique avec l’agentic RAG, l’orchestration organisationnelle, la conformité réglementaire avec l’AI Act. Sans oublier les différentes stratégies d’intégrations avec leurs avantages et leurs inconvénients. 

En attendant, n’hésitez pas à nous solliciter si vous souhaitez accélérer vos développements en utilisant notre méthodologie agentique.

Parlons-en

Qu'est-ce que l'agentique ?

L’agentique désigne une évolution de l’intelligence artificielle où les modèles IA ne se contentent plus de générer du contenu. Ils deviennent capables d’agir dans un environnement technique réel : analyser un projet, planifier des actions, utiliser des outils et itérer en continu, jusqu’à atteindre un objectif défini. 

Un générateur produit du code à partir d’instructions. Mais il n’intègre rien au projet et ne vérifie pas le résultat. L’agentic code désigne un système capable d’agir dans un environnement logiciel : analyser un projet, modifier des fichiers, lancer des tests, vérifier les résultats et itérer jusqu’à que tout fonctionne. C’est la différence entre un conseil et une exécution

Non. Anthropic note dans son rapport 2026 que les développeurs ne délèguent pleinement que 0 à 20 % de leurs tâches. L’IA est un collaborateur permanent même quand elle est utilisé à 60 % dans les tâches de travail. Le rôle humain reste central pour l’architecture, la conception, la supervision et la qualité. C’est à dire, des tâches à plus forte valeur ajoutée

Le MCP est un protocole ouvert qui standardise les interactions entre agents IA et outils externes (terminal, fichiers, API, bases de données). Il permet aux agents IA de travailler dans un cadre structuré et traçable. C’est l’une des briques clés de l’architecture agentique

McKinsey observe une réduction de 20 à 60 % des cycles de relecture. BCG mesure 25 % de gain sur le SDLC, avec une projection à 44 %. Et selon Anthropic, 27 % du travail assisté par IA porte déjà sur des tâches qui n’auraient pas été réalisées autrement. 

L’épisode 2 abordera l’agentic RAG et la gestion du contexte technique. Vous y découvrirez la transformation des organisations (orchestration, supervision, mesure de la valeur) ainsi que la conformité réglementaire avec l’AI Act européen. Enfin nous analyserons ensemble les stratégies d’intégration concrètes de l’agentique pour le développement logiciel sur mesure. 

Illustration article magento 2
DevOps

Booster son Magento 2 avec Varnish

Votre Magento 2 est déjà optimisé, vous utilisez le Full Page Cache, mais avec Varnish, vous allez passer à la vitesse supérieure et aussi alléger votre Magento !

Lire la suite

Sommaire de l'article

Vous êtes prêts à vous lancer !

Résumé de l'article :

  • L’agentique permet à l’IA d’agir dans un environnement logiciel réel, pas seulement de générer du texte. 
  • Les agents IA enchaînent analyse, planification, exécution et vérification en boucle autonome.
  • Les gains sont mesurable : jusqu’à -60 % sur les cycles de relecture, 225 x plus rapide sur l’analyse du code legacy
  • L’agentic RAG résout le problème de surcharge de contexte sur les projets complexes. 
  • La gouvernance doit être pensée dès la conception et l‘AI Act européen s’appliquera dès aout 2026 sur les IA à haut risque. 
  • 90 % des CEOs attendent un ROI mesurable dès 2026 (BCG). 

Votre site est installé sur une distribution Debian Buster avec Nginx/Apache/PHP/MySQL.

Votre site utilise Nginx pour la terminaison SSL, l’objectif consiste à intercaler Varnish entre Apache et Nginx !

L’opération d’installation de Varnish est assez simple. Il faut néanmoins maîtriser la ligne de commande sous Linux et prendre soin de vérifier le bon fonctionnement du cache après installation.

L’objectif, si Nginx redirige les requêtes des ports 80 et 443 vers le port d’écoute Apache (8080 souvent dans ce cas), sera de rediriger les ports 80 et 443 vers le port d’écoute de Varnish, qui par défaut est le 6081. Varnish redirigera à son tour les requêtes sur le port 8080 d’Apache. Le «backend» de Varnish sera le serveur Apache, en localhost sur le port 8080. 

Pour installer Varnish sur Debian, il suffit de lancer la commande : 

Extrait de code installation Varnish
Extrait de code installation Varnish

Jusque là, comme Varnish s’installe par défaut sur le port 6081, il n’y a aucun impact sur le Magento !

On prépare la configuration de Varnish qui se trouve dans /etc/varnish/default.vcl.

A noter que cette configuration est fournie par Magento 2 lui même.

Sauvegardez la version d’origine avant de la modifier avec la version à télécharger ici !

Dans ce fichier, il faut vérifier le paragraphe qui définit l’endroit où seront redirigées les requêtes qui arrivent depuis Varnish.

Illustration de code
Illustration de code

Etape 1 : Modifier la redirection de Nginx

Afin que Nginx redirige les requêtes sur Varnish, il suffit de les envoyer sur le port 6081 au lieu du port 8080.

Dans le fichier de configuration de Nginx, par exemple : /etc/nginx/sites-enabled/reverse-proxy.conf on passe proxy-pass http://localhost:8080 à proxy-pass http://localhost:6081 

Ilustration configuration Varnish
Ilustration configuration Varnish

Le redémarrage de Nginx permet la prise en compte du changement de port :

Illustration redémarrage de Nginx
Illustration redémarrage de Nginx

Etape 2 : purger le cache Varnish

Une fois Varnish installé, on peut vérifier l‘amélioration des performances.

La première étape consiste à purger le cache de Varnish. Sur le serveur Varnish, il suffit de lancer la commande suivante pour vider toutes les URLs mises en cache :

Purge du cache Varnish
Purge du cache Varnish

Le «.» indique 0 et 1 caractère n’importe lequel. Donc toutes les URLs vont matcher cette expression régulière. Toutes les URLs seront donc bannies.

Besoin d'optimiser votre infrastructure ? Échangeons sur vos enjeux

Etape 3 : mesurer les temps de réponse

On peut vérifier les temps de réponse avec cUrl. On prépare un fichier pour le formatage des temps de réponse comme suit :

Manoeuvre cUrl
Manoeuvre cUrl

On met Magento en mode debug pour voir les entêtes Varnish. On lance une première requête après le vidage du cache :

Illustration mode debug Magento
Illustration mode debug Magento

On remarque que l’en-tête X-Magento-Cache-Debug vaut MISS.

La page est servie depuis Apache car elle n’était pas disponible au niveau de Varnish. Mais comme cette page a un Max Age d’une journée, elle a vocation a être cachée. Une deuxième requête identique doit montrer que la page est servie du cache de Varnish.

Illustration cache Varnish
Illustration cache Varnish

On remarque que l’en-tête X-Magento-Cache-Debug vaut HIT et Varnish a mis la page en cache depuis 70 secondes (entête Age). Ce qui correspond bien à notre première requête !

On vient de diviser le temps de réponse par un facteur 10 !

Si on demande la même page directement depuis Apache, on obtiendrait :

Demande sur Apache
Demande sur Apache

Soit un temps de réponse voisin de celui de Varnish quand la page n’est pas cachée. Ce facteur 10 prouve l’intérêt de Varnish, qui va pouvoir servir tous les contenus statiques, images, JS et CSS et pages également, lorsqu’elles n’ont pas de cookies de session, c’est à dire qu’elle ne dépendent pas de l’utilisateur.

C’est donc un gain pour l’expérience utilisateur autant que pour supporter la charge lors des fortes audiences comme les soldes !

Qu’est-ce qu’un système agentique en intelligence artificielle ?

Un système agentique est un système d’IA capable d’exécuter des actions dans un environnement donné pour atteindre un objectif défini. Contrairement à un modèle IA classique qui répond à une question, un agent IA peut enchaîner des étapes, utiliser plusieurs outils et itérer en continu jusqu’à complétion de la tâche.

Un générateur produit du code à partir d’instructions. L’agentic code désigne un système capable d’agir dans un environnement logiciel : analyser un projet, modifier des fichiers, lancer des tests, vérifier les résultats et itérer jusqu’à ce que tout fonctionne.

RAG signifie Retrieval-Augmented Generation. En version classique, un RAG enrichit les réponses d’un modèle IA en lui fournissant des documents de référence. En version agentique, le RAG devient proactif : c’est l’agent lui-même qui décide quelles informations aller chercher, dans quelles sources, et à quel moment de sa tâche. C’est une brique essentielle pour travailler sur des projets logiciels complexes où le contexte est dispersé.

Non. Anthropic note dans son rapport 2026 que les développeurs ne délèguent pleinement que 0 à 20 % de leurs tâches. L’IA est un collaborateur permanent, pas un remplaçant. Le rôle humain reste central pour l’architecture, la conception, la supervision et la qualité.

Parce que les agents IA peuvent accélérer des workflows complets. McKinsey estime une réduction de 20 à 60 % des cycles de relecture. BCG observe que 90 % des CEOs anticipent un ROI mesurable des agents IA dès 2026.

Oui. L’AI Act entré en vigueur en août 2024 encadre l’IA au niveau européen. Les obligations relatives aux systèmes à haut risque s’appliqueront dès août 2026, incluant des exigences de transparence, de traçabilité et de supervision humaine.

Image de Alain Arditi

Alain Arditi

Collaborateur toHero

Sommaire de l'article

Exemple de contention révélée uniquement par un test de charge : la saturation du réseau backend

Résumé de l'article

  • Le test de charge met en évidence une contention réseau backend invisible en conditions nominales.
  • L’architecture testée repose sur plusieurs frontaux et des backends MySQL / Redis en master-slave.
  • La saturation apparaît dès le troisième palier de charge, avant toute limite CPU.
  • Redis génère un trafic interne largement supérieur au trafic réellement servi aux utilisateurs.
  • L’application lit jusqu’à trois fois plus de données que nécessaire pour produire une page.
  • Ce cas illustre l’importance des tests de charge et de la sobriété applicative sur les architectures distribuées.

Dans notre retour sur expérience, l’architecture testée est composée de trois frontaux et de deux serveurs backend. Les serveurs backend fournissent un service MySQL master/slave, c’est-à-dire qu’il n’y a qu’un serveur actif à la fois et un service de cache Redis qui fonctionne également en master/slave.
Sur les deux backends, le premier est master pour MySQL et slave pour Redis, le second est slave pour MySQL et master pour Redis. Ainsi, les flux réseaux provenant des frontaux sont distribués sur les deux backends.

Architecture testée : frontaux multiples et backends MySQL / Redis

Méthodologie du test de charge avec JMeter

Le test de charge a été effectué avec JMeter et le nombre de threads augmente de 25 toutes les 10 minutes :

jmeter_threads
Test de charge sur JMeter

L’utilisation des paliers permet de voir la correspondance avec les métriques côté serveurs. Si tout était idéal, on retrouverait un escalier avec des paliers de 10 minutes sur les graphes des serveurs.

cpu-2
Graphe de serveurs

Premiers signe de contention côté frontaux

Voici la consommation CPU d’un frontal qu’on peut superposer à la courbe de JMeter, tout du moins au début. On voit que les CPU démarrent par des marches d’escalier, mais au bout du troisième palier, après 30 minutes, la CPU ne suit plus les marches.

C’est typique d’une contention qui apparaît au-delà du troisième palier, donc entre 50 et 75 threads au niveau de JMeter.

load-1
Graphe de système

Analyse des flux réseaux sur les frontaux

eth-1
Schéma de flux de réseaux sur les frontaux

On voit que les frontaux reçoivent beaucoup plus de données qu’ils n’en délivrent. Dans la partie verte se trouvent les réponses, c’est-à-dire les pages émises vers les navigateurs et les requêtes faites sur la base de données MySQL et Redis. En bleu, on trouve les requêtes des navigateurs reçues par les frontaux, mais surtout les réponses des backends.

Que se passe-t-il du côté des backends ?

Trafic réseau côté serveur My SQL

Le serveur MySQL reçoit plus de trafic qu’il n’en délivre ! C’est probablement la réplication Redis qui est la source de ce trafic entrant.

Trafic réseau sur serveur MySQL

Trafic réseaux côté serveur redis

Le serveur Redis émet énormément de trafic vers l’extérieur

Trafic réseau sur serveur Redis

Redis, MySQL, réseau...Identifiez vos limites avec un audit d'infrastructure

Identification de la saturation réseau

Pourquoi le débit plafonne à 450 Mbps au lieu de 1 Gbps ?

Dans ce trafic émis, il y a la réplication Redis pour une part mais aussi les informations qui permettent à l’application de créer les pages.

Et surtout on note l‘écrêtage du débit au troisième palier avec un flux de 450 Mbps !

Pourquoi atteint on une limite à 450 Mbps alors qu’en théorie on devrait passer du 1000 Mbps ?
Parce qu’en pratique, il y a 4 machines qui conversent avec ce serveur, et elles font énormément de requêtes. Donc on se trouve loin des conditions optimales de débit.

Déséquilibre entre trafic applicatif et trafic utilisateur​

On voit dans le graphes des frontaux que le trafic émis est de l’ordre de 30 Mbps. Donc le site a un débit de moins de 100 Mbps. Alors que le trafic émis par Redis dépasse les 375 Mbps. Il faut trois fois plus d’informations pour construire une page que ce qu’elle ne contient !

Redis comme accélérateur et facteur de surcharge réseau

On constate pour cette application une surutilisation de Redis. Rien d’étonnant, puisque le Redis stocke les données prêtes à être exploitées par l’application. Les résultats sont pré machés dans Redis et renvoyés directement depuis la mémoire, ce qui accroît les performances. En un peu plus d’une dizaine d’années, le codage des applications passe de l’exécution de requêtes SQL à la lecture des données dans Redis.

Redis utilisé comme mémoire partagée : avantages et limites

En pratique, on utilise Redis comme de la RAM, c’est-à-dire de la mémoire locale. Sauf que quand on a plusieurs frontaux, cette mémoire est partagée. Le bon côté c’est que ça évite de charger des données en cache pour chaque frontal. Le mauvais côté, c’est qu’on accède à cette mémoire à travers le réseau, qui n’a pas du tout les mêmes performances que la RAM.
A noter qu’au bout du troisième palier on sature le réseau, il était donc inutile de faire 8 paliers pendant 1h30 lors de ce test de charge !

Ce type de contention réseau au niveau des backends est assez courante sur les grosses infrastructures qui multiplient les frontaux et les VM ou services.

Perspectives d’amélioration et enjeux d’optimisation applicative​

Les perspectives d’amélioration passent par une modification d’architecture, comme utiliser le Redis avec une réplication master/master ou des lectures sur le slave pour alléger le master. Mais surtout, l’application n’est certainement pas optimisée puisqu’elle nécessite pour pour produire ses pages, la lecture de 3 fois plus de données. Il y a donc très certainement un gâchis de lecture de tableaux dont on ne conserve que quelques informations. La démarche de préservation des ressources prend toute son importance sur les sites à forte audience 

Qu'est-ce qu'un test de charge et à quoi sert-il réellement ?

Un test de charge consiste à simuler une montée progressive du nombre d’utilisateurs afin d’observer le comportement réel d’une application sous contrainte. Il permet d’identifier des limites invisibles en environnement nominal, notamment les contentions CPU, mémoire ou réseau, impossibles à détecter sans mise sous pression contrôlée..

Une contention réseau backend survient lorsque les échanges entre services internes (frontaux, bases de données, cache) saturent la capacité réseau disponible. Le problème ne vient pas du trafic utilisateur, mais des communications internes nécessaires à la construction des pages.

Parce que dans les architectures modernes, la donnée circule beaucoup plus que le calcul. Dans le cas décrit, Redis est massivement sollicité pour fournir des données pré-calculées, ce qui génère un trafic réseau très élevé avant même que les CPU ne soient saturés.

Redis devient un goulet d’étranglement lorsqu’il est utilisé comme une mémoire partagée entre plusieurs frontaux. Chaque accès Redis transite par le réseau, contrairement à une lecture en RAM locale. Lorsque l’application effectue un grand nombre de lectures Redis pour construire ses pages, le volume d’échanges internes augmente fortement et peut saturer le réseau backend avant même que les CPU ou la base de données ne soient sollicités.

Parce que Redis stocke des données intermédiaires prêtes à être exploitées par l’application, souvent plus volumineuses que le contenu final affiché. Dans le cas présenté, l’application lit jusqu’à trois fois plus de données que nécessaire pour produire une page. Ce surcroît de lectures génère un trafic interne massif, sans bénéfice direct pour l’utilisateur final.

Il met en évidence une inadéquation entre l’architecture technique et les usages applicatifs réels. Une infrastructure peut être dimensionnée correctement, mais rester inefficace si l’application consomme inutilement des ressources. Ce type de test de charge révèle que la performance ne dépend pas uniquement de l’infrastructure, mais surtout de la sobriété des échanges et de l’optimisation applicative.