Halaman ini membahas pengujian performa untuk instance Filestore.
Ringkasan
Jika menggunakan Linux, Anda dapat menggunakan alat Flexible IO Tester (fio) untuk menjalankan benchmark throughput baca, throughput tulis, IOPS baca, dan IOPS tulis, untuk instance tingkat dasar , regional, zonal, dan perusahaan.
Anda dapat menguji performa instance dasar menggunakan satu VM klien. Sebaiknya jangan gunakan satu VM klien untuk menguji instance regional, zonal, atau perusahaan karena tingkat layanan scaleout dioptimalkan performanya untuk beberapa VM klien dan satu klien biasanya tidak dapat mencapai IOPS atau throughput cluster maksimum.
Untuk mengetahui informasi selengkapnya, lihat Performa VM klien tunggal dan beberapa klien.
Sebelum memulai
Pasang file share Filestore yang ingin Anda uji di semua VM klien. VM ini dapat berupa satu atau beberapa VM klien, bergantung pada tingkat layanan. Untuk petunjuk mendetail dan opsi pemasangan, lihat Memasang fitur berbagi file di klien Compute Engine.
Pastikan untuk menentukan opsi pemasangan nconnect untuk meningkatkan performa NFS. Untuk tingkat layanan tertentu, sebaiknya tentukan jumlah koneksi berikut antara klien dan server:
| Tingkat | Kapasitas | Jumlah koneksi | 
|---|---|---|
| Regional, zonal | 1-9,75 TiB | nconnect=2 | 
| Regional, zonal | 10-100 TiB | nconnect=7 | 
| Enterprise | - | nconnect=2 | 
| SSD skala tinggi | - | nconnect=7 | 
Anda dapat mengoptimalkan throughput operasi baca NFS dengan menyesuaikan parameter value read_ahead_kb. Untuk mengetahui informasi selengkapnya, lihat Mengoptimalkan throughput operasi baca NFS dengan parameter read_ahead_kb.
Menguji performa dengan satu VM klien
Gunakan skenario berikut untuk melakukan pengujian pada instance dasar. Anda dapat menjalankan perintah langsung dari command line.
Throughput tulis maksimum untuk instance dasar yang lebih kecil dari 1 TiB:
fio --ioengine=libaio --filesize=4G --ramp_time=2s --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 --group_reporting --directory=/mnt/nfs --name=write --blocksize=1m --iodepth=64 --readwrite=writeThroughput baca maksimum:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs --buffer_compress_percentage=50 \ --name=read --blocksize=1m --iodepth=64 --readwrite=readThroughput tulis maksimum:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs --buffer_compress_percentage=50 \ --name=write --blocksize=1m --iodepth=64 --readwrite=writeIOPS baca maksimum:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs --buffer_compress_percentage=50 \ --name=randread --blocksize=4k --iodepth=256 --readwrite=randreadIOPS tulis maksimum:
fio --ioengine=libaio --filesize=32G --ramp_time=2s \ --runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \ --group_reporting --directory=/mnt/nfs --buffer_compress_percentage=50 \ --name=randwrite --blocksize=4k --iodepth=256 --readwrite=randwrite
Menguji performa dengan beberapa VM klien
Untuk mencapai performa maksimum untuk instance zonal, regional, dan perusahaan, gunakan beberapa VM klien.
Sebaiknya gunakan delapan VM klien per 1 TiB untuk instance antara 1 dan 9,75 TiB. Untuk instance antara 10 dan 100 TiB, gunakan delapan VM klien per 10 TiB.
Mulai server fio di semua VM klien. Fio menggunakan port
8765untuk berkomunikasi, sehingga port ini harus terbuka di kebijakan firewall Anda.fio --serverPilih satu VM klien yang akan mengatur operasi fio. Buat file tugas fio di VM klien tersebut:
cat << EOL > /tmp/fio_job.conf [global] ioengine=libaio ramp_time=2s runtime=3m time_based direct=1 verify=0 randrepeat=0 group_reporting buffer_compress_percentage=50 directory=\${TMP_DIR} create_only=\${CREATE_ONLY} [read-throughput] blocksize=1048576 numjobs=8 readwrite=read filesize=100M [write-throughput] blocksize=1048576 numjobs=8 readwrite=write filesize=100M [read-iops] blocksize=4k iodepth=64 readwrite=randread filesize=1GB [write-iops] blocksize=4k iodepth=64 readwrite=randwrite filesize=1GB EOLBuat file
hosts.listyang berisi alamat IP atau nama DNS VM klien fio:cat << EOL > /tmp/hosts.list <Client 1 IP/DNS> <Client 2 IP/DNS> ... <Client N IP/DNS> EOLBuat set data berikut di direktori sementara di VM klien tempat Anda membuat file tugas:
export TMP_DIR=$(mktemp -d MOUNT_POINT_DIRECTORY/XXXXX) chmod 777 ${TMP_DIR} export CREATE_ONLY=1 fio --client=/tmp/hosts.list \ --section=read-throughput --section=read-iops /tmp/fio_job.confJalankan benchmark menggunakan VM klien yang Anda buat file tugasnya:
- Throughput baca maksimum
 
export CREATE_ONLY=0 fio --client=/tmp/hosts.list --section=read-throughput /tmp/fio_job.conf- Throughput tulis maksimum
 
export CREATE_ONLY=0 fio --client=/tmp/hosts.list --section=write-throughput /tmp/fio_job.conf- IOPS baca maksimum
 
export CREATE_ONLY=0 fio --client=/tmp/hosts.list --section=read-iops /tmp/fio_job.conf- IOPS tulis maksimum
 
export CREATE_ONLY=0 fio --client=/tmp/hosts.list --section=write-iops /tmp/fio_job.confSetelah selesai melakukan pengujian, hentikan server fio di semua VM klien dan hapus direktori sementaranya:
rm -rf ${TMP_DIR}