Skip to content
VDS · Sao lưu và ổ đĩa

Tốc độ đĩa: baseline và burst

Giới hạn tốc độ đĩa được tính theo tier như thế nào, vì sao cần burst 30 giây, cách đo tốc độ thực và phải làm gì nếu bạn chạm giới hạn.

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

Ổ đĩa trên VPS là NVMe, nhưng tốc độ bị giới hạn theo tier để một máy không "ăn" hết tài nguyên dùng chung của node. Hiểu rõ những con số này sẽ giúp bạn tránh khỏi câu hỏi "tại sao cơ sở dữ liệu chậm trong khi CPU vẫn rảnh".

Cách tính

Mức ghi cơ sở là 60 MB/s mỗi nhân, nhưng không thấp hơn 60 và không cao hơn 400 MB/s. Mức đọc bằng hai lần mức ghi cơ sở. Trên mức cơ sở, bạn có thể burst gấp ba lần giá trị đó trong 30 giây.

TierSố nhânMức ghi cơ sởMức đọc cơ sởBurst ghi (30 giây)
VDS-1160 MB/s120 MB/s180 MB/s
VDS-22120 MB/s240 MB/s360 MB/s
VDS-34240 MB/s480 MB/s720 MB/s
VDS-46360 MB/s720 MB/s1080 MB/s
VDS-58400 MB/s800 MB/s1200 MB/s
VDS-610400 MB/s800 MB/s1200 MB/s

Burst dành cho đúng những việc cần đến nó: khởi động ứng dụng, giải nén file lưu trữ, chạy migration. Một luồng ghi liên tục — copy vài gigabyte, build, quét cơ sở dữ liệu lớn — sẽ chạy ở mức cơ sở.

Cách đo

sudo apt install -y fio
fio --name=w --rw=write --bs=1M --size=2G --numjobs=1 \
    --runtime=60 --time_based --end_fsync=1 --directory=/var/tmp

Vài giây đầu sẽ cho thấy burst, sau đó tốc độ tụt xuống mức cơ sở — đây là diễn biến bình thường và đúng như thiết kế, không phải lỗi.

Cách kiểm tra nhanh, không cần cài thêm gói:

dd if=/dev/zero of=/var/tmp/testfile bs=1M count=2048 oflag=direct
rm /var/tmp/testfile

Đừng chạy kiểm tra ổ đĩa trên máy production trong giờ làm việc. Bài test sẽ thực sự chiếm toàn bộ băng thông khả dụng, và trang web của bạn sẽ mất vài giây để phản hồi trong những phút đó. Và đừng để lại file test: hai gigabyte trên ổ 40 GB là một phần đáng kể, xem dung lượng ổ đĩa.

Cách nhận biết ổ đĩa là điểm nghẽn

sudo apt install -y sysstat
iostat -x 2 5
vmstat 2 5

Hãy nhìn vào hai chỉ số: %util gần 100 và await ở mức vài chục mili giây cho thấy có hàng đợi ổ đĩa. Trong vmstat dấu hiệu cũng tương tự — cột b tăng dần (các tiến trình đang chờ) trong khi phần trăm sử dụng CPU thấp.

Một triệu chứng khác: load average cao trong khi CPU gần như rảnh. Load average của Linux cũng tính cả các tiến trình đang chờ ổ đĩa.

Ai đang ghi cụ thể:

sudo iotop -o -b -n 3

Phải làm gì nếu đã chạm điểm nghẽn

  • Giãn thời gian. Copy, build registry, báo cáo — hãy làm vào ban đêm và không cùng lúc. Xem tác vụ theo lịch.
  • Giới hạn tác vụ nền. rsync --bwlimit, nice -n 19 ionice -c3 <command> cho mọi thứ không gấp.
  • Giảm ghi. Giới hạn kích thước log, tắt chế độ ghi log quá chi tiết trong ứng dụng, chuyển cache vào bộ nhớ (tmpfs) nếu nó tồn tại được qua lần khởi động lại.
  • Tinh chỉnh cơ sở dữ liệu. Trong PostgreSQL và MySQL, phần lớn hoạt động ghi là transaction log. Nhiều bộ nhớ hơn cho buffer nghĩa là ít truy cập ổ đĩa hơn.
  • Nâng lên tier cao hơn. Mức cơ sở tăng theo số nhân: từ VDS-1 lên VDS-2 là gấp đôi. Nâng cấp chỉ có thể theo hướng tăng, với khoản thanh toán thêm cho những ngày còn lại của kỳ hạn đã trả.

Lỗi thường gặp

  • Đo tốc độ bằng dd mà không có oflag=direct. Dữ liệu đọng lại trong page cache, và con số đo ra bị thổi phồng.
  • Coi burst là tốc độ duy trì. 30 giây đầu thì nhanh, sau đó là mức cơ sở — đây là thiết kế cố ý.
  • Để swap trên ổ đĩa đang hoạt động và swap vào đó. Khi thiếu bộ nhớ, swap biến ổ đĩa thành điểm nghẽn: tốt hơn là giới hạn container, xem giới hạn tài nguyên.