Observability & Profiling Trong Go — Chẩn Đoán Memory Leak & CPU Profiling Với pprof

Điều kiện tiên quyết: Đây là Phần 10 của Khóa Học System Design. Các bài học trước đã hướng dẫn cách thiết kế kiến trúc — bài học này sẽ đi sâu vào cách giám sát và chẩn đoán nội tại của một hệ thống đang vận hành nhằm tìm ra các vấn đề về hiệu năng (Performance Issues) trên môi trường Production. Answer-first: Trong các hệ thống AI-Native và kiến trúc phân tán quy mô lớn năm 2026, giám sát độ trễ (latency) và tiêu thụ tài nguyên là yếu tố sống còn. Bộ công cụ pprof tích hợp sẵn trong Go cung cấp đầy đủ khả năng thu thập thông tin hoạt động: phân tích CPU (CPU sampling), phân tích cấp phát bộ nhớ (heap allocation analysis), kiểm tra stack trace của các goroutines, và phát hiện điểm nghẽn đồng bộ (blocking profiler). Bộ công cụ này có thể tích hợp trực tiếp vào ứng dụng dưới dạng HTTP endpoints với chi phí tài nguyên rất thấp (minimal overhead). Phương pháp so sánh hai bản chụp bộ nhớ (Heap Diff) là cách hiệu quả nhất để xác định chính xác nguyên nhân gây rò rỉ RAM (Memory Leak). ...

18 tháng 6, 2026 · 14 phút · Lê Tuấn Anh

Phát hiện và Xử lý Goroutine Leak trên Production Golang

🇬🇧 Read the English version of this article on tanhdev.com Một pod Kubernetes đột ngột khởi động lại với mã thoát (exit code) 137. Biểu đồ giám sát bộ nhớ (memory metrics dashboard) hiển thị một mô hình bậc thang tăng dần đều đặn kéo dài suốt ba ngày. Không có bất kỳ log panic nào trong stdout, không có lỗi database, và không có mức tăng đột biến CPU bất thường nào. Chỉ là một cái chết êm đềm và từ từ do lỗi OOM (Out Of Memory). ...

26 tháng 5, 2026 · 20 phút · Lê Tuấn Anh