ZD Tech : tout comprendre en moins de 3 minutes avec ZDNet podcast

Ce goulot d'étranglement du noyau Linux qui ralentit vos conteneurs, les enseignements techniques de Netflix

0:00
3:09
Reculer de 15 secondes
Avancer de 15 secondes

Aujourd'hui, nous plongeons dans les entrailles de l'infrastructure de Netflix. Le géant du streaming vient de lever le voile sur un mystère technique : pourquoi vos conteneurs ralentissent-ils parfois sans raison ?

La réponse ne se trouve pas dans votre code, mais bien plus bas, au croisement du noyau Linux et de l'architecture de vos processeurs.

Le mur invisible du noyau Linux

Et le premier point, c'est le mur invisible du noyau Linux.

Les ingénieurs de Netflix ont en effet remarqué que lors de pics de charge, la création de conteneurs se figeait totalement pendant plusieurs secondes.

En creusant, ils ont découvert un goulot d'étranglement au niveau du "Global Mount Lock" du système de fichiers virtuel de Linux.

Concrètement, chaque conteneur nécessite des dizaines de montages de couches d'images. Et lors d'un déploiement massif, le système peut subir plus de 20 000 appels système simultanés.

Et comme ils doivent tous passer par un seul et même verrou de sécurité dans le noyau, tout le serveur s'arrête net, un peu comme une foule immense essayant de passer par une seule porte battante.

Tous les processeurs ne sont pas égaux

Mais le second pilier, c'est l'impact crucial du matériel.

Car l'étude de Netflix révèle que tous les processeurs ne sont pas égaux face à ce stress.

Sur les anciennes instances, la gestion de la mémoire entre les processeurs, ce qu'on appelle le NUMA, aggrave massivement la latence.

À l'inverse, les puces de nouvelle génération, comme les processeurs AMD et Intel les plus récents sur AWS, s'en sortent bien mieux grâce à leurs architectures de cache distribué.

Et plus surprenant encore, désactiver l'Hyper-Threading a permis d'améliorer la latence de 30 %.

Bref, pour des charges de travail intensives en conteneurs, le choix de l'instance cloud ne se résume pas au nombre de cœurs, mais à la topologie réelle du silicium.

Repenser la structure même des images de conteneurs

Enfin, quelles solutions pour vos équipes ?

La solution la plus efficace a été pour Netflix de repenser la structure même des images de conteneurs. En regroupant les montages de couches sous un parent commun, Netflix a fait passer la charge de travail d'un mode linéaire à un mode constant.

Peu importe le nombre de couches de votre application, l'impact sur le noyau reste donc minimal. En combinant cette optimisation logicielle avec un routage des tâches vers les processeurs les plus robustes, le groupe a retrouvé de la fluidité.

C'est la preuve qu'à grande échelle, la performance ne se gagne plus seulement dans l'application, mais dans une parfaite maîtrise de toute la pile technologique.

Le ZD Tech est sur toutes les plateformes de podcast ! Abonnez-vous !


Hébergé par Ausha. Visitez ausha.co/politique-de-confidentialite pour plus d'informations.

D'autres épisodes de "ZD Tech : tout comprendre en moins de 3 minutes avec ZDNet"