Leistung von Go (Golang)-Anwendungen: Code- und Systemoptimierung
Leistung von Go (Golang)-Anwendungen: Code- und Systemoptimierung
Zusammenfassung:
Moderne hochbelastete Systeme erfordern maximale Effizienz von jedem Byte und jeder Mikrosekunde. Das Buch „Leistung von Go (Golang)-Anwendungen“ ist ein umfassender Leitfaden zur Diagnose und Beseitigung von Engpässen in Go-Diensten, geschrieben von einem praktizierenden Ingenieur mit Erfahrung in der Optimierung von Systemen, die Millionen von Anfragen pro Sekunde verarbeiten.
Worum geht es in diesem Buch
Im Gegensatz zu abstrakten Lehrbüchern konzentriert sich dieses Werk auf konkrete Werkzeuge und Methoden. Sie durchlaufen den Weg vom grundlegenden Profiling bis zur Feinabstimmung des Garbage Collectors und des Goroutine-Schedulers. Jede Technik wird durch reale Beispiele und Benchmarks untermauert.
- CPU- und Speicher-Profiling — Arbeit mit pprof, trace, Flame Graphs (inklusive Integration mit Prometheus).
- Benchmarking und Leistungstests — Schreiben korrekter Benchmarks, Analyse von Latenz und Durchsatz.
- Optimierung von Allokationen — Wie man unnötige Speicherzuweisungen vermeidet, Objektpools, Zero-Copy-Techniken.
- Arbeit mit Goroutinen und Kanälen — Profiling von Nebenläufigkeit, Erkennung von Datenrennen, Lastausgleich.
- Garbage Collector (GC) — Konfiguration von GOGC, Reduzierung von STW-Pausen, Arbeit mit großen Heaps.
- Niedrigstufige Optimierung — Verwendung von unsafe, Inlining, Escape-Analyse.
- Netzwerk- und I/O-Optimierungen — HTTP/2, gRPC, Connection Pooling, netpoll.
Für wen ist dieses Buch
Das Buch ist nützlich für:
- Go-Entwickler auf Middle- und Senior-Niveau, die die Leistung ihrer Dienste verbessern möchten;
- DevOps- und SRE-Ingenieure, die für die Stabilität und Effizienz von Go-Anwendungen in der Produktion verantwortlich sind;
- Architekten, die hochbelastbare Microservices-Systeme entwerfen;
- Teamleiter, die die Migration von Legacy-Systemen auf Go planen.
Was Sie lernen und anwenden können
- Wie Sie mit
pprofundtracein 5 Minuten „Flaschenhälse“ finden. - Wie Sie den Speicherverbrauch um 40–60% reduzieren, ohne Geschwindigkeit zu verlieren.
- Wie Sie Benchmarks schreiben, die nicht lügen, und deren Ergebnisse interpretieren.
- Wie Sie die Latenz in Microservices durch korrekte Arbeit mit Kanälen und Kontexten senken.
- Wie Sie den GC für Echtzeitanwendungen mit niedriger Latenz konfigurieren.
- Wie Sie Profiling in CI/CD verwenden, um Leistungsregressionen zu verhindern.
Das Buch ist nach dem Prinzip „vom Einfachen zum Komplexen“ aufgebaut: Die ersten Kapitel können selektiv gelesen werden, aber das sequenzielle Studium vermittelt ein systemisches Verständnis davon, wie Go Code ausführt und wie man es dazu bringt, zu 100% zu arbeiten.
Jedes Kapitel enthält praktische Aufgaben und fertige Codebeispiele, die sofort ausgeführt werden können. Am Ende des Buches finden Sie eine Checkliste für das Leistungsaudit eines Produktionsdienstes.
Dies ist nicht nur eine Sammlung von Tipps – es ist eine Methodik, die Ihnen hilft, einen langsamen Dienst in ein hochleistungsfähiges System zu verwandeln, das für jede Last bereit ist.
Empfehlungen
Python 3 und PyQt 5. Entwicklung von Anwendungen
Sicherheit von C# (.NET)-Anwendungen: Schutz des Codes vor Angriffen
API-Entwicklung mit C# (.NET): Von den Grundlagen bis zur Produktion
Leistung von Go (Golang)-Anwendungen
Architektur von Java-Anwendungen: Vom Monolithen zu Microservices
Meisterung der Programmierung für iOS 14