Skip to content
VDS · Backup dan disk

Kecepatan disk: baseline dan burst

Bagaimana batas kecepatan disk dihitung per tier, mengapa burst 30 detik diperlukan, cara mengukur kecepatan nyata, dan apa yang harus dilakukan jika Anda menyentuh batasnya.

Diperbarui 23 Agustus 2026

Disk di VPS menggunakan NVMe, tetapi kecepatannya dibatasi oleh tier agar satu mesin tidak menghabiskan sumber daya bersama dari node. Memahami angka-angka ini menyelamatkan Anda dari pertanyaan "mengapa database lambat padahal CPU kosong".

Cara menghitungnya

Baseline tulis adalah 60 MB/s per core, tetapi tidak lebih rendah dari 60 dan tidak lebih tinggi dari 400 MB/s. Baca adalah dua kali baseline tulis. Di atas baseline, burst sebesar tiga kali nilainya tersedia selama 30 detik.

TierCoreBaseline tulisBaseline bacaBurst tulis (30 dtk)
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 mencakup hal-hal yang seharusnya: startup aplikasi, ekstraksi arsip, penerapan migrasi. Aliran tulis yang stabil — menyalin gigabyte, build, memindai database besar — berjalan pada baseline.

Cara mengukurnya

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

Detik-detik pertama akan menunjukkan burst, lalu kecepatan turun ke baseline — ini gambaran yang normal dan diharapkan, bukan kerusakan.

Pemeriksaan kasar cepat tanpa memasang paket:

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

Jangan menjalankan tes disk di mesin produksi selama jam kerja. Tes ini benar-benar akan menghabiskan seluruh bandwidth yang tersedia, dan situs Anda akan butuh beberapa detik untuk merespons selama beberapa menit itu. Dan jangan tinggalkan file tes: dua gigabyte di disk 40 GB adalah porsi yang cukup besar, lihat ruang disk.

Cara mengetahui bahwa disk adalah bottleneck

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

Perhatikan dua metrik: %util mendekati 100 dan await dalam puluhan milidetik menunjukkan antrean disk. Di vmstat tandanya sama — kolom b yang terus bertambah (proses menunggu) dengan persentase utilisasi CPU yang rendah.

Gejala lain: load average tinggi dengan CPU hampir menganggur. Load average Linux juga menghitung proses yang menunggu disk.

Siapa tepatnya yang menulis:

sudo iotop -o -b -n 3

Apa yang harus dilakukan jika Anda mencapai bottleneck

  • Pisahkan waktunya. Penyalinan, build registry, laporan — di malam hari dan tidak bersamaan. Lihat tugas terjadwal.
  • Batasi tugas latar belakang. rsync --bwlimit, nice -n 19 ionice -c3 <command> untuk semua yang tidak mendesak.
  • Kurangi penulisan. Batasi ukuran log, nonaktifkan verbositas berlebihan di aplikasi, pindahkan cache ke memori (tmpfs) jika akan bertahan setelah reboot.
  • Setel database. Di PostgreSQL dan MySQL, sebagian besar penulisan adalah log transaksi. Lebih banyak memori untuk buffer berarti lebih sedikit akses disk.
  • Naikkan tier. Baseline tumbuh seiring core: dari VDS-1 ke VDS-2 menjadi dua kali lipat. Upgrade yang direncanakan hanya bisa ke atas, dengan pembayaran tambahan untuk sisa hari dari masa berbayar.

Kesalahan umum

  • Mengukur kecepatan dengan dd tanpa oflag=direct. Data mengendap di page cache, dan angkanya menjadi terlalu tinggi.
  • Menganggap burst sebagai kecepatan berkelanjutan. 30 detik pertama cepat, lalu baseline — ini memang desainnya.
  • Menyimpan swap di disk aktif dan melakukan swapping ke dalamnya. Saat memori kurang, swap mengubah disk menjadi bottleneck: lebih baik batasi kontainer, lihat batas sumber daya.