Skip to main content
  1. Posts/

Benchmark Disk Throughput on Linux

·2 mins·
linux linux
Table of Contents

Menguji kinerja disk sangat penting agar dapat mengetahui kemampuan disk dan kesehatan disk dalam waktu ke waktu. Ini juga dilakukan untuk mengetahui jika ada permasalahan disk pada cluster storege seperti Ceph atau NFS agar beban kerja disk dapat lebih optimal dan lebih efektif.

Berikut beberapa tools yang dapat digunakan untuk benchmark disk.

Hdparm
#

Hdparm merupakan tool sederahana yang dapat digunakan untuk menguji read throughput disk.

hdparm -Tt /dev/vdb
/dev/vdb:
 Timing cached reads:   2452 MB in  1.99 seconds = 1231.20 MB/sec
 Timing buffered disk reads: 1102 MB in  3.02 seconds = 365.04 MB/sec

DD
#

DD (Data Duplicator) adalah utilitas linux untuk menyalin dan mengonversi file atau data. Selain itu DD juga dapat digunakan untuk menguji write throughput disk.

dd if=/dev/zero of=/usr/benchfile bs=1M count=2000 && sync; rm -f /usr/benchfile
1000+0 records in
1000+0 records out
1048576000 bytes (2.0 GB, 2000 MiB) copied, 3.75062 s, 280 MB/s

Fio
#

Fio adalah tool yang menghasilkan sejumlah thread atau proses yang melakukan jenis tindakan I/O sesuai yang ditentukan oleh pengguna. Karena itu fio cocok untuk menguji beban I/O yang ingin disimulasikan.

Buat folder benchmark lalu buat file untuk pengetesan.

fio --name=setup --ioengine=libaio --rw=read \
 --bs=64k --iodepth=64 --numjobs=2 --size=2G \
 --runtime=1 --gtod_reduce=1 --filename=test.fio \
 --direct=1

Untuk pengetesan I/O random read/write dengan ukuran blok (bs) 4k

fio --name=rand_rw_4k --ioengine=libaio --rw=randrw \
 --rwmixread=50 --bs=4k --iodepth=64 --numjobs=2 \
 --size=2G --runtime=30 --gtod_reduce=1 --direct=1 \
 --filename=test.fio

Untuk pengetesan I/O random read/write dengan ukuran blok (bs) 64k

fio --name=rand_rw_64k --ioengine=libaio --rw=randrw \
 --rwmixread=50 --bs=64k --iodepth=64 --numjobs=2 \
 --size=2G --runtime=30 --gtod_reduce=1 --direct=1 \
 --filename=test.fio

Untuk pengetesan I/O random read/write dengan ukuran blok (bs) 512k

fio --name=rand_rw_512k --ioengine=libaio --rw=randrw \
 --rwmixread=50 --bs=512k --iodepth=64 --numjobs=2 \
 --size=2G --runtime=30 --gtod_reduce=1 --direct=1 \
 --filename=test.fio

Untuk pengetesan I/O random read/write dengan ukuran blok (bs) 1m

fio --name=rand_rw_1m --ioengine=libaio --rw=randrw \
 --rwmixread=50 --bs=1m --iodepth=64 --numjobs=2 \
 --size=2G --runtime=30 --gtod_reduce=1 --direct=1 \
 --filename=test.fio

Related

Mengganti Nama Interface di Linux
·2 mins
linux linux
Install noVNC
·1 min
linux vnc linux
Setup and Configure GRE Tunnel on Linux
·3 mins
linux linux
How to Block IP Addresses with Blackhole Route
·2 mins
linux linux
Suspend and Resume Processes in Linux
·1 min
linux linux
Optimizing Linux System with ZRAM
·1 min
linux linux