Optimization

VPS có bị bóp băng thông không: hiểu đúng về port và tốc độ

Bạn SSH vào VPS, chạy curl -O http://speedtest.viettel.vn/test100.bin, thấy tốc độ chỉ loanh quanh 10-11 MB/s (~80-90 Mbps), dù nhà cung cấp quảng cáo "port 1 Gbps". Bạn liền nghĩ: "chắc bị bóp băng thông rồi". Sai lầm phổ biến nhất khi đánh giá băng thông VPS là nhầm giữa port và tốc độ cam kết, giữa traffic không giới hạn và tốc độ không giới hạn. Bài này sẽ vạch rõ ranh giới và chỉ bạn cách tự đo thực tế.

Yêu cầu trước khi bắt đầu

  • Một VPS chạy Linux (Ubuntu 24.04 hoặc Debian 12) với quyền sudo hoặc root.
  • Cài sẵn các công cụ kiểm tra: iperf3, speedtest-cli, curl.
  • Hiểu cơ bản về đơn vị: 1 Byte = 8 bit, 1 MB/s ≈ 8 Mbps.

Bước 1 - Hiểu đúng: Port 1 Gbps không phải tốc độ 1 Gbps

Khi nhà cung cấp ghi "port 1 Gbps", họ đang nói về khả năng vật lý tối đa của cổng mạng, không phải tốc độ bạn được hưởng mỗi giây. Hãy tưởng tượng một ống nước đường kính 1 mét (port), nhưng van nhà máy chỉ mở 10% (tốc độ cam kết 100 Mbps). Bạn có một ống rất to, nhưng lượng nước chảy qua mỗi giây chỉ 100 Mb, không phải 1.000 Mb.

Cấu hình mạng của hầu hết các VPS (bao gồm các gói VPS Linux phổ biến) đều có port uplink 1 Gbps, nhưng băng thông trong nước mặc định được thiết lập ở mức 100 Mbps. Con hàng đầu00 Mbps này là cam kết tối thiểu bạn luôn đạt được khi truy cập trong nước, nó không phải "bóp" mà là chính sách định tuyến để đảm bảo tài nguyên cho tất cả khách hàng. Port 1 Gbps vẫn để đó cho các burst ngắn hoặc dùng khi cần nâng cấp.

Khái niệmÝ nghĩaGiá trị thường thấy
PortKhả năng tối đa của cổng vật lý1 Gbps
Băng thông cam kết (trong nước)Tốc độ tối thiểu bạn luôn đạt100 Mbps (~12,5 MB/s)
Băng thông quốc tếPool dùng chung, không cam kết~4-10 Mbps

Vì sao không phải 1 Gbps cho tất cả? Đơn giản: hạ tầng Việt Nam có chi phí băng thông nội địa và quốc tế khác nhau. Cam kết 100 Mbps trong nước đã đáp ứng hầu hết nhu cầu thực tế (web hosting, proxy, CI/CD, remote desktop), và giá VPS từ 189.000đ/tháng sẽ không thể nào cấp 1 Gbps full-time được.

Bước 2 - Traffic không giới hạn ≠ Tốc độ không giới hạn

Một hiểu lầm phổ biến khác: "traffic không giới hạn" nghĩa là chạy tốc độ tối đa mãi mãi. Sai. Traffic không giới hạn có nghĩa là bạn không bị giới hạn dung lượng dữ liệu truyền tải trong tháng, bạn có thể down/upload 500 GB, 1 TB, thậm chí 10 TB. Nhưng tốc độ mỗi giây vẫn bị giới hạn bởi chính sách băng thông (100 Mbps trong nước, 4-10 Mbps quốc tế).

Hãy so sánh với gói di động: gọi "data không giới hạn" nhưng vẫn bị giảm tốc sau 5 GB. Ở VPS Việt Nam, traffic không giới hạn thường không cap dung lượng, bạn không lo bị chặn hay tính phí dư. Nhưng tốc độ vẫn có trần. Vậy nên: nếu bạn download file 100 GB, nó sẽ hoàn thành trong ~2,3 giờ ở 100 Mbps. Nếu tốc độ quốc tế chỉ ~5 Mbps, cùng file đó mất ~46 giờ. Cùng "không giới hạn traffic", nhưng trải nghiệm khác xa.

