Skip to content
VDS · Khắc phục sự cố

Máy chủ chậm: bắt đầu từ đâu

Quy trình chẩn đoán năm phút: CPU, bộ nhớ, đĩa, mạng — cách dùng vài lệnh để xác định chính xác cái gì đang nghẽn và làm gì tiếp theo.

Cập nhật 23 tháng 8, 2026

“Mọi thứ đều chậm” không phải là một chẩn đoán. Chỉ có bốn điểm nghẽn: CPU, bộ nhớ, ổ đĩa và mạng. Dưới đây là thứ tự kiểm tra giúp bạn chỉ ra một trong số đó trong vòng năm phút.

Bước 1: bức tranh tổng thể

uptime
free -h
df -h

Ba lệnh loại trừ ngay một nửa khả năng. Nếu tải trung bình cao hơn rõ rệt so với số nhân trên tier của bạn, tức là đang có hàng đợi — xem Load average. available gần bằng không nghĩa là bộ nhớ. Nếu phân vùng đầy 100%, không cần tìm đâu xa — đọc Out of space.

Bước 2: chính xác đâu là điểm nghẽn

vmstat 2 5

Hãy nhìn vào các cột trung bình, tất cả trừ hàng đầu tiên:

  • us và sy cao, r lớn — nghẽn CPU;
  • wa cao, b lớn — nghẽn ổ đĩa;
  • si và so khác không — đang xảy ra swapping, nghĩa là bộ nhớ đang cạn;
  • st cao — thời gian bị hypervisor chiếm, đây là nguyên nhân bên ngoài, hãy liên hệ hỗ trợ.

Bước 3: tìm thủ phạm

ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10
iotop -boPan 3 | head -20        # apt install iotop
ss -tn state established | wc -l

Bức tranh trực tiếp dễ đọc hơn trong htop hoặc btop. Hãy để ý các tiến trình ở trạng thái D — chúng đang chờ ổ đĩa và làm tăng tải.

Nếu thủ phạm là ứng dụng của bạn, câu hỏi tiếp theo là về nó: truy vấn cơ sở dữ liệu chậm, thiếu index, quá nhiều worker, vòng lặp vô hạn sau một lần deploy. Hãy đối chiếu thời điểm bắt đầu chậm với log:

journalctl --since "1 hour ago" -p warning

Bước 4: kiểm tra lịch sử

Mở “Overview” trong bảng điều khiển /hosting/vds/m/<id> và xem biểu đồ của ngày hôm qua và tuần qua. Ba mẫu điển hình:

  • tăng vọt tại một thời điểm cụ thể — có gì đó đã thay đổi: một lần deploy, một bản cập nhật, một cron job mới;
  • đỉnh đều đặn theo lịch — một tác vụ nền; hãy chuyển nó sang ban đêm hoặc giới hạn bằng nice và ionice;
  • cao nguyên phẳng suốt nhiều tuần — bạn đã đơn giản là vượt quá tier của mình.

Làm gì với phát hiện này

Điểm nghẽnHành động nhanhGiải pháp lâu dài
CPUtìm và dừng tiến trình dư thừamột tier có nhiều nhân hơn
Bộ nhớgiới hạn worker và buffer cơ sở dữ liệu, thêm swapmột tier có nhiều bộ nhớ hơn
Ổ đĩagiới hạn backup bằng ionice, cắt bớt logtier cao hơn: cao nguyên tăng theo số nhân
Mạnggiới hạn tải nền bằng --bwlimitđiều tra nguồn lưu lượng

Cao nguyên ổ đĩa được tính như sau: 60 MB/s ghi mỗi nhân, không thấp hơn 60 và không cao hơn 400, với tốc độ đọc gấp đôi. Nếu bạn liên tục ở mức cao nguyên, ổ đĩa sẽ không nhanh hơn nếu không nâng cấp — xem Benchmark.

Lỗi thường gặp

  • Khởi động lại máy ngay lập tức. Việc khởi động lại xóa sạch bức tranh, và trong một giờ mọi thứ sẽ lặp lại. Hãy thu thập số liệu trước.
  • Tin vào một khung hình duy nhất. Một đỉnh nhọn ngay lúc bạn mở htop không có ý nghĩa gì — hãy quan sát trong một phút.
  • Coi bộ nhớ đầy là vấn đề. Hãy nhìn vào available và swap, không phải free.
  • Đổi tier mà không tìm hiểu rõ. Một rò rỉ bộ nhớ hay một script lặp vô hạn sẽ đi theo bạn sang tier mới. Hạ cấp trở lại không được hỗ trợ.

Nếu CPU, bộ nhớ và ổ đĩa đều bình yên nhưng ứng dụng vẫn chậm, điểm nghẽn nằm ngoài máy: một API bên ngoài chậm, DNS, hoặc mạng của client. Hãy kiểm tra curl -w '%{time_total}\n' -o /dev/null -s tới địa chỉ bạn cần.