Choisissez votre langue
Cours d'analyse de performance serveur Rust
Plus de 2 millions d'apprenants dans le monde

Cours d'analyse de performance serveur Rust

Maîtrisez les outils, les techniques et les modèles mentaux nécessaires pour analyser et optimiser le rendement des serveurs écrits en Rust. Ce cours vous mène du modèle de propriété de Rust et du fonctionnement interne de l'exécution 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 rendement mesurables et défendables, ce cours est celui qui les offre.

Dedika pour entreprises

Ce que vous allez apprendre:

Vous allez bâtir un flux de travail rigoureux en génie du rendement qui couvre le profilage du CPU avec perf et les flamegraphs, le profilage du tas avec heaptrack, et le traçage distribué avec la crate tracing et OpenTelemetry. Vous apprendrez comment fonctionne l'ordonnanceur par vol de travail de Tokio, comment régler les options des sockets TCP et comment appliquer des techniques d'E/S sans copie pour réduire la surcharge du CPU. Le cours couvre la disposition en mémoire, les allocateurs personnalisés, la vectorisation SIMD et les indicateurs de compilateur, y compris LTO et PGO. Vous évaluerez les bibliothèques de sérialisation, profilerez les composants internes d'Axum et de Hyper, et réglerez les pools de connexions de base de données avec sqlx. À la fin, vous serez en mesure de repérer systématiquement les goulots d'étranglement, de mettre en œuvre des optimisations ciblées et de prévenir les régressions grâce à des portes de rendement automatisées dans l'IC.

Comment vous étudiez de façon pratique Cours d'analyse de performance serveur Rust

Comment vous pratiquez Cours d'analyse de performance serveur Rust

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour entreprises, le cours inclut des exercices et des exemples adaptés à votre propre entreprise et à ses besoins spécifiques.

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èmes

  • 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 une gestion fiable des exceptions 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 nul sont réalisées à 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 rendement ultérieur.

  • Leçon 4 • Cargo, crates et le système de compilation

    Explique la résolution de dépendances de Cargo, les indicateurs de fonctionnalité et les profils de compilation. Prépare les étudiants à configurer des versions release optimisées pour la mesure du rendement.

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écurisé. Établit le modèle de concurrence de base avant d'introduire les abstractions asynchrones.

  • Leçon 2 • Internes du moteur d'exécution 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 moteur d'exécution nécessaires pour interpréter les données de profilage des serveurs asynchrones.

  • Leçon 3 • Passage de messages avec canaux

    Enseigne les canaux mpsc et bornés comme alternative à l'état partagé. Relie les choix de conception de canaux aux compromis de latence et de débit dans les pipelines de serveur.

  • Leçon 4 • Patrons de synchronisation sous charge

    Analyse la contention sur les verrous et les canaux à haute concurrence et introduit des alternatives sans verrou. 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 asynchrones sont désugarisées et comment les exécuteurs pilotent l'achèvement. Construit le modèle mental nécessaire pour diagnostiquer les problèmes de rendement asynchrones.

Chapitre 3Voir les détails

Disposition mémoire et 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 chacun se produit en Rust. Ancre le travail de profilage ultérieur dans des mécanismes d'allocation concrets.

  • Leçon 2 • Collections et patrons d'allocation

    Analyse les stratégies de croissance de Vec, HashMap et String et leurs implications d'allocation. Enseigne les techniques de pré-allocation et de mise en pool pour réduire les pauses équivalentes au GC.

  • Leçon 3 • Disposition de struct et bourrage

    Enseigne l'ordre des champs, les règles d'alignement et les attributs repr qui contrôlent la disposition des structs. 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 démontre l'échange avec 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 • Analyse comparative avec Criterion

    Couvre l'analyse comparative statistique 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'exportation Prometheus. Permet une visibilité continue du rendement dans des environnements de type production.

  • Leçon 3 • Profilage CPU avec perf et Flamegraphs

    Enseigne le profilage CPU par échantillonnage avec perf et la visualisation par flamegraph. Relie l'identification de fonctions chaudes à des décisions d'optimisation ciblées.

  • Leçon 4 • Profilage du tas et détection de fuites

    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 l'instrumentation structurée et consciente de l'asynchrone des requêtes serveur. Fait le pont entre le profilage par fonction et l'analyse de latence de bout en bout à travers les limites de service.

Chapitre 5Voir les détails

