
Formation Rust Performance Serveur
Maîtrisez les outils, les techniques et les modèles mentaux nécessaires pour analyser et optimiser les performances des serveurs Rust. Ce cours vous emmène du modèle de propriété de Rust et des composants internes de son exécuteur asynchrone jusqu'au profilage de niveau production, au réglage des E/S et à la planification de la capacité. Si vous écrivez des logiciels serveur et avez besoin de gains de performance mesurables et défendables, ce cours est celui qui vous les apporte.
Ce que vous allez apprendre:
Vous allez construire un workflow rigoureux d'ingénierie de la performance couvrant le profilage CPU avec perf et les flamegraphs, le profilage du tas avec heaptrack, et le tracing distribué avec la crate tracing et OpenTelemetry. Vous apprendrez comment le planificateur de vol de travail de Tokio fonctionne, comment configurer les options de socket TCP, et comment appliquer les techniques d'E/S zéro copie pour réduire la charge CPU. Le cours couvre la disposition mémoire, les allocateurs personnalisés, la vectorisation SIMD, et les options du compilateur, y compris LTO et PGO. Vous benchmarkerez les bibliothèques de sérialisation, profilerez les composants internes d'Axum et de Hyper, et configurerez les pools de connexions à la base de données avec sqlx. À la fin, vous serez capable d'identifier les goulots d'étranglement de manière systématique, de mettre en œuvre des optimisations ciblées, et de prévenir les régressions grâce à des tests de performance automatisés dans le pipeline CI.
Comment vous étudiez de façon pratique Formation Rust Performance Serveur
Comment vous pratiquez Formation Rust Performance Serveur
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 38 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondamentaux de Rust pour les programmeurs système
Fondamentaux de Rust pour les programmeurs système
Leçon 1 • Gestion des erreurs et flux de contrôle
Enseigne Result, Option et l'opérateur ? pour la propagation explicite des erreurs. Relie la gestion fiable des erreurs au comportement observable du serveur sous charge.
Leçon 2 • Types, traits et génériques
Présente le système de types de Rust, le polymorphisme basé sur les traits et la monomorphisation. Montre comment les abstractions à coût zéro sont obtenues à la compilation.
Leçon 3 • Propriété, emprunt et durées de vie
Couvre le modèle mémoire central de Rust : transfert de propriété, emprunts partagés vs. exclusifs et annotations de durée de vie. Établit les garanties de sécurité qui sous-tendent tout le travail de performance ultérieur.
Leçon 4 • Cargo, crates et le système de construction
Explique la résolution de dépendances de Cargo, les indicateurs de fonctionnalités et les profils de construction. Prépare les étudiants à configurer des constructions de version optimisées pour la mesure de performance.
Chapitre 2MasquerCacher les détailsVoir les détailsPrimitives de concurrence et Rust asynchrone
Primitives de concurrence et Rust asynchrone
Leçon 1 • Threads et concurrence à état partagé
Couvre le lancement de threads, Arc, Mutex et RwLock pour un état partagé sûr. Établit le modèle de concurrence de base avant d'introduire les abstractions asynchrones.
Leçon 2 • Fonctionnement interne du runtime Tokio
Examine l'ordonnanceur de vol de travail de Tokio, le lancement de tâches et le pilote d'E/S. Fournit les connaissances du runtime nécessaires pour interpréter les données de profilage des serveurs asynchrones.
Leçon 3 • Passage de messages avec les canaux
Enseigne les canaux mpsc et bornés comme alternative à l'état partagé. Relie les choix de conception des canaux aux compromis de latence et de débit dans les pipelines serveur.
Leçon 4 • Modèles de synchronisation sous charge
Analyse la contention sur les verrous et les canaux à haute concurrence et introduit des alternatives sans verrouillage. Prépare directement les étudiants à identifier les goulots d'étranglement de synchronisation.
Leçon 5 • Async/Await et le trait Future
Explique comment les Futures sont interrogés, comment les fonctions async sont désucrées et comment les exécuteurs pilotent l'achèvement. Construit le modèle mental nécessaire pour diagnostiquer les problèmes de performance asynchrones.
Chapitre 3MasquerCacher les détailsVoir les détailsDisposition mémoire et mécanismes d'allocation internes
Disposition mémoire et mécanismes d'allocation internes
Leçon 1 • Allocation sur la pile vs. sur le tas
Compare les coûts d'allocation sur la pile et sur le tas et explique quand chaque cas se produit en Rust. Ancre le travail de profilage ultérieur dans des mécanismes d'allocation concrets.
Leçon 2 • Collections et modèles d'allocation
Analyse les stratégies de croissance de Vec, HashMap et String et leurs implications en matière d'allocation. Enseigne les techniques de pré-allocation et de mise en pool pour réduire les pauses de type GC.
Leçon 3 • Disposition des structures et bourrage
Enseigne l'ordre des champs, les règles d'alignement et les attributs repr qui contrôlent la disposition des structures. Montre comment les choix de disposition affectent l'utilisation des lignes de cache et la préparation SIMD.
Leçon 4 • Allocateurs personnalisés et jemalloc
Présente le trait GlobalAlloc et montre comment intégrer jemalloc ou mimalloc. Relie le choix de l'allocateur à des améliorations mesurables de latence dans les charges de travail serveur.
Chapitre 4MasquerCacher les détailsVoir les détailsOutils de profilage et méthodologie de mesure
Outils de profilage et méthodologie de mesure
Leçon 1 • Tests de performance avec Criterion
Couvre les tests de performance statistiques avec Criterion : configuration, mesure et détection de régression. Établit la discipline de mesure de base requise avant toute optimisation.
Leçon 2 • Collecte de métriques et tableaux de bord
Couvre les types de métriques compteur, jauge et histogramme avec la crate metrics et l'export Prometheus. Permet une visibilité continue des performances dans des environnements de type production.
Leçon 3 • Profilage CPU avec perf et les flamegraphs
Enseigne le profilage CPU par échantillonnage avec perf et la visualisation par flamegraph. Relie l'identification des fonctions chaudes aux décisions d'optimisation ciblées.
Leçon 4 • Profilage du tas et détection de fuites mémoire
Utilise heaptrack et Valgrind Massif pour suivre la fréquence d'allocation et la mémoire maximale. Identifie les points chauds d'allocation qui dégradent le débit du serveur sous charge soutenue.
Leçon 5 • Traçage distribué avec la crate tracing
Intègre la crate tracing pour une instrumentation structurée et adaptée à l'asynchrone des requêtes serveur. Fait le pont entre le profilage par fonction et l'analyse de latence de bout en bout entre les limites du service.
Chapitre 5MasquerCacher les détailsVoir les détailsPerformance des E/S et optimisation réseau
Performance des E/S et optimisation réseau
Leçon 1 • Coût des appels système et mise en tampon
Quantifie le coût des appels système read/write et montre les stratégies d'E/S tamponnées. Établit pourquoi la minimisation de la fréquence des appels système est essentielle pour les serveurs à haut débit.
Leçon 2 • Surcharge de performance TLS
Analyse le coût de la poignée de main TLS, la reprise de session et la sélection de suites de chiffrement avec rustls. Quantifie l'impact sur les performances du chiffrement et identifie les stratégies d'atténuation.
Leçon 3 • E/S asynchrones avec Tokio et io_uring
Compare les E/S asynchrones basées sur epoll avec les files de soumission io_uring pour réduire le coût des appels système. Montre comment sélectionner et configurer le backend d'E/S pour les charges de travail cibles.
Leçon 4 • Techniques de zéro-copie
Enseigne sendfile, splice et le partage de tampon basé sur Bytes pour éliminer les copies de données inutiles. Réduit directement l'utilisation du CPU et la bande passante mémoire dans les charges de travail de service de fichiers et de proxy.
Leçon 5 • Réglage TCP et gestion des connexions
Couvre les options de socket, le regroupement de connexions et la configuration du keep-alive pour les sockets serveur. Relie le réglage au niveau TCP aux réductions observables de la latence d'établissement de connexion.
Chapitre 6MasquerCacher les détailsVoir les détailsOptimisation du CPU et du compilateur
Optimisation du CPU et du compilateur
Leçon 1 • Efficacité du cache et localité des données
Enseigne la sensibilisation à la hiérarchie du cache, le préchargement et la disposition des structures de données pour un accès adapté au cache. Montre les gains de débit mesurables provenant d'une localité spatiale et temporelle améliorée.
Leçon 2 • SIMD et vectorisation en Rust
Introduit le SIMD portable via std::simd et les intrinsèques spécifiques à la cible pour les opérations parallèles sur les données. Applique la vectorisation aux chemins chauds d'analyse syntaxique, de hachage et de sérialisation.
Leçon 3 • Indicateurs d'optimisation du compilateur et LTO
Explique les paramètres opt-level, codegen-units et d'optimisation au moment de la liaison dans les profils Cargo. Montre comment chaque indicateur affecte la taille du binaire, le temps de compilation et les performances d'exécution.
Leçon 4 • Inlining, dévirtualisation et PGO
Contrôle l'inlining avec des attributs, élimine le dispatch dynamique et applique l'optimisation guidée par profilage. Montre comment chaque technique réduit le nombre d'instructions dans les boucles serrées du serveur.
Leçon 5 • Prédiction de branchement et indices de vraisemblance
Analyse comment les erreurs de prédiction de branchement dégradent le débit et comment restructurer le code pour aider le prédicteur. Relie les compteurs perf de branchement manqué à des modèles de code spécifiques.
Chapitre 7MasquerCacher les détailsVoir les détailsFonctionnement interne et optimisation du framework serveur
Fonctionnement interne et optimisation du framework serveur
Leçon 1 • Tests de charge et planification de capacité
Utilise wrk, drill et Grafana k6 pour générer de la charge et identifier les points de saturation. Traduit les résultats des tests de charge en décisions de planification de capacité et en priorités d'optimisation.
Leçon 2 • Performances du routeur et des extracteurs Axum
Profile l'arbre de routage d'Axum, la chaîne d'extracteurs et la surcharge d'injection d'état. Enseigne les modèles pour minimiser les allocations par requête et le calcul des extracteurs.
Leçon 3 • Hyper et le fonctionnement interne du pipeline HTTP/1.1
Examine le cycle de vie des connexions Hyper, l'analyse des requêtes et les chemins d'écriture des réponses. Identifie la surcharge au niveau du framework qui peut être réduite par la configuration et les middlewares personnalisés.
Leçon 4 • Réglage de la sérialisation et de la désérialisation
Teste serde_json, simd-json et rkyv pour les charges utiles des requêtes et des réponses. Sélectionne la stratégie de sérialisation appropriée en fonction de la taille de la charge utile et des exigences de latence.
Leçon 5 • Multiplexage HTTP/2 et contrôle de flux
Couvre le multiplexage des flux HTTP/2, les fenêtres de contrôle de flux et la compression des en-têtes dans Hyper. Montre comment régler ces paramètres pour les serveurs API à haute concurrence.
Chapitre 8MasquerCacher les détailsVoir les détailsAnalyse avancée et optimisation en production
Analyse avancée et optimisation en production
Leçon 1 • Réglage des requêtes de base de données et du pool de connexions
Analyse l'exécution des requêtes sqlx et diesel, le dimensionnement du pool de connexions et la mise en cache des instructions préparées. Réduit les pics de latence induits par la base de données qui dominent le temps de réponse du serveur.
Leçon 2 • Stratégies de mise en cache pour la performance du serveur
Implémente des caches LRU en processus et des caches distribués pour réduire le calcul et les E/S redondants. Quantifie l'impact du taux de succès du cache sur le débit et la latence de queue.
Leçon 3 • Tests de régression de performance dans le CI
Intègre les tests de performance Criterion et les tests de charge dans les pipelines CI avec des barrières de régression automatisées. Empêche la dégradation des performances d'atteindre la production grâce à un contrôle systématique.
Leçon 4 • Compromis architecturaux et stratégie d'optimisation
Cadre l'optimisation des performances comme une décision économique utilisant les données de profilage et les contraintes métier. Apprend aux étudiants à prioriser les changements par impact, risque et coût d'implémentation.
Leçon 5 • Profilage continu en production
Déploie des profileurs par échantillonnage toujours actifs comme Pyroscope aux côtés des serveurs en cours d'exécution. Permet la détection des régressions de performance introduites par les modifications de code dans les environnements en direct.
Votre certificat valide de réussite
Ce cours est pour vous :
Ingénieur Backend : souhaite dépasser le code fonctionnel pour se tourner vers un travail mesurable en matière de performance.
Programmeur Système : passe du C ou du C++ et explore l'écosystème d'outils de performance de Rust.
Ingénieur Fiabilité de Site : a besoin de diagnostiquer les régressions de latence dans les services de production basés sur Rust.
Ingénieur Plateforme : chargé d'optimiser l'efficacité d'une infrastructure serveur à fort trafic et contrainte en ressources.
Rustacien Amateur : construit des projets sérieux en parallèle et prêt à apprendre des techniques d'optimisation de niveau professionnel.
Responsable Technique : a besoin d'établir des normes de performance et une culture de révision au sein d'une équipe axée sur Rust.
Ce que disent nos apprenants
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable au Cameroun ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail du cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF




















