VPS chạy chậm: tự tìm nguyên nhân trước khi nâng cấp

VPS chạy chậm thường bị đổ lỗi cho cấu hình yếu, trong khi nguyên nhân thật có thể là tiến trình ăn CPU, RAM đầy đổ swap, hoặc database chạy truy vấn nặng lặp lại.

VPS chạy chậm nên tìm nguyên nhân gì trước khi nâng cấp cấu hình

VPS chạy chậm không có nghĩa phải đổi ngay sang gói cấu hình cao hơn. Nâng cấp là việc làm cuối cùng, sau khi đã biết chính xác thứ gì đang ăn tài nguyên. Bỏ qua bước tìm nguyên nhân, đổi gói xong máy vẫn chậm vì đúng tiến trình đó tiếp tục chiếm dụng CPU hoặc RAM trên cấu hình mới.

Minh hoạ cho bài VPS chạy chậm: tự tìm nguyên nhân trước khi nâng cấp

Cách làm đúng là đi theo thứ tự loại trừ: đường truyền, tải hệ thống, RAM và swap, ổ đĩa, database, rồi mới tới khả năng máy chủ vật lý bị nhà cung cấp bán vượt cấu hình. Gói VNLite rẻ nhất trong bảng giá VPS Giá Rẻ của BizMaC chỉ có 1 vCPU và 2 GB RAM, nên với cấu hình nhỏ, một tiến trình chạy sai cũng đủ làm tải trung bình vượt ngưỡng. Mỗi bước dưới đây chỉ mất vài phút với các lệnh có sẵn trên Linux, không cần cài thêm phần mềm giám sát nào.

VPS chạy chậm do đường truyền hay do máy chủ

Phân biệt bằng cách so sánh: mở thêm vài website khác trên cùng mạng, nếu trang nào cũng chậm như nhau thì vấn đề nằm ở đường truyền của người dùng chứ không phải VPS. Nếu chỉ riêng website trên VPS chậm còn các trang khác bình thường, nguyên nhân nằm ở máy chủ.

Cách kiểm nhanh: chạy lệnh PING từ máy cá nhân tới địa chỉ IP của VPS, so sánh độ trễ với PING tới một địa chỉ quen thuộc khác. Độ trễ cao đều ở mọi nơi là do mạng. Độ trễ bình thường nhưng trang tải lâu, nội dung ra chậm, là dấu hiệu nghẽn nằm bên trong máy chủ. Nếu nghi phần chậm nằm ở mã nguồn hoặc cách trình duyệt xử lý chứ không phải hạ tầng, có thể đọc thêm bài về nguyên nhân website tải chậm để loại trừ nhóm nguyên nhân đó trước khi đào sâu vào VPS.

Tải trung bình cao và RAM đổ sang swap là dấu hiệu gì

Tải trung bình (load average) vượt số nhân vCPU đang có nghĩa hàng đợi xử lý đã dồn lại, còn RAM cạn khiến hệ điều hành đẩy dữ liệu sang swap trên ổ đĩa, chậm hơn RAM hàng chục lần. Hai dấu hiệu này thường đi cùng nhau và là nguyên nhân phổ biến nhất của VPS chạy chậm.

Xem load average và tiến trình chiếm CPU

Lệnh UPTIME hoặc TOP hiển thị ba con số tải trung bình trong 1, 5 và 15 phút. So với số vCPU của gói đang thuê, ví dụ gói VNLite chỉ có 1 vCPU, tải trung bình vượt quá 1 kéo dài là dấu hiệu quá tải. Trong TOP hoặc HTOP, sắp xếp theo cột %CPU để thấy ngay tiến trình nào đang chiếm dụng nhiều nhất, thường là một plugin lỗi, script chạy lặp, hoặc tiến trình PHP bị treo.

Xem RAM còn trống và máy có đổ sang swap không