Rendement des E/S et optimisation réseau

  • Leçon 1 • Surcharge des appels système et mise en tampon

    Quantifie le coût des appels système read/write et démontre les stratégies d'E/S tamponnées. Établit pourquoi la minimisation de la fréquence des appels système est cruciale pour les serveurs à haut débit.

  • Leçon 2 • Surcharge de rendement TLS

    Analyse le coût de la poignée de main TLS, la reprise de session et la sélection de la suite de chiffrement avec rustls. Quantifie l'impact du chiffrement sur le rendement 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 une surcharge d'appels système réduite. Montre comment sélectionner et configurer le backend d'E/S pour les charges de travail cibles.

  • Leçon 4 • Techniques zéro copie

    Enseigne sendfile, splice et le partage de tampons 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 pool de connexions et la configuration keep-alive pour les sockets serveur. Relie le réglage au niveau TCP à des réductions observables de la latence d'établissement de connexion.

Chapitre 6Voir les détails

Techniques d'optimisation du CPU et du compilateur

  • Leçon 1 • Efficacité du cache et localité des données

    Enseigne la conscience de la hiérarchie du cache, le préchargement et la disposition des structures de données pour un accès adapté au cache. Démontre des gains de débit mesurables grâce à une localité spatiale et temporelle améliorée.

  • Leçon 2 • SIMD et vectorisation en Rust

    Introduces portable SIMD via std::simd and target-specific intrinsics for data-parallel operations. Applies vectorization to parsing, hashing, and serialization hot paths.

  • Leçon 3 • Indicateurs d'optimisation du compilateur et LTO

    Explique opt-level, codegen-units et les paramètres 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 le rendement à l'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 profil. Démontre comment chaque technique réduit le nombre d'instructions dans les boucles serveur serrées.

  • Leçon 5 • Prédiction de branchement et indications de probabilité

    Analyse comment les prédictions erronées de branchement dégradent le débit et comment restructurer le code pour aider le prédicteur. Relie les compteurs perf de branchements manqués à des patrons de code spécifiques.

Chapitre 7Voir les détails

Internes du cadriciel serveur et optimisation

  • 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 priorités d'optimisation.

  • Leçon 2 • Rendement 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 des patrons pour minimiser les allocations par requête et le calcul des extracteurs.

  • Leçon 3 • Internes du pipeline Hyper et 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 cadriciel qui peut être réduite par la configuration et l'intergiciel personnalisé.

  • Leçon 4 • Réglage de la sérialisation et de la désérialisation

    Fait des benchmarks de serde_json, simd-json et rkyv pour les charges utiles de requêtes et de 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 de flux HTTP/2, les fenêtres de contrôle de flux et la compression d'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 du pool de connexions et des requêtes de base de données

    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 le rendement du serveur

    Met en œuvre des caches LRU en processus et des caches distribués pour réduire les calculs redondants et les E/S. 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 rendement dans le CI

    Intègre les benchmarks Criterion et les tests de charge dans les pipelines CI avec des barrières de régression automatisées. Empêche la dégradation du rendement d'atteindre la production grâce à un filtrage systématique.

  • Leçon 4 • Compromis architecturaux et stratégie d'optimisation

    Formule l'optimisation du rendement comme une décision économique utilisant les données de profilage et les contraintes commerciales. Enseigne aux étudiants à prioriser les changements en fonction de l'impact, du risque et du coût de mise en œuvre.

  • 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 rendement introduites par des modifications de code dans des environnements réels.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Ingénieur·e backend : veut dépasser le code fonctionnel pour réaliser un travail de rendement mesurable.

  • Programmeur·euse système : passe du C ou du C++ et explore l'écosystème d'outils de rendement de Rust.

  • Ingénieur·e de fiabilité de site : doit diagnostiquer les régressions de latence dans les services de production reposant sur Rust.

  • Ingénieur·e de plateforme : responsable d'extraire l'efficacité d'une infrastructure serveur à fort trafic et aux ressources limitées.

  • Rustacé·e amateur·rice : réalise des projets personnels sérieux et est prêt·e à apprendre des techniques d'optimisation de niveau professionnel.

  • Responsable technique : doit établir des normes de rendement et une culture de révision au sein d'une équipe axée sur Rust.

Ce que nos apprenants disent

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 à 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 Numérique
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 il est présenté ainsi que la transcription des vidéos, 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 Canada ?

Les cours sont-ils gratuits?

Quelle est la charge de travail des 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 fonctionne?

Cours PDF