Topik ini menjelaskan cara menggunakan alat Flexible I/O Tester (FIO) pada Linux untuk menguji throughput dan operasi input/output per detik (IOPS) sistem file Cloud Parallel File Storage (CPFS).
Prasyarat
Anda telah membuat sistem file CPFS dan memasangnya ke Instance ECS.
Instance ECS yang digunakan untuk pengujian memiliki sumber daya CPU yang mencukupi (8 core atau lebih) dan bandwidth internal.
Informasi latar belakang
Anda dapat menggunakan alat FIO untuk menguji kinerja sistem file CPFS Anda. Hasil pengujian kinerja dapat berbeda antar alat dan mungkin tidak mencerminkan kinerja aktual. Metrik kinerja dalam topik ini berasal dari pengujian yang dijalankan dengan alat FIO pada Linux. Metrik tersebut berfungsi sebagai referensi kinerja untuk Produk Cloud Parallel File Storage.
Prosedur
Sambungkan ke Instance ECS. Untuk informasi selengkapnya, lihat Metode Koneksi Instance ECS.
Instal alat FIO. Jika FIO sudah terinstal, Anda dapat melewati langkah ini.
Sistem operasi
Perintah instalasi
CentOS
sudo yum install fioRedhat
Alibaba Cloud Linux
Ubuntu
Jalankan perintah instalasi berikut secara berurutan:
sudo apt-get updatesudo apt-get install fio
Debian
Jalankan perintah pengujian kinerja.
Random write IOPS:
fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randwrite -bs=4k -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Write_TestingRandom read IOPS:
fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randread -bs=4k -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Read_TestingSequential write throughput:
fio -direct=1 -ioengine=libaio -iodepth=1 -rw=write -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Seq_Write_TestingSequential read throughput:
fio -direct=1 -ioengine=libaio -iodepth=1 -rw=read -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Seq_Read_TestingRandom write throughput:
fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randwrite -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Write_TestingRandom read throughput:
fio -direct=1 -ioengine=libaio -iodepth=1 -rw=randread -bs=1m -size=1G -numjobs=256 -runtime=600 -time_based=1 -group_reporting -directory="/mnt/cpfs/test" -name=Rand_Read_Testing
Deskripsi parameter FIO
Tabel berikut menjelaskan parameter FIO yang digunakan dalam perintah pengujian.
Parameter | Deskripsi |
direct | Menentukan apakah akan menggunakan direct I/O. Nilai default: 1.
|
iodepth | Menentukan kedalaman antrian I/O untuk pengujian. Misalnya, |
rw | Menentukan kebijakan baca/tulis untuk pengujian. Anda dapat mengatur parameter ini ke salah satu nilai berikut:
|
ioengine | Menentukan engine I/O yang digunakan FIO selama pengujian. Engine libaio biasanya digunakan karena sesuai dengan pola aplikasi umum. Untuk opsi lainnya, lihat dokumentasi resmi FIO. |
bs | Menentukan ukuran blok untuk setiap unit I/O. Nilai default: 4 KiB. Anda dapat menentukan nilai terpisah untuk operasi baca dan tulis dalam format read,write. Anda dapat mengosongkan salah satu nilai untuk menggunakan nilai default. |
size | Menentukan ukuran file pengujian. FIO membaca atau menulis seluruh ukuran file yang ditentukan sebelum pengujian berhenti, kecuali dibatasi oleh opsi lain seperti runtime. Jika Anda tidak menentukan parameter ini, FIO menggunakan ukuran penuh file atau perangkat yang diberikan. Anda juga dapat menentukan ukuran sebagai persentase dari 1 hingga 100. Misalnya, jika Anda menentukan size=20%, FIO menggunakan 20% dari ukuran penuh file atau perangkat yang diberikan. |
numjobs | Menentukan jumlah thread konkuren untuk pengujian. Dalam contoh ini, nilainya adalah 256. |
runtime | Menentukan durasi pengujian, yaitu waktu proses FIO. Jika parameter ini tidak ditentukan, FIO terus-menerus membaca atau menulis seluruh file yang ditentukan oleh parameter size, menggunakan nilai parameter bs sebagai ukuran blok. |
group_reporting | Menentukan mode tampilan hasil pengujian. Jika Anda menentukan parameter ini, hasil pengujian menggabungkan statistik untuk setiap proses alih-alih melaporkan statistik untuk setiap task secara terpisah. |
directory | Menentukan path mount sistem file yang akan diuji. Dalam contoh ini, path-nya adalah |
name | Menentukan nama task pengujian. Anda dapat mengatur ini ke nama apa pun. Misalnya, Rand_Write_Testing digunakan dalam topik ini. |
Untuk informasi selengkapnya tentang parameter-parameter ini, lihat halaman manual FIO.