Đối với colocation, cam kết cứng hơn: 100 Mbps trên port 1 Gbps với 400W mỗi 1U, không share pool.

Bước 3 - Trong nước 100 Mbps, quốc tế 4-10 Mbps: Tại sao lại có sự khác biệt?

Băng thông trong nước (Viettel IDC, VNPT IDC, FPT Telecom) là hạ tầng local: các tuyến cáp quang nội địa chi phí thấp và băng thông rộng. Khi bạn truy cập một website Việt Nam, dữ liệu đi từ trung tâm dữ liệu Tier 3 tới ISP người dùng trong nước qua các kết nối peering miễn phí hoặc chi phí rất thấp. Nhờ đó, nhà cung cấp có thể cấp 100 Mbps ổn định với chi phí hợp lý.

Ngược lại, băng thông quốc tế là pool dùng chung (shared) thông qua các tuyến cáp quang biển: AAG, SMW3, APG, IA. Dung lượng các tuyến này có hạn và đắt. Giá băng thông quốc tế tại Việt Nam cao hơn trong nước gấp 5-10 lần. Vì thế, các gói VPS giá rẻ thường dùng pool chung quốc tế khoảng 4 đến 10 Mbps. Con số này thay đổi theo giờ và tải, không phải cam kết.

Vậy VPS quốc tế có "bóp" không? Không, đó là thiết kế kỹ thuật có chủ đích, minh bạch trên trang sản phẩm. Nếu bạn cần băng thông quốc tế cao, bạn sẽ phải trả thêm hoặc chọn gói VPS chuyên biệt (VDI, máy chủ riêng). Còn với mục đích phổ biến: chạy website đối tượng Việt Nam, proxy cho hệ thống nội bộ, remote desktop, CI/CD, pool 4-10 Mbps quốc tế là hoàn toàn đủ.

Bước 4 - Tự đo băng thông VPS đúng cách (3 lệnh thực chiến)

Đừng tin lời quảng cáo, hãy tự đo. Dưới đây là ba cách kiểm tra phổ biến, mỗi cách cho một góc nhìn khác nhau.

4.1 - iperf3 (đo chính xác băng thông giữa hai máy)

iperf3 tạo kết nối TCP/UDP và báo throughput thực tế. Cần hai máy: một làm server, một làm client. Bạn có thể dùng máy tính của mình làm client, VPS làm server.

# Trên VPS (mở port 5201 trong firewall trước):
sudo apt update && sudo apt install iperf3 -y
iperf3 -s -p 5201

# Trên máy tính khác (Linux/macOS/Windows WSL):
iperf3 -c IP_VPS -p 5201 -t 10

Kết quả sẽ hiển thị băng thông trung bình trong 10 giây. Nếu bạn dùng hai VPS cùng trong mạng nội địa (ví dụ đều đặt tại Viettel IDC), bạn sẽ thấy tốc độ ~95-100 Mbps (giới hạn cam kết). Nếu dùng một VPS khác ở quốc tế (như AWS Singapore), kết quả phản ánh đúng pool quốc tế của VPS.

4.2 - speedtest-cli (đo ra internet thực tế)

speedtest-cli dùng máy chủ của Ookla (Speedtest.net) để đo băng thông. Dễ làm, nhưng kết quả có thể dao động theo server bạn chọn.

# Cài đặt:
sudo apt install speedtest-cli -y

# Chạy đo (mất ~30-60 giây):
speedtest-cli --simple

Lệnh --simple cho ping, download và upload. Kết quả download thường sẽ loanh quanh 90-100 Mbps nếu chọn server trong nước. Nếu chọn server ở Mỹ hoặc Nhật, kết quả sẽ thấp hơn (thường 3-8 Mbps) do pool quốc tế.

4.3 - curl (đo tốc độ download file thực tế)

Cách đo thô sơ nhất nhưng trực quan nhất: tải một file từ CDN/máy chủ trong nước và ghi nhận tốc độ.

# Tải file 100 MB từ speedtest Viettel:
curl -o /dev/null -w "%{speed_download}\n" http://speedtest.viettel.vn/test100.bin

# Kết quả là bytes/giây. Chia cho 1.048.576 để ra MB/s, nhân 8 để ra Mbps.
# Ví dụ: 11.000.000 bytes/s → 11.000.000 / 1.048.576 ≈ 10,5 MB/s → 10,5 × 8 ≈ 84 Mbps

