Topik ini menjelaskan cara menggunakan alat fio untuk menguji kinerja sistem file Cloud Parallel File Storage (CPFS), termasuk throughput dan operasi input/output per detik (IOPS).
Prasyarat
Sistem file CPFS uji telah dibuat dan dipasang pada Instance Elastic Compute Service (ECS).
Instance ECS uji memiliki core CPU dan bandwidth internal yang mencukupi. Jumlah core CPU harus lebih besar dari atau sama dengan 8.
Informasi latar belakang
Hasil pengujian kinerja bervariasi tergantung pada alat uji yang digunakan dan tidak mencerminkan kinerja aktual. Kami menyarankan Anda menggunakan fio untuk menguji kinerja sistem file CPFS. Hasil kinerja dalam topik ini diperoleh dari pengujian yang dilakukan pada instance ECS Linux dengan menggunakan fio, dan digunakan sebagai referensi kinerja untuk sistem file CPFS.
Prosedur
Sambungkan ke instance ECS. Untuk informasi selengkapnya, lihat Ikhtisar metode koneksi.
Instal alat fio. Jika alat tersebut sudah terinstal, lewati langkah ini dan langsung jalankan perintah pengujian kinerja.
Sistem operasi
Perintah instalasi
CentOS
sudo yum install fioRed Hat Enterprise Linux (RHEL)
Alibaba Cloud Linux
Ubuntu
Jalankan perintah berikut secara berurutan:
sudo apt-get updatesudo apt-get install fio
Debian
Jalankan perintah pengujian kinerja.
Perintah yang digunakan untuk menguji IOPS tulis acak:
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_TestingPerintah yang digunakan untuk menguji IOPS baca acak:
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_TestingPerintah yang digunakan untuk menguji throughput tulis berurutan:
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_TestingPerintah yang digunakan untuk menguji throughput baca berurutan:
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_TestingPerintah yang digunakan untuk menguji throughput tulis acak:
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_TestingPerintah yang digunakan untuk menguji throughput baca acak:
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 dalam perintah fio di atas.
Parameter | Deskripsi |
direct | Menentukan apakah akan menggunakan I/O langsung. Nilai default: 1. Nilai yang valid:
|
iodepth | Kedalaman antrian I/O selama pengujian. Misalnya, |
rw | Kebijakan baca/tulis yang digunakan selama pengujian. Nilai yang valid:
|
ioengine | Mesin I/O yang digunakan fio untuk pengujian. Dalam kebanyakan kasus, libaio digunakan. Untuk informasi tentang mesin I/O lain yang tersedia, lihat dokumentasi fio. |
bs | Ukuran blok unit I/O. Nilai default: 4k, yang berarti 4 KiB. Nilai untuk baca dan tulis dapat ditentukan dalam format <Nilai untuk baca>,<nilai untuk tulis>. Jika Anda tidak menentukan nilai, nilai default akan digunakan. |
size | Ukuran file uji. fio hanya mengakhiri pengujian setelah ukuran file yang ditentukan selesai dibaca atau ditulis, kecuali dibatasi oleh faktor tertentu, seperti runtime. Jika parameter ini tidak ditentukan, fio menggunakan ukuran semua file atau perangkat yang diberikan. Nilai yang valid juga dapat berupa persentase antara 1% hingga 100%. Misalnya, jika parameter size diatur ke 20%, fio menggunakan 20% dari ukuran semua file atau perangkat yang diberikan. |
numjobs | Jumlah thread konkuren yang digunakan selama pengujian. Nilainya adalah 256 dalam contoh ini. |
runtime | Durasi pengujian, yang menunjukkan periode waktu fio berjalan. Jika parameter ini tidak ditentukan, pengujian tidak akan berakhir hingga file dengan ukuran yang ditentukan oleh parameter size selesai dibaca atau ditulis dalam ukuran blok yang ditentukan oleh parameter bs. |
group_reporting | Mode tampilan hasil pengujian. Jika parameter ini ditentukan, statistik per proses ditampilkan, bukan statistik per tugas. |
directory | Jalur pemasangan sistem file yang akan diuji. Nilainya adalah |
name | Nama pengujian. Anda dapat menentukan parameter ini sesuai kebutuhan. Misalnya, Rand_Write_Testing. |
Untuk informasi selengkapnya tentang parameter tersebut, lihat fio(1) - Linux man page.