Trả lời nhanh: IOPS viết tắt của Input Output Operations Per Second, tức số thao tác đọc ghi ổ đĩa thực hiện được trong một giây. Chỉ số này quan trọng hơn tốc độ MB/s với hầu hết ứng dụng web, vì database và mã nguồn đọc ghi rất nhiều mẩu dữ liệu nhỏ nằm rải rác chứ không đọc một file lớn liên tục. Ổ NVMe đạt 400.000 tới 700.000 IOPS đọc ngẫu nhiên, SSD SATA khoảng 80.000 tới 100.000, còn ổ cứng cơ chỉ 100 tới 200. Đo IOPS trên VPS bằng lệnh fio.
Nhiều bảng giá VPS khoe tốc độ 3.500 MB/s nghe rất kêu, nhưng con số đó gần như không liên quan tới việc website của bạn phản hồi nhanh hay chậm. Thứ quyết định là IOPS, và bài này giải thích vì sao.
- IOPS đo số thao tác đọc ghi mỗi giây, phản ánh đúng cách database và ứng dụng web truy cập ổ đĩa.
- Có hai loại: tuần tự và ngẫu nhiên. Ứng dụng thật gần như luôn là ngẫu nhiên.
- Chỉ số MB/s chỉ có ý nghĩa khi copy file lớn, không phản ánh trải nghiệm người dùng web.
- Đo bằng fio, và đọc thêm chỉ số độ trễ chứ đừng chỉ nhìn IOPS.
IOPS tuần tự và IOPS ngẫu nhiên
Đọc tuần tự là khi dữ liệu nằm liền nhau, ví dụ copy một file video 4GB. Ổ đĩa chỉ việc đọc một mạch từ đầu tới cuối nên con số MB/s rất đẹp.
Đọc ngẫu nhiên là khi dữ liệu nằm rải rác khắp nơi. Một truy vấn MySQL tra bảng có chỉ mục sẽ nhảy tới vài chục vị trí khác nhau, mỗi lần lấy một mẩu vài KB. Website tải một trang có thể phát sinh hàng trăm thao tác kiểu này. Đây mới là điều xảy ra suốt ngày trên máy chủ thật, và cũng là chỗ ổ NVMe bỏ xa SSD SATA.
Cách đo IOPS trên VPS
Cài công cụ fio rồi chạy phép đo đọc ghi ngẫu nhiên khối 4KB, đúng kiểu database hay làm:
sudo apt install fio -y
fio --name=test --filename=/tmp/fiotest --size=1G \
--rw=randrw --rwmixread=70 --bs=4k --iodepth=32 \
--numjobs=4 --runtime=60 --time_based --group_reportingKết quả trả về hai nhóm số cần chú ý: IOPS và lat tức độ trễ. Nhớ xoá file test sau khi đo bằng rm /tmp/fiotest để không chiếm dung lượng.
Một lưu ý về tính trung thực: đo trên máy ảo luôn cho con số thấp hơn phần cứng trần vì còn lớp ảo hoá và còn khách khác dùng chung máy chủ. Điều nên so là tương quan giữa các nhà cung cấp chứ không phải so với thông số nhà sản xuất ổ.
Bao nhiêu IOPS là đủ
| Loại ứng dụng | IOPS thường cần | Ghi chú |
|---|---|---|
| Blog, landing page ít truy cập | vài trăm | SSD thường dư sức |
| Website doanh nghiệp, tin tức | vài nghìn | SSD tốt hoặc NVMe |
| Sàn thương mại điện tử | hàng chục nghìn | Nên dùng NVMe |
| Database nhiều ghi, log, cache | hàng trăm nghìn | NVMe là bắt buộc |
Con số chỉ mang tính tham chiếu vì còn phụ thuộc cách viết ứng dụng. Một website tối ưu tốt chạy nhẹ hơn nhiều so với website cùng lượng truy cập nhưng thiếu bộ nhớ đệm và thiếu chỉ mục database.
Đừng chỉ nhìn IOPS, hãy nhìn cả độ trễ
Hai ổ cùng cho 100.000 IOPS nhưng một ổ trả kết quả trong 40 micro giây còn ổ kia mất 300 micro giây thì trải nghiệm rất khác. Độ trễ mới là thứ người dùng cảm nhận, nhất là khi một trang web phải chờ hàng trăm thao tác nối tiếp nhau.
Ngoài ra nên xem độ ổn định: nhiều ổ phổ thông cho IOPS cao trong vài chục giây đầu rồi tụt mạnh khi bộ nhớ đệm đầy và nhiệt độ tăng. Ổ chuẩn doanh nghiệp giữ được mức ổn định khi chạy liên tục, và đó chính là kịch bản của máy chủ.
Câu hỏi thường gặp
IOPS quan trọng hơn hay MB/s quan trọng hơn?
Với web và database thì IOPS quan trọng hơn nhiều. Chỉ số MB/s chỉ phản ánh việc đọc ghi file lớn liên tục, còn ứng dụng thật đọc ghi rất nhiều mẩu nhỏ nằm rải rác, đó là việc của IOPS.
Đo IOPS trên VPS bằng gì?
Dùng công cụ fio với chế độ randrw khối 4KB. Nhớ đo trong khoảng thời gian đủ dài, ít nhất 60 giây, để thấy được cả trường hợp ổ bị tụt tốc chứ không chỉ vài giây đầu.
Vì sao IOPS đo trên VPS thấp hơn thông số nhà sản xuất?
Vì có thêm lớp ảo hoá và vì tài nguyên ổ đĩa chia sẻ với các máy ảo khác trên cùng máy chủ. Điều nên so sánh là tương quan giữa các nhà cung cấp, không phải so với con số phần cứng trần.
IOPS thấp thì biểu hiện ra sao?
Website chậm vào giờ cao điểm dù CPU và RAM vẫn còn dư, truy vấn database lâu hơn bình thường, chỉ số I/O wait trong lệnh top tăng cao. Đó là dấu hiệu ổ đĩa đang là nút thắt.
Bài viết liên quan
- DigitalOcean droplet 6 USD vs TND Cloud VPS 199k cho dev VN
- Hướng dẫn chuyển toàn bộ cPanel accounts từ server cũ sang server mới
- OpenClaw skills: viết custom skill bằng JavaScript cho agent của bạn
- Cấu hình MCP cho Antigravity: kết nối Gemini 3 vào WordPress + Postgres tự host
- Transfer domain từ GoDaddy, Namecheap về TND
- Hermes LLM backend so sánh: Claude vs GPT vs Gemini vs DeepSeek cho agent



