Performances des applications Go (Golang) : Optimisation, profilage et systèmes à forte charge
300 pages
French
PDF
4.5

Performances des applications Go (Golang) : Optimisation, profilage et systèmes à forte charge

Performances des applications Go (Golang) : Optimisation, profilage et systèmes à forte charge

Auteur :

Année :

Résumé :

Ce livre est un guide pratique pour créer des applications rapides, efficaces et évolutives en langage Go (Golang). Il est destiné aux développeurs qui connaissent déjà les bases du langage et souhaitent passer au niveau supérieur, en apprenant à tirer le meilleur parti de chaque cœur de processeur et de chaque octet de mémoire.



Contrairement à la plupart des manuels qui enseignent simplement à écrire du code, ce livre se concentre sur la mesure et l'amélioration des performances. Vous n'apprendrez pas seulement des concepts théoriques — vous apprendrez à utiliser les outils professionnels de profilage et de débogage employés par les ingénieurs chez Google, Uber et d'autres géants de la technologie.



Ce que vous apprendrez dans ce livre :

  • Profilage CPU et mémoire : Comment trouver les goulots d'étranglement avec pprof, les flame graphs et l'analyse de trace. Vous apprendrez à lire les profils et à comprendre quel code ralentit.
  • Optimisation du travail avec le ramasse-miettes (GC) : Comment réduire la charge sur le GC, diminuer les pauses et éviter le « stop-the-world ». Stratégies de gestion des allocations et pools d'objets.
  • Concurrence et goroutines : Utilisation efficace des canaux, des mutex et des opérations atomiques. Comment éviter les courses de données, les interblocages et les « fuites » de goroutines.
  • Benchmarks et tests de performance : Comment écrire des benchmarks corrects, comparer les implémentations et éviter les erreurs de mesure.
  • Travail avec la mémoire et le cache : Optimisation des structures de données, alignement des champs dans les structures, utilisation des slices et des maps sans allocations inutiles.
  • Opérations réseau et E/S : Configuration des serveurs HTTP, travail avec les bases de données, sérialisation efficace (protobuf, msgpack) et minimisation de la latence.


À qui s'adresse ce livre :

  • Développeurs Go avec au moins 1 an d'expérience, souhaitant écrire du code rapide pour des projets à forte charge.
  • Ingénieurs DevOps et SRE qui doivent comprendre comment les applications Go fonctionnent sous charge.
  • Responsables techniques prenant des décisions sur l'architecture des microservices.
  • Développeurs venant d'autres langages (Python, Java, C++) et souhaitant maîtriser les spécificités de l'optimisation en Go.


Le livre est construit selon le principe « du simple au complexe » : des benchmarks de base à l'analyse approfondie du fonctionnement du runtime Go. Chaque chapitre contient des exemples de code réels, que vous pouvez immédiatement appliquer dans vos projets. Vous apprendrez non seulement à accélérer les applications existantes, mais aussi à concevoir de nouveaux systèmes en tenant compte des performances dès le départ.



Après avoir lu ce livre, vous serez capable de :

  • Réduire le temps de réponse de l'API de 2 à 3 fois sans modifier l'architecture.
  • Réduire la consommation mémoire de 40 à 60 % grâce à l'optimisation des structures de données.
  • Écrire du code qui utilise efficacement les processeurs multicœurs.
  • Profiler en toute confiance les applications de production sans perte de performance.


Ce n'est pas un guide de syntaxe — c'est un outil pour ceux qui veulent que leurs applications Go volent. Convient pour les versions Go 1.20 et supérieures.

Recommendations