Hai semuanya, apa kabar? Kali ini saya mau bandingin atau benchmark kecepatan penyimpanan kalau kita pakai VM dengan menggunakan penyimpanan local dan menggunakan Ceph. Saya ingin lihat sejauh mana perbedaan performanya. Perintah yang saya gunakan adalah dd
. VM yang saya gunakan adalah Alma Linux.
Gambar 1 menampilkan konfigurasi/susunan disks pada Proxmox VE cluster yang saya gunakan. Untuk pengetesan VM local saya lakukan pada node pve3
gambar 1
Kita bisa menggunakan perintah dd
(Data Duplicator) yang bisa kita pakai untuk mengukur kecepatan disk. Jenis tes yang dapat dilakukan dengan menggunakan dd
adalah Sequential Read and Write. Pertama-tama kita akan lakukan tes write terlebih dahulu di kedua VM kemudian kita bandingkan hasilnya. Berikut ini adalah perintah yang digunakan:
dd if=/dev/zero of=testing bs=1M count=1000 conv=fdatasync status=progress
- Parameter
if
digunakan untuk menentukan masukan atau input file/device./dev/zero
merupakan file yang dapat memberikan null bytes tanpa henti. Kita gunakan file ini sebagai sumber data yang akan ditulis pada disk. - Parameter
of
digunakan untuk memberi nama output file. Perintah diatas artinya testing merupakan nama output file-nya. - Parameter
bs
artinya adalah block size. Parametercount
artinya jumlah block yang akan ditulis. Pada perintah diatas, block size-nya adalah 1MB sebanyak (count) 1000 kali. - Parameter
conv=fdatasync
berguna untuk memastikan data benar-benar ditulis pada disk bukan pada cache.
Secara default perintah ini tidak menampilkan progress display/bar. Sehingga kita bisa gunakan parameter status=progress
untuk menampilkan progress-nya
Kita coba lakukan perintah tersebut pada VM. Gambar 2 menampilkan hasil dari write test pada local dan Ceph.
gambar 2
Dari gambar 2 kita bisa lihat bahwa kecepatan tulis VM yang menggunakan Ceph lebih cepat daripada yang menggunakan local storage (2,1 GB/s VS 1,4 GB/s). Selanjutnya kita lakukan read test namun sebelumnya kita clear cache dulu agar hasil tes lebih nyata (karena dengan cache biasanya hasilnya akan lebih cepat). Untuk clear cache kita perlu masuk sebagai root terlebih dahulu dan gunakan perintah echo 3 > /proc/sys/vm/drop_caches
(atau bisa juga reboot VM-nya hehehe).
Berikut ini adalah perintah yang kita bisa gunakan untuk melakukan read test:
dd if=testing of=/dev/null bs=1M iflag=direct
- Parameter
if
menyatakan file testing sebagai input-nya. - Parameter of menyatakan output “dibuang” ke
/dev/null
, yaitu direktori yang dapat menghapus/membuang data yang masuk ke dalamnya. Hal ini dilakukan agar lebih fokus mengukur kecepatan read tanpa terbebani harus menulis output dari proses. - Parameter
bs
, sama seperti sebelumnya yaitu block size. - Parameter
iflag=direct
memungkinkan melewati (bypass) buffer cache sehingga proses read langsung dari storage.
Gambar 3 menampilkan hasil read test kedua VM tersebut.
gambar 3
Dari hasil read test yang ditampilkan pada gambar 3, hasilnya VM dengan Ceph lebih cepat daripada VM dengan local storage (3,9 GB/s VS 1,6 GB/s). Hasil ini konsisten seperti sebelumnya yaitu VM dengan Ceph yang unggul.
Tentu pengujian atau benchmark yang saya lakukan masih jauh dari kata ideal, pasti masih banyak hal yang perlu dilakukan agar pengujian dapat lebih akurat. Namun setidaknya untuk pengguna sehari-hari atau pengguna umum, pengujian seperti ini dapat memberikan kita sekilas wawasan tentang perbandingan performa penyimpanan yang digunakan oleh VM.
Sampai jumpa di tulisan yang akan datang, bye~
Salah satu referensi https://www.baeldung.com/linux/disk-performance-test