"Máy chủ chậm" có thể có ba nghĩa khác nhau: mạng đang bận, thứ gì đó trên máy chủ đang dùng băng thông, hoặc chính bài đo bị sai. Bảy bước này giúp phân biệt chúng. Các lệnh dành cho Linux; tên gói áp dụng cho hệ thống dùng apt.
1. Xem biểu đồ trong bảng điều khiển
Mở máy chủ trong bảng điều khiển và vào tab Số liệu. Biểu đồ mạng hiển thị lưu lượng vào và ra mỗi giây cho giờ, ngày hoặc tuần gần nhất. Dữ liệu lấy từ lớp ảo hóa, nên vẫn có ngay cả khi hệ điều hành bên trong máy chủ bị treo.
Có hai thứ nó không cho thấy: tổng tính bằng gigabyte và chương trình nào tạo ra lưu lượng. Các bước tiếp theo dành cho việc đó.
Cùng dữ liệu này có qua API, kể cả tháng gần nhất:
curl -s "https://api.eqvps.com/api/v1/eqvps/services/SERVICE_ID/metrics?timeframe=month" \
-H "Authorization: Bearer $EQVPS_API_KEY"
2. Tìm giao diện mạng của bạn
Hầu hết các lệnh dưới đây cần tên giao diện:
ip -br addr
Bạn cần giao diện mang địa chỉ công khai (hoặc địa chỉ riêng, với máy chủ NAT), thường là eth0 hoặc ens18. Nếu tên của bạn khác, hãy thay eth0 ở dưới.
3. Đếm lưu lượng theo ngày và tháng bằng vnStat
apt install -y vnstat
vnstat -l -i eth0 # live rate, Ctrl+C to stop
vnstat -d # per day
vnstat -m # per month
vnStat đọc bộ đếm giao diện từ kernel, vẫn giữ số liệu sau khi khởi động lại và gần như không tốn tài nguyên. Nó bắt đầu đếm từ lúc cài, nên hãy cài trước khi bạn cần số liệu.
4. Xem tiến trình nào đang dùng băng thông
apt install -y nethogs
nethogs eth0
nethogs liệt kê các tiến trình kèm tốc độ gửi và nhận hiện tại. Nếu bạn thấy một tiến trình lạ đang đẩy lưu lượng, hãy xem xét kỹ: một tiến trình tải lên mạnh bất thường có thể là dấu hiệu máy chủ bị xâm nhập.
Để xem chính các kết nối:
ss -tunap | head -30
5. Chạy bài đo tốc độ có ý nghĩa
Cách đáng tin cậy là dùng iperf3 giữa hai máy bạn kiểm soát. Trên máy kia, khởi động máy chủ:
iperf3 -s
Trên máy chủ của bạn, đo cả hai chiều với 4 luồng trong 30 giây:
iperf3 -c OTHER_HOST -P 4 -t 30 # upload from this server
iperf3 -c OTHER_HOST -P 4 -t 30 -R # download to this server
Máy chủ NAT chỉ nhận kết nối đến trên cổng SSH, nên hãy chạy iperf3 -s trên máy kia và để máy chủ NAT làm client, như trên.
Không có máy thứ hai? Hãy tải một file lớn từ một mirror nhanh gần bạn và đọc giá trị trung bình:
curl -o /dev/null -w "%{speed_download}\n" https://mirror.example.net/1GB.bin
Kết quả tính bằng byte mỗi giây. Nhân 8 để ra bit mỗi giây: 110000000 tương đương khoảng 880 Mbit/s.
6. Kiểm tra độ trễ và mất gói
Thông lượng thấp ở khoảng cách xa thường là vấn đề độ trễ hoặc mất gói, không phải băng thông:
apt install -y mtr-tiny
mtr -rwc 100 example.com
Xem cột Loss% ở dòng cuối. Mất gói xuất hiện ở một chặng giữa rồi biến mất ở các chặng sau thường chỉ có nghĩa router đó ưu tiên thấp cho phản hồi ping, chứ không phải mất gói thật.
7. So sánh với mức bình thường
| Gói | Cổng | Kết quả thường gặp với 4 luồng, đường truyền vắng |
|---|---|---|
| Linux VPS | 1 Gbit/s | khoảng 900–940 Mbit/s mỗi chiều |
| Windows VPS | 150 Mbit/s | khoảng 140 Mbit/s |
Khi nhiều máy chủ trên cùng một máy vật lý bận cùng lúc, đường uplink được chia đều cho chúng, nên con số thấp hơn vào lúc đông là điều bình thường. Không gói nào có hạn mức lưu lượng. Cách chia sẻ được giải thích trong Lưu lượng và tốc độ mạng.
Trên máy chủ Windows, Task Manager → Performance → Ethernet hiển thị tốc độ trực tiếp, còn Resource Monitor → Network hiển thị lưu lượng theo tiến trình.
Nếu số liệu thật sự thấp
Chạy bước 5 tới hai máy chủ thử nghiệm khác nhau, ghi lại thời điểm và mở ticket kèm các lệnh cùng đầu ra của chúng. Với thông tin đó, chúng tôi có thể kiểm tra uplink đúng vào thời điểm ấy.
Liên quan
- Lưu lượng và tốc độ mạng: tốc độ cổng, chia sẻ công bằng, cổng thư gửi đi.
- Mạng và cổng: chuyển tiếp NAT và các cổng đang mở.
- Giải phóng dung lượng ổ đĩa, nếu vnStat hoặc log làm đầy ổ đĩa.
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên.