Cara Mengukur Performa VPS NVMe dengan fio dan ioping — Tutorial Lengkap
27 April 2026

Provider VPS sering mengklaim "NVMe ultra-cepat", tapi seberapa cepat sebenarnya? Klaim marketing tidak selalu = realitas, karena banyak provider over-provision atau berbagi NVMe antar banyak VPS. Untungnya, mengukur sendiri sangat mudah dengan beberapa tool open source.
Tool yang Akan Kita Pakai
- fio — benchmark storage paling akurat & fleksibel.
- ioping — ukur latensi I/O real-time.
- hdparm — quick test sequential read.
- dd — test paling sederhana untuk gambaran kasar.
Persiapan
apt update
apt install fio ioping hdparm sysstat -y
1. Quick Test dengan dd
Test paling cepat tapi paling tidak akurat (caching memengaruhi).
# Sequential write
dd if=/dev/zero of=/tmp/testfile bs=1M count=1024 oflag=direct
# Sequential read
dd if=/tmp/testfile of=/dev/null bs=1M count=1024 iflag=direct
rm /tmp/testfile
NVMe normal: 1.500-3.000 MB/s. Kalau di bawah 500 MB/s, ada masalah (oversold atau bukan NVMe asli).
2. Random IOPS dengan fio (Standar Industri)
# Random read 4K - test paling penting untuk database
fio --name=randread --filename=/tmp/fio --size=2G \
--rw=randread --bs=4k --ioengine=libaio --iodepth=64 \
--runtime=30 --numjobs=4 --time_based --group_reporting --direct=1
Yang dibaca:
iops— angka utama. NVMe konsumen: 200K-500K. NVMe enterprise: 500K-1M+.bw— bandwidth dalam MB/s.lat (avg)— latensi rata-rata. Bagus < 0.5 ms di iodepth 64.
Random Write
fio --name=randwrite --filename=/tmp/fio --size=2G \
--rw=randwrite --bs=4k --ioengine=libaio --iodepth=64 \
--runtime=30 --numjobs=4 --time_based --group_reporting --direct=1
Mixed 70% Read / 30% Write (Workload WordPress)
fio --name=mixed --filename=/tmp/fio --size=2G \
--rw=randrw --rwmixread=70 --bs=4k --ioengine=libaio \
--iodepth=32 --runtime=30 --numjobs=4 --time_based --group_reporting --direct=1
Sequential Read 1MB Block
fio --name=seqread --filename=/tmp/fio --size=4G \
--rw=read --bs=1M --ioengine=libaio --iodepth=8 \
--runtime=20 --time_based --group_reporting --direct=1
NVMe modern: 2.000-7.000 MB/s.
3. Latensi dengan ioping
ioping -c 20 /tmp
Hasil bagus:
- NVMe: 50-200 µs
- SSD SATA: 200-600 µs
- HDD: 5.000-15.000 µs
4. Sequential Read Cepat dengan hdparm
hdparm -tT /dev/vda
Cek baris "Timing buffered disk reads". NVMe modern: 1.500+ MB/s.
5. Real-time Monitoring saat Workload Jalan
# I/O per device
iostat -xz 2
# Top I/O process
iotop
Perhatikan kolom %util: kalau konsisten 100%, storage adalah bottleneck.
Cara Membandingkan Provider
- Sewa paket terkecil dari masing-masing provider (biasanya bulanan).
- Jalankan suite benchmark di atas saat trafik rendah dan tinggi (siang & malam).
- Catat IOPS, latensi, dan konsistensi (deviasi antar run).
- Provider bagus: hasil konsisten, deviasi < 10%. Provider oversold: hasil naik-turun ekstrim.
Tanda Provider Oversold NVMe
- IOPS jam sibuk < 50% dari jam sepi
- Latensi spike di atas 5 ms berkala
- Sequential read di bawah 800 MB/s padahal ngaku NVMe
iowaitsering tinggi tanpa workload Anda berat
Kesimpulan
Benchmark itu murah dan cepat — pakai sebelum komit kontrak panjang. Jangan percaya 100% klaim marketing; sebagian besar provider serius akan dengan senang hati membiarkan Anda menjalankan benchmark di trial period mereka. Kalau provider menolak, itu sudah cukup jadi alasan untuk pindah ke yang lain.