Lệnh FREE -M hiển thị RAM đã dùng, RAM còn trống và dung lượng swap đang chiếm. Cột swap khác 0 và tăng dần qua từng lần kiểm tra nghĩa là RAM vật lý đã hết, hệ thống đang dùng ổ đĩa làm bộ nhớ tạm, chậm hẳn so với RAM thật. Theo tài liệu kernel Linux, tham số vm.swappiness mặc định là 60, hệ thống khá dễ dùng swap ngay cả khi RAM còn dư một phần, nên swap khác 0 không phải lúc nào cũng đáng lo, chỉ đáng lo khi nó tăng liên tục cùng lúc RAM trống gần bằng 0.

Ổ đĩa đầy hay database đang chạy truy vấn nặng

Ổ đĩa gần đầy làm hệ điều hành và database ghi dữ liệu chậm lại, còn database chạy truy vấn nặng lặp đi lặp lại chiếm CPU và làm mọi trang gọi tới nó bị treo cùng lúc. Cả hai đều gây cảm giác trang nào cũng chậm dù CPU và RAM tổng thể vẫn còn dư.

Ổ đĩa còn chỗ trống và có bị đọc ghi liên tục không

Lệnh DF -H cho biết dung lượng ổ đĩa còn trống theo phần trăm. Ổ đầy trên 90% khiến nhiều dịch vụ, kể cả MySQL, từ chối ghi log hoặc dữ liệu tạm. Muốn xem ổ đĩa có đang bị đọc ghi liên tục hay không, dùng IOSTAT hoặc theo dõi cột %wa trong TOP: chỉ số chờ ổ đĩa cao kéo dài nghĩa là CPU đang ngồi chờ ổ đĩa xử lý xong, không phải do thiếu CPU.

Database có truy vấn nặng lặp đi lặp lại không

Chạy lệnh SHOW PROCESSLIST trong MySQL hoặc bật slow query log để xem câu truy vấn nào đang chạy lâu và lặp lại nhiều lần. Nguyên nhân thường gặp trên website WordPress là plugin thống kê, plugin tìm kiếm, hoặc bảng dữ liệu thiếu chỉ mục khiến mỗi lượt truy cập đều quét toàn bộ bảng. Sửa đúng câu truy vấn hoặc thêm chỉ mục thường giải quyết được vấn đề mà không cần đổi gói VPS.

Đã kiểm hết mà VPS vẫn chậm?

Khi tài nguyên thật sự không còn dư, đổi sang gói VPS Giá Rẻ cấu hình cao hơn của BizMaC chỉ mất vài phút, không cần cài lại dữ liệu.

Xem bảng giá VPS Giá Rẻ

Máy chủ vật lý bị bán vượt cấu hình, khi nào mới thật sự cần nâng cấp VPS

Nếu mạng bình thường, tải trung bình thấp, RAM còn dư, ổ đĩa còn chỗ và database không có truy vấn nặng mà VPS vẫn ì, khả năng còn lại là máy chủ vật lý phía dưới đang phục vụ quá nhiều khách cùng lúc. Dấu hiệu nhận biết là chỉ số CPU steal time trong TOP, phần trăm thời gian CPU ảo phải chờ CPU vật lý rảnh để xử lý.

Steal time xuất hiện liên tục ở nhiều thời điểm trong ngày, không chỉ vài giây thoáng qua, là dấu hiệu đáng ngờ về hạ tầng. Bài viết về cách nhận biết server chất lượng kém giải thích thêm những dấu hiệu khác của hạ tầng bị bán vượt tài nguyên. Chỉ khi đã loại trừ hết các nguyên nhân ở trên, và tài nguyên VPS đang dùng thật sự bão hòa theo đúng số liệu đo được, nâng cấp mới là bước hợp lý.

Triệu chứngThứ cần xemKết luậnViệc phải làm
Chậm ở mọi trang web, không riêng VPSPING, traceroute từ máy cá nhânNghẽn đường truyền phía người dùngĐổi mạng hoặc chờ, không liên quan tới VPS
Trang xử lý lâu dù PING tới VPS bình thườngUPTIME, TOP, cột %CPUTải trung bình vượt số vCPU, có tiến trình chiếm CPU caoTắt hoặc sửa tiến trình chiếm CPU cao nhất
Máy phản hồi ì, thao tác chậm bất thườngFREE -M, cột swapRAM cạn, hệ thống đang đổ sang swapGiảm ứng dụng chạy nền hoặc tăng RAM
Ghi file, upload, backup chậm bất thườngDF -H, IOSTAT, cột %waỔ đĩa gần đầy hoặc đang bị đọc ghi liên tụcDọn dữ liệu thừa, kiểm tra tiến trình đang ghi đĩa
Riêng trang có truy vấn database bị treoSHOW PROCESSLIST, slow query logCó câu truy vấn nặng lặp lại nhiều lầnSửa truy vấn, thêm chỉ mục cho bảng dữ liệu
Mọi chỉ số trên đều bình thường mà vẫn chậmTOP, cột CPU steal timeMáy chủ vật lý có thể bị bán vượt cấu hìnhCân nhắc đổi gói hoặc đổi nhà cung cấp

