
Trả lời nhanh: Cùng một bộ việc thật, import database 2 GB, npm ci một dự án ~1.400 gói, dựng trang WordPress không cache, ba loại ổ cho ba đẳng cấp: HDD (100-200 IOPS) đo bằng phút và làm mọi thứ cùng ì; SSD SATA (~80-100K IOPS) đưa mọi thứ về chục giây; NVMe U.2 enterprise (400-700K IOPS, latency dưới trăm micro-giây) rút tiếp 3-7 lần nữa và, quan trọng hơn, giữ nguyên phong độ khi nhiều việc chạy đồng thời. Bài kèm lệnh để bạn tự tái hiện phép đo, vì số của chính mình luôn đáng tin nhất.
Bảng thông số nói NVMe nhanh hơn SATA "gấp nhiều lần", nhưng nhiều lần ở việc gì? Bài này thay thông số bằng ba việc mà ai vận hành web/dev cũng làm hằng tuần, chạy trên ba nền ổ, và phân tích vì sao khoảng cách giữa các loại ổ nở ra khi máy bận, đúng lúc bạn cần nó nhất.
- Ba bài test đời thật: import SQL 2 GB · npm ci 1.400 gói · dựng trang WP không cache
- HDD thua vì cơ khí; SATA thua NVMe vì giao thức và hàng đợi, không phải vì chip nhớ
- Khác biệt lớn nhất không ở con số đơn lẻ mà ở độ ổn định khi tải đồng thời
- Kèm lệnh tái hiện, chạy trên máy đang thuê để biết mình thật sự đứng ở đâu
Vì sao chọn ba bài test này
Chúng đại diện ba mẫu I/O phổ biến nhất của người dùng VPS: import database = ghi tuần tự lớn xen fsync liên tục (mẫu của mọi lần restore backup, migrate); npm ci = ghi ngẫu nhiên hàng vạn file nhỏ (mẫu của deploy, CI, agent AI cài môi trường); dựng trang WordPress không cache = đọc ngẫu nhiên nhỏ rải rác (mẫu của mọi truy vấn database khi cache trượt). Ổ nào thắng cả ba mẫu này thắng gần như mọi việc bạn giao cho VPS.
Kết quả điển hình - và cách đọc
- Import SQL 2 GB: HDD 15-30 phút (mỗi fsync chờ đĩa quay); SATA 2-4 phút; NVMe enterprise ~40-90 giây. Khoảng cách chính từ độ trễ fsync, thứ ổ enterprise có tụ điện xử gần như tức thì.
- npm ci ~1.400 gói: HDD 8-15 phút (mỗi file nhỏ một lần seek cơ khí); SATA 60-120 giây; NVMe 20-40 giây. Đây là phép nhân hằng ngày của dev và agent AI.
- Trang WP không cache: HDD 2-6 giây TTFB; SATA 300-800ms; NVMe 80-200ms. Chuỗi vài chục query nhỏ, mỗi query vài lượt đọc, cộng dồn độ trễ ổ thành cảm giác trang.
Con số dao động theo cấu hình cụ thể, điều không dao động là thứ bậc và bậc độ lớn giữa ba loại. Lưu ý đọc quảng cáo: các hãng khoe "tốc độ 550 MB/s vs 7.000 MB/s" là đọc tuần tự file lớn, mẫu I/O hiếm gặp nhất trong cả ba bài test trên.
Vũ khí giấu của NVMe: đông người không loạn
Chạy từng bài test, SATA thua NVMe 3-7 lần. Chạy cả ba cùng lúc (kịch bản máy thật: web phục vụ khách + deploy + cron backup trùng giờ), khoảng cách nở thành 10-20 lần: SATA/AHCI có một hàng đợi 32 lệnh, việc xếp hàng sau chờ việc trước; NVMe có 64K hàng đợi sâu 64K, các dòng I/O chạy song song không chen nhau. Với người vận hành, đây mới là khác biệt đáng tiền: máy NVMe lúc bận vẫn là chính nó; máy SATA lúc bận là một con máy khác hẳn.
Tự tái hiện trên máy của bạn - 10 phút
# 1) mau fsync/ghi (import database gia lap nhanh):
fio --name=w --filename=/tmp/t --size=1G --rw=write --bs=1M --fsync=32 --runtime=30 --time_based | grep -E 'WRITE|lat'
# 2) mau van-file-nho (npm ci gia lap):
fio --name=r --filename=/tmp/t --size=1G --rw=randwrite --bs=4k --iodepth=1 --runtime=30 --time_based | grep -E 'IOPS|lat'
# 3) mau doc ngau nhien (trang dong):
fio --name=q --filename=/tmp/t --size=1G --rw=randread --bs=4k --iodepth=32 --numjobs=4 --runtime=30 --time_based --group_reporting | grep -E 'IOPS|lat'
rm /tmp/tBa con số + latency của chúng là 'phiếu khám sức khỏe ổ đĩa' của máy đang thuê. Đối chiếu bảng trong bài: rơi vào hạng nào, bạn biết ngay mình đang trả tiền cho hạng đó thật không.
Tự tái hiện phép đo trên máy của bạn
apt install -y fio sysbench
# 1. Doc ghi ngau nhien khoi nho, dung nhat voi co so du lieu va web
fio --name=ngaunhien --ioengine=libaio --direct=1 --bs=4k --rw=randrw --rwmixread=70 \
--iodepth=32 --numjobs=4 --size=2G --runtime=300 --time_based --group_reporting
# 2. Doc ghi tuan tu khoi lon, dung voi sao luu va truyen tep
fio --name=tuantu --ioengine=libaio --direct=1 --bs=1M --rw=read \
--iodepth=8 --numjobs=1 --size=4G --runtime=120 --time_based --group_reporting
# 3. Do tre, con so ma nguoi dung cam nhan duoc
fio --name=dotre --ioengine=libaio --direct=1 --bs=4k --rw=randread \
--iodepth=1 --numjobs=1 --size=1G --runtime=120 --time_based --group_reporting
# QUAN TRONG: chay it nhat 5 phut. Nhieu o chay nhanh 30 giay dau
# roi tut han khi bo dem day.| Chỉ số nên nhìn | Vì sao |
|---|---|
| IOPS đọc ghi ngẫu nhiên | Quyết định tốc độ cơ sở dữ liệu và trang web động |
| Độ trễ ở mức phần trăm thứ 99 | Quan trọng hơn trung bình, vì đây là trải nghiệm tệ nhất mà người dùng gặp |
| Độ ổn định sau 5 phút | Ổ chia sẻ nặng hoặc bị bóp sẽ tụt rõ ở phút thứ hai tới thứ ba |
| Băng thông tuần tự | Chỉ quan trọng với sao lưu và truyền tệp lớn |
Lợi thế ít nói tới: đông người không loạn
Khác biệt lớn nhất không nằm ở con số khi một mình chạy, mà ở chỗ khi nhiều tiến trình cùng đọc ghi. Ổ dùng giao thức cũ có hàng đợi lệnh hẹp, nên khi mười tiến trình cùng yêu cầu thì chúng phải xếp hàng. Ổ dùng giao thức mới có hàng đợi rất sâu và nhiều hàng song song, nên độ trễ giữ ổn định khi tải tăng.
Hệ quả thực tế: máy chủ chạy nhiều dịch vụ cùng lúc, hoặc trang web có nhiều khách đồng thời, cảm nhận khác biệt rõ hơn nhiều so với con số đo một tiến trình đơn lẻ.
Khi nào ổ chậm vẫn đủ dùng
- Lưu trữ tệp ít truy cập: kho sao lưu, kho ảnh cũ, nhật ký lưu trữ dài hạn.
- Trang web tĩnh có lượt truy cập thấp, nhất là khi đã có mạng phân phối đứng trước.
- Không đủ dùng khi: có cơ sở dữ liệu, có nhiều tệp nhỏ, hoặc có nhiều tiến trình đọc ghi cùng lúc.
Câu hỏi thường gặp
VPS còn ai dùng HDD nữa không mà so?
Vẫn còn ở phân khúc siêu rẻ và các gói lưu trữ dung lượng lớn, và nhiều 'SSD' giá lạ thực chất là storage lai có tầng HDD. Biết số của HDD giúp bạn nhận diện khi phép đo trả về con số hạng đó.
SATA SSD có đủ cho web nhỏ không?
Đủ cho web nhẹ ít khách, như bài NVMe là gì đã nói thẳng. Vấn đề là giá NVMe hiện chỉ nhỉnh hơn chút: cùng tầm tiền, chọn hạng dưới không còn lý do kinh tế.
Vì sao tôi đo NVMe mà số thấp hơn bảng nhiều?
Ba nghi phạm theo thứ tự: gói VPS bị giới hạn IOPS (hỏi nhà cung cấp), storage mạng đội lốt NVMe (latency sẽ cao, vài ms), hoặc máy đang bận I/O bởi hàng xóm. Bài 'thuê VPS NVMe 5 bẫy' có quy trình xử từng ca.
RAID 10 ảnh hưởng kết quả thế nào?
Đọc được cộng lực từ nhiều ổ (nhanh hơn ổ đơn), ghi nhân đôi sang gương (vẫn rất nhanh trên NVMe), cộng thêm an toàn dữ liệu. Bài NVMe trong RAID 10 của cụm này mổ riêng cơ chế đó.
Bài viết liên quan
- NVMe là gì? Khác gì SSD SATA và HDD
- VPS NVMe là gì? Khác VPS SSD thường ở đâu
- VPS ổ Enterprise U.2 NVMe RAID 10 tại TND
- Node.js hosting: 5 phương án từ free đến pro, chọn đúng
- VPS Việt Nam hay nước ngoài: chọn theo tệp khách của bạn
- Tailwind + shadcn/ui: setup chuẩn cho dự án vibe code
- CDN là gì? Và khi nào CDN vô dụng với khách Việt Nam
- WordPress 7.0 ship MCP native trong core - góc nhìn vibe coder
- Hermes LLM backend so sánh: Claude vs GPT vs Gemini vs DeepSeek cho agent



