Choisissez votre langue
Formation Rust Performance Serveur
Plus de 2 millions d'apprenants dans le monde

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.

Dedika pour entreprises

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.

Cliquez ici

Contenu du cours

8 Chapitres • 38 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

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 2Voir les détails

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 3Voir les détails

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 4Voir les détails

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 5Voir les détails

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 6Voir les détails

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 7Voir les détails

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 8Voir les détails

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.

Certification

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...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
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.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
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 !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

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