Câu hỏi thường gặp về VPS chạy chậm

VPS chạy chậm có phải luôn do thiếu RAM không?
Không. RAM chỉ là một trong sáu nguyên nhân thường gặp. Tải CPU cao do tiến trình lỗi, ổ đĩa gần đầy, database chạy truy vấn nặng, hoặc máy chủ vật lý bị bán vượt cấu hình đều có thể khiến VPS chậm dù RAM còn dư.

Load average bao nhiêu là VPS đang quá tải?
So với số vCPU đang thuê. Gói 1 vCPU mà tải trung bình 15 phút thường xuyên trên 1 là dấu hiệu quá tải. Gói 4 vCPU thì ngưỡng tương ứng quanh mức 4.

Tại sao RAM còn dư mà máy vẫn dùng swap?
Tham số vm.swappiness mặc định trên Linux là 60, hệ thống có thể đẩy một phần dữ liệu ít dùng sang swap dù RAM chưa cạn hẳn. Chỉ đáng lo khi swap tăng liên tục cùng lúc RAM trống gần về 0.

Nâng cấp cấu hình có sửa được tình trạng máy chạy chậm không?
Chỉ khi nguyên nhân thật sự là thiếu tài nguyên tổng thể. Nếu gốc vấn đề là một tiến trình lỗi hoặc truy vấn database nặng, nâng cấp cấu hình không sửa được, tiến trình đó vẫn ăn tài nguyên trên cấu hình mới.

Kiểm tra hết các nguyên nhân trên mất bao lâu?
Đi hết các bước load average, RAM, swap, ổ đĩa và database bằng các lệnh có sẵn trên Linux thường mất mười đến mười lăm phút, không cần cài thêm công cụ giám sát ngoài.

Tip tham khảo

Giữ thói quen kiểm tra tài nguyên VPS định kỳ, kể cả khi trang chưa chậm, để phát hiện tiến trình bất thường trước khi nó ảnh hưởng tới người dùng. Việc giám sát máy chủ đơn giản chỉ là chạy lại năm lệnh trong bài này mỗi tuần một lần.

Nếu không có thời gian tự theo dõi, dịch vụ quản trị máy chủ chuyên nghiệp của BizMaC nhận thay phần giám sát, xử lý sự cố và tối ưu định kỳ này. Còn nếu đã xác định rõ tài nguyên đang bão hòa thật sự, việc còn lại là đổi gói VPS Giá Rẻ đang dùng theo đúng mức tải đang đo được, tránh nâng cấp theo cảm tính rồi vài tháng sau lại phải đổi tiếp.

Lưu ý: Bài viết chia kinh nghiệm chung, còn mỗi doanh nghiệp một quy mô và một cách vận hành. Muốn biết cách nào hợp với trường hợp của bạn — chọn gói nào, làm theo thứ tự nào, chi phí ra sao — chuyên viên BizMaC tư vấn và làm giúp bạn phần kỹ thuật.

Đọc rồi mà vẫn ngại tự làm?

Để BizMaC dựng website cho doanh nghiệp bạn

Giao diện chuẩn UX, cấu trúc chuẩn SEO, chạy mượt trên di động và dễ tự quản trị sau khi bàn giao. BizMaC làm website cho doanh nghiệp Việt từ năm 2007, đi kèm hướng dẫn vận hành chứ không bàn giao xong là hết.

Khách hàng và các chỉ số lượt theo dõi, độ phủ, doanh thu của một website doanh nghiệp