Nếu tải file từ server nước ngoài (ví dụ từ CDN Cloudflare của một website Mỹ), tốc độ sẽ thấp hơn, phản ánh đúng băng thông quốc tế của VPS.

Lưu ý khi đo: hãy chạy nhiều lần vào các khung giờ khác nhau, vì băng thông quốc tế là "pool dùng chung", giờ cao điểm (tối) thường chậm hơn sáng sớm.

Xử lý lỗi thường gặp

Lỗi 1: iperf3 không kết nối được

Nguyên nhân hầu như luôn là firewall. Trên VPS, bạn cần mở port 5201 TCP. Với Ubuntu, dùng:

sudo ufw allow 5201/tcp
sudo ufw reload

Sau khi test xong, nhớ đóng lại: sudo ufw deny 5201/tcp.

Lỗi 2: speedtest-cli báo "No matched servers"

Thêm tùy chọn server cụ thể gần VPS nhất:

# Liệt kê server:
speedtest-cli --list | head -20

Chọn server có ID (ví dụ Viettel là 10500), sau đó:

speedtest-cli --server 10500 --simple

Lỗi 3: curl báo tốc độ cực thấp (dưới 1 Mbps)

Kiểm tra URL có thực sự nằm trong nước không. Nếu dùng url từ CDN quốc tế, kết quả đúng là chậm. Hãy dùng đúng link speedtest của Viettel hoặc FPT.

Câu hỏi thường gặp

Tôi thấy VPS quảng cáo "băng thông không giới hạn", vậy có thể chạy seed torrent full tốc độ không?

Không. Traffic không giới hạn có nghĩa là bạn không bị tính dung lượng, nhưng tốc độ vẫn giới hạn bởi chính sách băng thông (100 Mbps trong nước). Ngoài ra, đa số nhà cung cấp VPS Việt Nam đều cấm seed torrent vì vi phạm chính sách sử dụng (AUP).

Làm sao để biết VPS của tôi đang bị "bóp" hay chính sách chuẩn?

Đo bằng iperf3 giữa VPS và một máy chủ khác trong cùng mạng nội địa. Nếu kết quả ổn định ở mức 90-100 Mbps, đó là đúng cam kết. Nếu thấp hơn 30 Mbps thường xuyên, hãy liên hệ hỗ trợ.

Băng thông 100 Mbps có đủ cho website WordPress có 5000 lượt truy cập/ngày không?

Thoải mái. Một trang WordPress tối ưu tốn ~50-200 KB mỗi lượt xem. 5000 lượt xem/ngày tương đương ~1 GB dữ liệu, tức chỉ cần ~11 giây ở 100 Mbps. Băng thông trong nước 100 Mbps đủ cho website tới hàng trăm ngàn lượt truy cập/tháng.

Nếu tôi cần băng thông quốc tế cao hơn (ví dụ 50-100 Mbps), phải làm sao?

Bạn cần nâng cấp lên gói thuê server riêng hoặc liên hệ nhà cung cấp để mua băng thông quốc tế add-on. Các gói VPS giá rẻ không thiết kế cho mục đích đó.

Tốc độ quốc tế pool chung 4-10 Mbps có ổn định không?

Không cam kết ổn định. Đây là pool dùng chung, tốc độ thay đổi theo giờ và số người dùng. Giờ thấp điểm (2-5 giờ sáng) có thể lên 15-20 Mbps, giờ cao điểm (20-23 giờ) có thể xuống 1-2 Mbps.

Port 1 Gbps nhưng speedtest chỉ ra 95 Mbps, vậy tôi có bị thiệt 5 Mbps không?

Không. 95 Mbps trong speedtest là giá trị thực tế sau khi trừ overhead giao thức TCP/IP (khoảng 5%). Có thể so sánh như "dung lượng ổ cứng 1 TB hiển thị 931 GB", overhead là bình thường.

Bài viết liên quan

Lưu ý: Bài viết mang tính tham khảo, tổng hợp kiến thức chung. Mỗi hệ thống, hạ tầng và nhu cầu có đặc thù riêng, nên kiểm thử trong môi trường an toàn và tham vấn kỹ sư trước khi triển khai thực tế.