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:
usvàsycao,rlớn — nghẽn CPU;wacao,blớn — nghẽn ổ đĩa;sivàsokhác không — đang xảy ra swapping, nghĩa là bộ nhớ đang cạn;stcao — 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
nicevà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ẽn | Hành động nhanh | Giải pháp lâu dài |
|---|---|---|
| CPU | tìm và dừng tiến trình dư thừa | mộ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 swap | một tier có nhiều bộ nhớ hơn |
| Ổ đĩa | giới hạn backup bằng ionice, cắt bớt log | tier cao hơn: cao nguyên tăng theo số nhân |
| Mạng | giớ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
availablevà swap, không phảifree. - Đổ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 -stới địa chỉ bạn cần.