Cheatsheet Thực ChiếnMÃ: 005-LINUX-PERFORMANCE⏱️ Đọc ~2 phút

Linux Performance Tuning: Phương Pháp USE Và Bộ Công Cụ Giám Sát Brendan Gregg

Khi một hệ thống máy chủ Linux chạy chậm, đa số mọi người thường đoán mò: "Chắc do RAM thiếu" hoặc "Chắc do MySQL nghẽn". Kỹ sư SRE chuyên nghiệp tiếp cận vấn đề theo phương pháp...

Khổ: 1080×1350 (4:5)Tối ưu Mobile & In ấn

Linux Performance Tuning: Phương Pháp USE Và Bộ Công Cụ Giám Sát Brendan Gregg

Khi một hệ thống máy chủ Linux chạy chậm, đa số mọi người thường đoán mò: "Chắc do RAM thiếu" hoặc "Chắc do MySQL nghẽn". Kỹ sư SRE chuyên nghiệp tiếp cận vấn đề theo phương pháp khoa học USE Method được phát triển bởi huyền thoại hiệu năng Brendan Gregg (Netflix):
- U (Utilization): Mức độ sử dụng tài nguyên (% bận rộn).
- S (Saturation): Mức độ bão hòa (hàng đợi chờ xử lý).
- E (Errors): Tỷ lệ lỗi phần cứng / phần mềm.


1. Bản đồ chẩn đoán hiệu năng trong 60 giây

Tài nguyên Công cụ chẩn đoán nhanh Chỉ số báo động
CPU mpstat -P ALL 1 %usr cao (tính toán nặng), %sys cao (nhiều system calls), %iowait > 15%
Memory free -h, vmstat 1 available cạn kiệt, si/so (Swap I/O) > 0
Disk I/O iostat -xz 1 %util > 85% (ổ đĩa bận 100%), await > 10ms (độ trễ đọc ghi cao)
Network sar -n DEV 1 rxpck/s, txpck/s chạm ngưỡng băng thông card mạng vật lý

2. Kiểm tra Disk I/O với iostat -xz 1

iostat -xz 1 5

3 chỉ số sinh tử của ổ đĩa:

  1. r/s & w/s: Số lượt đọc/ghi trên giây (IOPS).
  2. await (hoặc r_await / w_await): Thời gian trung bình để ổ đĩa xử lý xong một yêu cầu I/O (tính bằng mili-giây). Nếu SSD mà có await > 15ms, ổ cứng đang bị nghẽn cổ chai nghiêm trọng!
  3. %util: Tỷ lệ phần trăm thời gian ổ cứng phải làm việc. Nếu con số này chạm 100%, bất kỳ ứng dụng nào ghi file log hay đọc DB đều sẽ bị treo giật!

3. Tối ưu Linux Kernel Sysctl cho Production Web Server

Thêm vào /etc/sysctl.conf để server chịu tải cao mà không bị rụng kết nối:

# Tăng số lượng kết nối đang chờ trong hàng đợi TCP backlog
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535

# Tái sử dụng nhanh các socket ở trạng thái TIME_WAIT
net.ipv4.tcp_tw_reuse = 1

# Tăng dải cổng tạm thời cho các kết nối ra ngoài
net.ipv4.ip_local_port_range = 1024 65535

# Hạn chế Linux ghi RAM ảo ra ổ đĩa Swap khi RAM vật lý còn dư
vm.swappiness = 10

Áp dụng ngay: sudo sysctl -p.

💡 Mẹo lưu trữ & sử dụng trong đội ngũ

Bạn có thể tải bản PDF vector về lưu trữ trong kho tài liệu nội bộ của team (Notion, Confluence) hoặc in khổ A4 dán tại bàn làm việc để tra cứu nhanh khi gặp sự cố lúc nửa đêm.

🎬 VIDEO REEL THỰC CHIẾN LIÊN QUAN (TÓM TẮT 60S)

Video Bóc Tách: 3 Lệnh Cứu Hộ Server Linux Khi Bị Treo Hoặc CPU/RAM 100%

Xem video mô phỏng động trực quan đi kèm với cheatsheet này để hiểu sâu sắc cơ chế hoạt động chỉ trong 60 giây.