Dokumen ini menjelaskan cara menggunakan alat fio untuk menguji throughput dan operasi input/output per detik (IOPS) dari File Storage NAS pada Linux dan Windows.
Prasyarat
Sistem file telah dibuat dan dipasang pada satu atau lebih instance Elastic Compute Service (ECS). Untuk informasi lebih lanjut, lihat Memulai dengan NAS.
Informasi latar belakang
Hasil performa dalam dokumen ini diperoleh dari pengujian yang dilakukan pada instance ECS Linux dan Windows menggunakan alat fio. Hasil ini digunakan sebagai referensi performa untuk sistem file NAS. Untuk memenuhi metrik performa yang disediakan di halaman produk NAS, kami menyarankan Anda menggunakan beberapa instance ECS untuk melakukan pengujian performa. Untuk informasi lebih lanjut tentang metrik performa, kunjungi halaman produk NAS.
Perhatian
Sebelum melakukan pengujian performa, perhatikan hal berikut:
Throughput maksimum tidak dapat melebihi bandwidth internal instance ECS. Jika bandwidth internal rendah, throughput akan terbatas.
Sebagai contoh, jika Anda membeli sistem file NAS Kapasitas dengan kapasitas terendah dan throughput baca awalnya adalah 150 MB/s, tetapi bandwidth internal instance ECS Anda adalah 100 Mbit/s, maka throughput maksimum hanya mencapai 12,5 MB/s. Untuk mencapai throughput 150 MB/s, Anda memerlukan setidaknya 12 instance ECS untuk pengujian. Jika bandwidth internal instance ECS Anda adalah 1 Gbit/s, throughput maksimum dapat mencapai 125 MB/s. Dalam kasus ini, Anda memerlukan setidaknya dua instance ECS untuk pengujian.
Secara default, klien NFS berbasis Linux hanya dapat mengirimkan maksimum 2 permintaan Network File System (NFS) secara bersamaan. Hal ini membatasi performa klien NFS. Setelah menginstal klien NFS, ubah jumlah maksimum permintaan NFS bersamaan untuk meningkatkan performa klien NFS. Untuk informasi lebih lanjut, lihat Bagaimana cara mengubah jumlah maksimum permintaan NFS bersamaan dari klien NFS?
Klien NFS Windows hanya dapat memproses permintaan dari satu sistem file pada satu waktu. Akibatnya, performa pengujian sistem file NFS di Windows mungkin tidak akurat. Kami menyarankan Anda memodifikasi parameter
-numjobsuntuk meningkatkan jumlah file yang dapat diuji oleh alat fio.
Prosedur
Hubungkan ke instance ECS. Untuk informasi lebih lanjut, lihat Metode Koneksi.
Instal alat fio. Jika alat fio sudah diinstal, lewati langkah ini dan jalankan perintah pengujian performa.
Linux
Sistem operasi
Perintah instalasi
CentOS
sudo yum install fioRedhat
Alibaba Cloud Linux
Ubuntu
Jalankan perintah berikut secara berurutan:
sudo apt-get updatesudo apt-get install fio
Debian
Windows
Unduh paket instalasi dalam format MSI. Untuk mengunduh paket instalasi fio, kunjungi situs resmi fio.
Jalankan perintah pengujian performa. Untuk informasi lebih lanjut tentang perintah, lihat bagian berikut:
Perintah pengujian performa untuk Linux
Bagian ini menggunakan sistem file NAS tujuan umum sebagai contoh. Jalankan perintah berikut pada instance ECS Linux untuk menguji performa.
Perintah untuk menguji IOPS baca acak:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mntContoh hasil pengujian:

Perintah untuk menguji IOPS tulis acak:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mntContoh hasil pengujian:

Perintah untuk menguji throughput baca acak:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=/mntContoh hasil pengujian:

Perintah untuk menguji throughput tulis acak:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=/mntContoh hasil pengujian:

Perintah pengujian performa untuk Windows
Dalam contoh ini, sistem file NAS Kapasitas dipasang pada Disk Z dan alat fio diinstal di lokasi berikut: C:\Program Files\fio\fio.exe. Jalankan perintah berikut untuk melakukan pengujian performa.
Klien NFS Windows hanya dapat memproses permintaan dari satu sistem file pada satu waktu. Akibatnya, performa pengujian sistem file NFS di Windows mungkin tidak akurat. Kami menyarankan Anda memodifikasi parameter -numjobs untuk meningkatkan jumlah file yang dapat diuji oleh alat fio.
Perintah untuk menguji IOPS baca acak:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randread -bs=4K -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\Contoh hasil pengujian:

Perintah untuk menguji IOPS tulis acak:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randwrite -bs=4K -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\Contoh hasil pengujian:

Perintah untuk menguji throughput baca acak:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randread -bs=1M -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\Contoh hasil pengujian:

Perintah untuk menguji throughput tulis acak:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randwrite -bs=1M -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\Contoh hasil pengujian:

Parameter fio
Tabel berikut menjelaskan parameter dalam perintah fio sebelumnya.
Parameter | Deskripsi |
direct | Menentukan apakah menggunakan I/O langsung. Nilai default: 1. Nilai valid:
|
iodepth | Kedalaman antrian I/O selama pengujian. Sebagai contoh, |
rw | Kebijakan baca/tulis yang digunakan selama pengujian. Nilai valid:
|
ioengine | Mesin I/O yang digunakan fio untuk pengujian. Dalam banyak kasus, libaio digunakan. Untuk informasi tentang mesin I/O lain yang tersedia, lihat dokumentasi fio. |
bs | Ukuran blok unit I/O. Nilai untuk pembacaan dan penulisan dapat ditentukan dalam format <Nilai untuk pembacaan>,<nilai untuk penulisan>. Jika Anda tidak menentukan nilai, nilai default digunakan. |
size | Ukuran file pengujian. fio mengakhiri pengujian hanya setelah ukuran file yang ditentukan 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 valid juga bisa berupa persentase yang berkisar antara 1% hingga 100%. Sebagai contoh, jika parameter size diatur ke 20%, fio menggunakan 20% dari ukuran semua file atau perangkat yang diberikan. |
numjobs | Jumlah thread bersamaan yang digunakan selama pengujian. |
runtime | Durasi pengujian, yang menunjukkan periode waktu fio berjalan. Jika parameter ini tidak ditentukan, pengujian tidak berakhir sampai file yang ukurannya ditentukan oleh parameter size 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 | Direktori pemasangan sistem file yang akan diuji. |
name | Nama pengujian. Anda dapat menentukan parameter sesuai kebutuhan. |
Untuk informasi lebih lanjut tentang parameter, lihat fio(1) - Halaman Manual Linux.
FAQ
Bagaimana cara meningkatkan ambang batas throughput baca dan tulis sistem file NAS tujuan umum?
Bagaimana cara meningkatkan performa baca berurutan NFS pada kernel Linux 5.4 atau lebih baru?
Untuk informasi lebih lanjut tentang performa NAS, lihat FAQ tentang Performa Sistem File NAS.