14
4

NFS接続で I/Oスループット 100Gbps チャレンジしてみてみた

Last updated at Posted at 2024-09-17

Oracle Cloud Infrastructure (OCI) Compute BM.Standard.E5 で超高パフォーマンス・ボリューム(UHP)のストレージを使用して I/Oスループットが 100Gbpsでることを前回確認しました。
今回このコンピュートを2つ用意して NFSサーバー/クライアントをインストールおよび構成して fio で NFS I/Oスループット測定してみてみます。

■ 構成図

構成図.png

■ NFS Server設定

● NFS Serverインストール

nfs-utils パッケージは、カーネル NFS (ネットワーク ファイル システム) サーバーおよび関連ツール用のデーモンを提供し、従来の Linux NFS サーバーよりも優れたパフォーマンスを提供します。

1) Install nfs-utils
サーバー・インスタンスに接続し、NFSユーティリティーパッケージをインストール

[root@bm-e5-server ~]# dnf install nfs-utils
	Last metadata expiration check: 1 day, 15:21:37 ago on Tue 03 Sep 2024 01:24:20 PM GMT.
	Package nfs-utils-1:2.5.4-25.0.2.el9.x86_64 is already installed.
	Dependencies resolved.
	Nothing to do.
	Complete!

2) confファイル設定
nfsd のスレッド数を増加させます (デフォルトは 8)
性能の向上のために、NFS サーバーを設定する際には、必ず NFS スレッドを設定します。スレッド 1 つは、NFS 要求を 1 つ処理することができます。スレッドプールを大きくすることにより、サーバーは複数の NFS 要求を並行して処理することができます。プロセッサ数とネットワーク数に従って、このデフォルト値を大きくします。

[root@bm-e5-server ~]#vi /etc/nfs.conf
[nfsd]
threads=160

3) 設定反映

[root@bm-e5-server ~]# systemctl daemon-reload
[root@bm-e5-server ~]# systemctl restart nfs-mountd

● NFS共有ディレクトリ作成

1) Directory作成と権限設定
ここでは、NFS共有ディレクトリを/u01/oracle/oradata/nfsとして設定します。
ファイルの権限は、簡単にするために chmod -R 777を使用して、すべてのユーザーに対してローカル・ファイル権限を読取り/書込み/実行に設定します。これにより、クライアント・ユーザーのUID/GUIDがサーバーと一致せず、サーバーのnobodyアカウントがデフォルトで設定される、この演習での追加のNFS共有オプションの必要性が最小限になります。

[root@bm-e5-server ~] mkdir /u01/oracle/oradata/nfs
[root@bm-e5-server ~] chmod 2770 /u01/oracle/oradata/nfs
[root@bm-e5-server ~] chgrp opc /u01/oracle/oradata/nfs
[root@bm-e5-server ~] ls -la mkdir /u01/oracle/oradata/nfs
	total 0
	drwxrws---. 2 root opc   6 Sep  5 04:49 .
	drwxr-xr-x. 4 root root 31 Sep  5 04:49 ..

2) export point追加
/etc/exportsで共有を定義します。

[root@bm-e5-server ~] vi /etc/exports
[root@bm-e5-server ~] cat /etc/exports
/u01/oracle/oradata/nfs	 *(rw,no_root_squash)

3) 設定反映と確認

[root@bm-e5-server ~] exportfs -ar
[root@bm-e5-server ~] exportfs -v
/u01/oracle/oradata/nfs
		<world>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

● NFS server起動

1) nfs-serverステータス確認

[root@bm-e5-server ~]# systemctl status nfs-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

**2) nfs-server起動**
[root@bm-e5-server ~]# systemctl start nfs-server.service

**3) nfs-server起動ステータス確認**
[root@bm-e5-server ~]# systemctl status nfs-server
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: active (exited) since Thu 2024-09-05 05:03:12 GMT; 5s ago
  Process: 10259 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (>
  Process: 10243 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
  Process: 10240 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 10259 (code=exited, status=0/SUCCESS)

Sep 05 05:03:12 vm-optimized3 systemd[1]: Starting NFS server and services...
Sep 05 05:03:12 vm-optimized3 systemd[1]: Started NFS server and services.

4) nfs-server起動ステータス確認
showmountコマンドは、NFSサーバーを使用して使用可能な共有を表示

[root@bm-e5-server ~]# showmount -e
	Export list for bm-e5:
	/u01/oracle/oradata/nfs *

● NFS server自動起動設定

[root@bm-e5-server ~]# systemctl enable --now nfs-server
	Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.
[root@bm-e5-server ~]# systemctl is-enabled nfs-server
	enabled

● Firewalld設定

NFSトラフィックを許可するようにファイアウォールを設定

[root@bm-e5-server ~] firewall-cmd --permanent --add-service nfs
	success
[root@bm-e5-server ~] firewall-cmd --reload
	success
[root@bm-e5-server ~]#  firewall-cmd --list-all | grep nfs
  services: dhcpv6-client nfs ssh vnc-server

■ NFS Client 設定

クライアント・インスタンスに接続し、NFSユーティリティーパッケージをインストール

⚫︎ nfs-utilsインストール

1) Install the nfs-utils package:

[bm-e5-client ~]# dnf install nfs-utils
	Ksplice for Oracle Linux 8 (x86_64)                                                                                         46 MB/s | 8.6 MB     00:00
	MySQL 8.0 for Oracle Linux 8 (x86_64)                                                                                       67 MB/s | 4.0 MB     00:00
	MySQL 8.0 Tools Community for Oracle Linux 8 (x86_64)                                                                       19 MB/s | 805 kB     00:00
	MySQL 8.0 Connectors Community for Oracle Linux 8 (x86_64)                                                                 906 kB/s |  34 kB     00:00
	Oracle Software for OCI users on Oracle Linux 8 (x86_64)                                                                    75 MB/s | 151 MB     00:02
	Oracle Linux 8 BaseOS Latest (x86_64)                                                                                      185 MB/s |  79 MB     00:00
	Oracle Linux 8 Application Stream (x86_64)                                                                                 177 MB/s |  63 MB     00:00
	Oracle Linux 8 Addons (x86_64)                                                                                             140 MB/s |  19 MB     00:00
	Latest Unbreakable Enterprise Kernel Release 7 for Oracle Linux 8 (x86_64)                                                 169 MB/s |  41 MB     00:00
	Package nfs-utils-1:2.3.3-59.0.1.el8.x86_64 is already installed.
	Dependencies resolved.
	Nothing to do.
	Complete!

⚫︎ NFS共有ディレクトリ・マウント

BM.E5シェイプの 100Gbps読取りスループットを最大限に活用するために、Linuxカーネルバージョン5.3以降から使用できる nconnect=16 マウントオプションを使用します。
nconnect を使用すると、より少ないクライアント マシンを使用して大規模にパフォーマンスを向上させ、総保有コスト (TCO) を削減できます。 Nconnect は、単一または複数のクライアントを使用して、1 つまたは複数の NIC で複数の TCP チャネルを使用することで、パフォーマンスを向上させます。

1) NFSマウント

[bm-e5-client ~]# mount -t nfs -o rw,nconnect=16 10.10.0.22:/u01/oracle/oradata/nfs /mnt/nfs

2) NFSマウント確認

[bm-e5-client ~]# mount | grep 10.10.0.22
	10.10.0.22:/u01/oracle/oradata/nfs on /mnt/nfs type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,nconnect=16,timeo=600,retrans=2,sec=sys,clientaddr=10.10.0.23,local_lock=none,addr=10.10.0.22)

3) NFSマウント・ディレクトリ確認

[bm-e5-client ~]# df -hT | grep nfs
    10.10.0.22:/u01/oracle/oradata/nfs nfs4       15T  4.9T  9.8T  34% /mnt/nfs

4) NFSマウント・プロセス確認
nconnect=16 マウントオプションでプロセスが16個起動していることを確認

[bm-e5-client ~]# netstat -an |grep 2049
    tcp        0      0 10.10.0.23:928          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:915          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:762          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:974          10.10.0.22:2049         TIME_WAIT
    tcp        0      0 10.10.0.23:963          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:926          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:1007         10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:861          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:745          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:777          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:958          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:933          10.10.0.22:2049         ESTABLISHED
    tcp        0      0 10.10.0.23:673          10.10.0.22:2049         ESTABLISHED

■ FIOコマンド使用して スループット・パフォーマンス・テスト

Linuxベース・インスタンスでブロック・ボリューム・パフォーマンス・テストを行うためのサンプルFIOコマンドを参照して FIOコマンドで IOPSとスループットのパフォーマンス・テストをします。
テストするには、次のFIOサンプル・コマンドを使用します。コマンドを直接実行することも、コマンドを使用してジョブ・ファイルを作成してからそのジョブ・ファイルを実行することもできます。

● 順次読取りのテスト

・順次読取りのテスト実行

データベース・ワークロードなど、順次アクセス・パターンを利用できるワークロードに対しては、順次読取りをテストすることにより、このパターンのパフォーマンスを確認できます。
順次読取りをテストするには、次のコマンドを実行します。

[bm-e5-client ~]# fio --name=read_throughput --directory=/mnt/nfs --size=10g --rw=read --bs=1m --numjobs=200 --iodepth=64 --ioengine=libaio --time_based --runtime=120 --direct=1 --group_reporting --eta-newline=1 --readonly
read_throughput: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=64
...
fio-3.19
Starting 200 processes
Jobs: 200 (f=200): [R(200)][2.5%][r=9.83GiB/s][r=10.1k IOPS][eta 01m:58s]
Jobs: 200 (f=200): [R(200)][3.3%][r=11.5GiB/s][r=11.7k IOPS][eta 01m:57s]
Jobs: 200 (f=200): [R(200)][4.1%][r=10.2GiB/s][r=10.5k IOPS][eta 01m:56s]
Jobs: 200 (f=200): [R(200)][5.0%][r=10.6GiB/s][r=10.8k IOPS][eta 01m:55s]
Jobs: 200 (f=200): [R(200)][5.8%][r=10.4GiB/s][r=10.7k IOPS][eta 01m:54s]
Jobs: 200 (f=200): [R(200)][6.6%][r=9.91GiB/s][r=10.1k IOPS][eta 01m:53s]
Jobs: 200 (f=200): [R(200)][7.4%][r=9.84GiB/s][r=10.1k IOPS][eta 01m:52s]
Jobs: 200 (f=200): [R(200)][8.3%][r=9922MiB/s][r=9922 IOPS][eta 01m:51s]
Jobs: 200 (f=200): [R(200)][9.1%][r=9895MiB/s][r=9895 IOPS][eta 01m:50s]
Jobs: 200 (f=200): [R(200)][9.9%][r=9.85GiB/s][r=10.1k IOPS][eta 01m:49s]
Jobs: 200 (f=200): [R(200)][10.7%][r=9820MiB/s][r=9820 IOPS][eta 01m:48s]
Jobs: 200 (f=200): [R(200)][11.6%][r=9571MiB/s][r=9571 IOPS][eta 01m:47s]
Jobs: 200 (f=200): [R(200)][12.4%][r=9425MiB/s][r=9424 IOPS][eta 01m:46s]
Jobs: 200 (f=200): [R(200)][13.2%][r=9587MiB/s][r=9587 IOPS][eta 01m:45s]
Jobs: 200 (f=200): [R(200)][14.0%][r=9.88GiB/s][r=10.1k IOPS][eta 01m:44s]
Jobs: 200 (f=200): [R(200)][14.9%][r=10.9GiB/s][r=11.2k IOPS][eta 01m:43s]
Jobs: 200 (f=200): [R(200)][15.7%][r=8605MiB/s][r=8605 IOPS][eta 01m:42s]
Jobs: 200 (f=200): [R(200)][16.5%][r=10.5GiB/s][r=10.8k IOPS][eta 01m:41s]
Jobs: 200 (f=200): [R(200)][17.4%][r=9.80GiB/s][r=10.0k IOPS][eta 01m:40s]
Jobs: 200 (f=200): [R(200)][18.2%][r=9853MiB/s][r=9853 IOPS][eta 01m:39s]
Jobs: 200 (f=200): [R(200)][19.0%][r=11.4GiB/s][r=11.7k IOPS][eta 01m:38s]
Jobs: 200 (f=200): [R(200)][19.8%][r=11.5GiB/s][r=11.8k IOPS][eta 01m:37s]
Jobs: 200 (f=200): [R(200)][20.7%][r=11.5GiB/s][r=11.8k IOPS][eta 01m:36s]
Jobs: 200 (f=200): [R(200)][21.5%][r=10.9GiB/s][r=11.2k IOPS][eta 01m:35s]
Jobs: 200 (f=200): [R(200)][22.3%][r=9040MiB/s][r=9039 IOPS][eta 01m:34s]
Jobs: 200 (f=200): [R(200)][23.1%][r=11.5GiB/s][r=11.7k IOPS][eta 01m:33s]
Jobs: 200 (f=200): [R(200)][24.0%][r=11.5GiB/s][r=11.8k IOPS][eta 01m:32s]
Jobs: 200 (f=200): [R(200)][24.8%][r=11.5GiB/s][r=11.8k IOPS][eta 01m:31s]
Jobs: 200 (f=200): [R(200)][25.6%][r=11.5GiB/s][r=11.7k IOPS][eta 01m:30s]
Jobs: 200 (f=200): [R(200)][26.4%][r=9860MiB/s][r=9860 IOPS][eta 01m:29s]
Jobs: 200 (f=200): [R(200)][27.3%][r=10.5GiB/s][r=10.8k IOPS][eta 01m:28s]
Jobs: 200 (f=200): [R(200)][28.1%][r=11.5GiB/s][r=11.8k IOPS][eta 01m:27s]
Jobs: 200 (f=200): [R(200)][28.9%][r=11.5GiB/s][r=11.8k IOPS][eta 01m:26s]
Jobs: 200 (f=200): [R(200)][29.8%][r=10.9GiB/s][r=11.2k IOPS][eta 01m:25s]
Jobs: 200 (f=200): [R(200)][30.6%][r=9725MiB/s][r=9725 IOPS][eta 01m:24s]
Jobs: 200 (f=200): [R(200)][31.4%][r=9277MiB/s][r=9276 IOPS][eta 01m:23s]
Jobs: 200 (f=200): [R(200)][32.2%][r=9002MiB/s][r=9001 IOPS][eta 01m:22s]
Jobs: 200 (f=200): [R(200)][33.1%][r=8910MiB/s][r=8910 IOPS][eta 01m:21s]
Jobs: 200 (f=200): [R(200)][33.9%][r=10.5GiB/s][r=10.8k IOPS][eta 01m:20s]
Jobs: 200 (f=200): [R(200)][34.7%][r=9704MiB/s][r=9704 IOPS][eta 01m:19s]
Jobs: 200 (f=200): [R(200)][35.5%][r=8145MiB/s][r=8144 IOPS][eta 01m:18s]
Jobs: 200 (f=200): [R(200)][36.4%][r=7949MiB/s][r=7949 IOPS][eta 01m:17s]
Jobs: 200 (f=200): [R(200)][37.2%][r=7849MiB/s][r=7849 IOPS][eta 01m:16s]
Jobs: 200 (f=200): [R(200)][38.0%][r=7783MiB/s][r=7783 IOPS][eta 01m:15s]
Jobs: 200 (f=200): [R(200)][38.8%][r=7667MiB/s][r=7667 IOPS][eta 01m:14s]
Jobs: 200 (f=200): [R(200)][39.7%][r=7794MiB/s][r=7794 IOPS][eta 01m:13s]
Jobs: 200 (f=200): [R(200)][40.5%][r=7316MiB/s][r=7315 IOPS][eta 01m:12s]
Jobs: 200 (f=200): [R(200)][41.3%][r=7634MiB/s][r=7634 IOPS][eta 01m:11s]
Jobs: 200 (f=200): [R(200)][42.1%][r=7807MiB/s][r=7807 IOPS][eta 01m:10s]
Jobs: 200 (f=200): [R(200)][43.0%][r=7420MiB/s][r=7419 IOPS][eta 01m:09s]
Jobs: 200 (f=200): [R(200)][43.8%][r=9582MiB/s][r=9582 IOPS][eta 01m:08s]
Jobs: 200 (f=200): [R(200)][44.6%][r=11.5GiB/s][r=11.8k IOPS][eta 01m:07s]
Jobs: 200 (f=200): [R(200)][45.5%][r=9716MiB/s][r=9716 IOPS][eta 01m:06s]
Jobs: 200 (f=200): [R(200)][46.3%][r=8829MiB/s][r=8829 IOPS][eta 01m:05s]
Jobs: 200 (f=200): [R(200)][47.1%][r=9.82GiB/s][r=10.1k IOPS][eta 01m:04s]
Jobs: 200 (f=200): [R(200)][47.9%][r=9543MiB/s][r=9543 IOPS][eta 01m:03s]
Jobs: 200 (f=200): [R(200)][48.8%][r=10.4GiB/s][r=10.6k IOPS][eta 01m:02s]
Jobs: 200 (f=200): [R(200)][49.6%][r=10.0GiB/s][r=10.2k IOPS][eta 01m:01s]
Jobs: 200 (f=200): [R(200)][50.4%][r=10.9GiB/s][r=11.1k IOPS][eta 01m:00s]
Jobs: 200 (f=200): [R(200)][51.2%][r=9409MiB/s][r=9408 IOPS][eta 00m:59s]
Jobs: 200 (f=200): [R(200)][52.1%][r=8746MiB/s][r=8746 IOPS][eta 00m:58s]
Jobs: 200 (f=200): [R(200)][52.9%][r=9835MiB/s][r=9835 IOPS][eta 00m:57s]
Jobs: 200 (f=200): [R(200)][53.7%][r=8983MiB/s][r=8983 IOPS][eta 00m:56s]
Jobs: 200 (f=200): [R(200)][54.5%][r=8663MiB/s][r=8663 IOPS][eta 00m:55s]
Jobs: 200 (f=200): [R(200)][55.4%][r=9526MiB/s][r=9526 IOPS][eta 00m:54s]
Jobs: 200 (f=200): [R(200)][56.2%][r=8662MiB/s][r=8662 IOPS][eta 00m:53s]
Jobs: 200 (f=200): [R(200)][57.0%][r=8322MiB/s][r=8321 IOPS][eta 00m:52s]
Jobs: 200 (f=200): [R(200)][57.9%][r=8343MiB/s][r=8342 IOPS][eta 00m:51s]
Jobs: 200 (f=200): [R(200)][58.7%][r=9214MiB/s][r=9213 IOPS][eta 00m:50s]
Jobs: 200 (f=200): [R(200)][59.5%][r=9002MiB/s][r=9001 IOPS][eta 00m:49s]
Jobs: 200 (f=200): [R(200)][60.3%][r=11.5GiB/s][r=11.8k IOPS][eta 00m:48s]
Jobs: 200 (f=200): [R(200)][61.2%][r=11.5GiB/s][r=11.7k IOPS][eta 00m:47s]
Jobs: 200 (f=200): [R(200)][62.0%][r=10.1GiB/s][r=10.4k IOPS][eta 00m:46s]
Jobs: 200 (f=200): [R(200)][62.8%][r=10.6GiB/s][r=10.9k IOPS][eta 00m:45s]
Jobs: 200 (f=200): [R(200)][63.6%][r=10.1GiB/s][r=10.4k IOPS][eta 00m:44s]
Jobs: 200 (f=200): [R(200)][64.5%][r=11.5GiB/s][r=11.7k IOPS][eta 00m:43s]
Jobs: 200 (f=200): [R(200)][65.3%][r=11.5GiB/s][r=11.8k IOPS][eta 00m:42s]
Jobs: 200 (f=200): [R(200)][66.1%][r=10.4GiB/s][r=10.6k IOPS][eta 00m:41s]
Jobs: 200 (f=200): [R(200)][66.9%][r=11.4GiB/s][r=11.6k IOPS][eta 00m:40s]
Jobs: 200 (f=200): [R(200)][67.8%][r=11.5GiB/s][r=11.8k IOPS][eta 00m:39s]
Jobs: 200 (f=200): [R(200)][68.6%][r=11.5GiB/s][r=11.8k IOPS][eta 00m:38s]
Jobs: 200 (f=200): [R(200)][69.4%][r=11.5GiB/s][r=11.8k IOPS][eta 00m:37s]
Jobs: 200 (f=200): [R(200)][70.2%][r=11.5GiB/s][r=11.8k IOPS][eta 00m:36s]
Jobs: 200 (f=200): [R(200)][71.1%][r=11.2GiB/s][r=11.5k IOPS][eta 00m:35s]
Jobs: 200 (f=200): [R(200)][71.9%][r=10.3GiB/s][r=10.6k IOPS][eta 00m:34s]
Jobs: 200 (f=200): [R(200)][72.7%][r=9.81GiB/s][r=10.0k IOPS][eta 00m:33s]
Jobs: 200 (f=200): [R(200)][73.6%][r=9.92GiB/s][r=10.2k IOPS][eta 00m:32s]
Jobs: 200 (f=200): [R(200)][74.4%][r=9.82GiB/s][r=10.1k IOPS][eta 00m:31s]
Jobs: 200 (f=200): [R(200)][75.2%][r=10.2GiB/s][r=10.4k IOPS][eta 00m:30s]
Jobs: 200 (f=200): [R(200)][76.0%][r=8912MiB/s][r=8912 IOPS][eta 00m:29s]
Jobs: 200 (f=200): [R(200)][76.9%][r=8057MiB/s][r=8056 IOPS][eta 00m:28s]
Jobs: 200 (f=200): [R(200)][77.7%][r=10.5GiB/s][r=10.7k IOPS][eta 00m:27s]
Jobs: 200 (f=200): [R(200)][78.5%][r=9323MiB/s][r=9322 IOPS][eta 00m:26s]
Jobs: 200 (f=200): [R(200)][79.3%][r=8579MiB/s][r=8579 IOPS][eta 00m:25s]
Jobs: 200 (f=200): [R(200)][80.2%][r=8434MiB/s][r=8433 IOPS][eta 00m:24s]
Jobs: 200 (f=200): [R(200)][81.0%][r=8184MiB/s][r=8183 IOPS][eta 00m:23s]
Jobs: 200 (f=200): [R(200)][81.8%][r=8256MiB/s][r=8255 IOPS][eta 00m:22s]
Jobs: 200 (f=200): [R(200)][82.6%][r=8199MiB/s][r=8198 IOPS][eta 00m:21s]
Jobs: 200 (f=200): [R(200)][83.5%][r=8537MiB/s][r=8537 IOPS][eta 00m:20s]
Jobs: 200 (f=200): [R(200)][84.3%][r=8182MiB/s][r=8181 IOPS][eta 00m:19s]
Jobs: 200 (f=200): [R(200)][85.1%][r=9717MiB/s][r=9717 IOPS][eta 00m:18s]
Jobs: 200 (f=200): [R(200)][86.0%][r=10.3GiB/s][r=10.5k IOPS][eta 00m:17s]
Jobs: 200 (f=200): [R(200)][86.8%][r=11.5GiB/s][r=11.8k IOPS][eta 00m:16s]
Jobs: 200 (f=200): [R(200)][87.6%][r=11.4GiB/s][r=11.7k IOPS][eta 00m:15s]
Jobs: 200 (f=200): [R(200)][88.4%][r=11.1GiB/s][r=11.3k IOPS][eta 00m:14s]
Jobs: 200 (f=200): [R(200)][89.3%][r=9.86GiB/s][r=10.1k IOPS][eta 00m:13s]
Jobs: 200 (f=200): [R(200)][90.1%][r=8532MiB/s][r=8532 IOPS][eta 00m:12s]
Jobs: 200 (f=200): [R(200)][90.9%][r=10.6GiB/s][r=10.9k IOPS][eta 00m:11s]
Jobs: 200 (f=200): [R(200)][91.7%][r=10.8GiB/s][r=11.0k IOPS][eta 00m:10s]
Jobs: 200 (f=200): [R(200)][92.6%][r=10.9GiB/s][r=11.1k IOPS][eta 00m:09s]
Jobs: 200 (f=200): [R(200)][93.4%][r=11.3GiB/s][r=11.6k IOPS][eta 00m:08s]
Jobs: 200 (f=200): [R(200)][94.2%][r=9.99GiB/s][r=10.2k IOPS][eta 00m:07s]
Jobs: 200 (f=200): [R(200)][95.0%][r=9.79GiB/s][r=10.0k IOPS][eta 00m:06s]
Jobs: 200 (f=200): [R(200)][95.9%][r=9541MiB/s][r=9541 IOPS][eta 00m:05s]
Jobs: 200 (f=200): [R(200)][96.7%][r=9818MiB/s][r=9818 IOPS][eta 00m:04s]
Jobs: 200 (f=200): [R(200)][97.5%][r=9685MiB/s][r=9685 IOPS][eta 00m:03s]
Jobs: 200 (f=200): [R(200)][98.3%][r=9.92GiB/s][r=10.2k IOPS][eta 00m:02s]
Jobs: 200 (f=200): [R(200)][99.2%][r=9.92GiB/s][r=10.2k IOPS][eta 00m:01s]
Jobs: 200 (f=200): [R(200)][100.0%][r=10.1GiB/s][r=10.4k IOPS][eta 00m:00s]
Jobs: 200 (f=200): [R(200)][58.9%][r=539MiB/s][r=539 IOPS][eta 01m:25s]
read_throughput: (groupid=0, jobs=200): err= 0: pid=16631: Tue Sep 17 09:06:40 2024
  read: IOPS=9978, BW=9979MiB/s (10.5GB/s)(1182GiB/121342msec)
    slat (usec): min=56, max=4011, avg=90.63, stdev=95.87
    clat (msec): min=12, max=2553, avg=1281.94, stdev=192.77
     lat (msec): min=12, max=2553, avg=1282.03, stdev=192.75
    clat percentiles (msec):
     |  1.00th=[ 1083],  5.00th=[ 1083], 10.00th=[ 1083], 20.00th=[ 1099],
     | 30.00th=[ 1167], 40.00th=[ 1217], 50.00th=[ 1267], 60.00th=[ 1301],
     | 70.00th=[ 1334], 80.00th=[ 1435], 90.00th=[ 1536], 95.00th=[ 1636],
     | 99.00th=[ 1720], 99.50th=[ 1955], 99.90th=[ 2433], 99.95th=[ 2500],
     | 99.99th=[ 2534]
   bw (  MiB/s): min= 6112, max=12049, per=100.00%, avg=9983.49, stdev= 7.02, samples=48000
   iops        : min= 6112, max=12049, avg=9982.48, stdev= 7.02, samples=48000
  lat (msec)   : 20=0.01%, 50=0.01%, 100=0.04%, 250=0.12%, 500=0.20%
  lat (msec)   : 750=0.19%, 1000=0.19%, 2000=98.80%, >=2000=0.45%
  cpu          : usr=0.02%, sys=0.47%, ctx=1219476, majf=0, minf=109345
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.3%, 32=0.5%, >=64=99.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=1210824,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
   READ: bw=9979MiB/s (10.5GB/s), 9979MiB/s-9979MiB/s (10.5GB/s-10.5GB/s), io=1182GiB (1270GB), run=121342-121342msec

・順次読取りのテスト結果

スループット・パフォーマンスは、次の bw 行を見ると、max= 12049 (MiB/s) = 101.07 Gbps であることを確認できます。

bw行
   bw (  MiB/s): min= 6112, max=12049, per=100.00%, avg=9983.49, stdev= 7.02, samples=48000

● ランダム読取り/書込みのテスト

・ランダム読取り/書込みのテスト実行

[bm-e5-client ~]# fio --name=throughput-test-job --directory=/mnt/nfs --size=10g --rw=randrw --bs=1m --numjobs=200 --iodepth=64 --ioengine=libaio --time_based --runtime=120 --direct=1 --group_reporting --eta-newline=1
read_throughput: (g=0): rw=randrw, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=64
...
fio-3.19
Starting 200 processes
Jobs: 200 (f=200): [m(200)][2.5%][r=1963MiB/s,w=1987MiB/s][r=1963,w=1987 IOPS][eta 01m:58s]
Jobs: 200 (f=200): [m(200)][3.3%][r=2096MiB/s,w=1993MiB/s][r=2095,w=1993 IOPS][eta 01m:57s]
Jobs: 200 (f=200): [m(200)][4.1%][r=2024MiB/s,w=1999MiB/s][r=2023,w=1999 IOPS][eta 01m:56s]
Jobs: 200 (f=200): [m(200)][5.0%][r=1976MiB/s,w=2027MiB/s][r=1976,w=2026 IOPS][eta 01m:55s]
Jobs: 200 (f=200): [m(200)][5.8%][r=2099MiB/s,w=2037MiB/s][r=2098,w=2036 IOPS][eta 01m:54s]
Jobs: 200 (f=200): [m(200)][6.6%][r=2083MiB/s,w=2047MiB/s][r=2082,w=2046 IOPS][eta 01m:53s]
Jobs: 200 (f=200): [m(200)][7.4%][r=2038MiB/s,w=2006MiB/s][r=2037,w=2005 IOPS][eta 01m:52s]
Jobs: 200 (f=200): [m(200)][8.3%][r=1993MiB/s,w=2005MiB/s][r=1993,w=2004 IOPS][eta 01m:51s]
Jobs: 200 (f=200): [m(200)][9.1%][r=1932MiB/s,w=2050MiB/s][r=1932,w=2049 IOPS][eta 01m:50s]
Jobs: 200 (f=200): [m(200)][9.9%][r=2133MiB/s,w=2064MiB/s][r=2132,w=2063 IOPS][eta 01m:49s]
Jobs: 200 (f=200): [m(200)][10.7%][r=2039MiB/s,w=2048MiB/s][r=2038,w=2047 IOPS][eta 01m:48s]
Jobs: 200 (f=200): [m(200)][11.6%][r=2184MiB/s,w=2038MiB/s][r=2183,w=2037 IOPS][eta 01m:47s]
Jobs: 200 (f=200): [m(200)][12.4%][r=2120MiB/s,w=2038MiB/s][r=2119,w=2037 IOPS][eta 01m:46s]
Jobs: 200 (f=200): [m(200)][13.2%][r=2046MiB/s,w=1997MiB/s][r=2045,w=1997 IOPS][eta 01m:45s]
Jobs: 200 (f=200): [m(200)][14.0%][r=2047MiB/s,w=2023MiB/s][r=2046,w=2022 IOPS][eta 01m:44s]
Jobs: 200 (f=200): [m(200)][14.9%][r=2062MiB/s,w=2011MiB/s][r=2061,w=2010 IOPS][eta 01m:43s]
Jobs: 200 (f=200): [m(200)][15.7%][r=2013MiB/s,w=2086MiB/s][r=2012,w=2085 IOPS][eta 01m:42s]
Jobs: 200 (f=200): [m(200)][16.5%][r=2048MiB/s,w=2066MiB/s][r=2047,w=2065 IOPS][eta 01m:41s]
Jobs: 200 (f=200): [m(200)][17.4%][r=1916MiB/s,w=2025MiB/s][r=1916,w=2024 IOPS][eta 01m:40s]
Jobs: 200 (f=200): [m(200)][18.2%][r=1883MiB/s,w=2046MiB/s][r=1883,w=2045 IOPS][eta 01m:39s]
Jobs: 200 (f=200): [m(200)][19.0%][r=1930MiB/s,w=2032MiB/s][r=1930,w=2031 IOPS][eta 01m:38s]
Jobs: 200 (f=200): [m(200)][19.8%][r=2208MiB/s,w=2042MiB/s][r=2207,w=2041 IOPS][eta 01m:37s]
Jobs: 200 (f=200): [m(200)][20.7%][r=2075MiB/s,w=2071MiB/s][r=2074,w=2070 IOPS][eta 01m:36s]
Jobs: 200 (f=200): [m(200)][21.5%][r=2018MiB/s,w=2036MiB/s][r=2017,w=2035 IOPS][eta 01m:35s]
Jobs: 200 (f=200): [m(200)][22.3%][r=2091MiB/s,w=2080MiB/s][r=2090,w=2079 IOPS][eta 01m:34s]
Jobs: 200 (f=200): [m(200)][23.1%][r=2182MiB/s,w=2091MiB/s][r=2181,w=2090 IOPS][eta 01m:33s]
Jobs: 200 (f=200): [m(200)][24.0%][r=2023MiB/s,w=2055MiB/s][r=2022,w=2054 IOPS][eta 01m:32s]
Jobs: 200 (f=200): [m(200)][24.8%][r=2132MiB/s,w=2050MiB/s][r=2131,w=2049 IOPS][eta 01m:31s]
Jobs: 200 (f=200): [m(200)][25.6%][r=2015MiB/s,w=2055MiB/s][r=2014,w=2054 IOPS][eta 01m:30s]
Jobs: 200 (f=200): [m(200)][26.4%][r=2102MiB/s,w=2121MiB/s][r=2101,w=2120 IOPS][eta 01m:29s]
Jobs: 200 (f=200): [m(200)][27.3%][r=2024MiB/s,w=2062MiB/s][r=2023,w=2061 IOPS][eta 01m:28s]
Jobs: 200 (f=200): [m(200)][28.1%][r=2000MiB/s,w=2065MiB/s][r=2000,w=2064 IOPS][eta 01m:27s]
Jobs: 200 (f=200): [m(200)][28.9%][r=2051MiB/s,w=2037MiB/s][r=2050,w=2036 IOPS][eta 01m:26s]
Jobs: 200 (f=200): [m(200)][29.8%][r=1981MiB/s,w=2023MiB/s][r=1981,w=2022 IOPS][eta 01m:25s]
Jobs: 200 (f=200): [m(200)][30.6%][r=2002MiB/s,w=2025MiB/s][r=2001,w=2024 IOPS][eta 01m:24s]
Jobs: 200 (f=200): [m(200)][31.4%][r=1906MiB/s,w=2011MiB/s][r=1906,w=2010 IOPS][eta 01m:23s]
Jobs: 200 (f=200): [m(200)][32.2%][r=2019MiB/s,w=2021MiB/s][r=2018,w=2020 IOPS][eta 01m:22s]
Jobs: 200 (f=200): [m(200)][33.1%][r=2068MiB/s,w=2044MiB/s][r=2067,w=2043 IOPS][eta 01m:21s]
Jobs: 200 (f=200): [m(200)][33.9%][r=2001MiB/s,w=2063MiB/s][r=2000,w=2062 IOPS][eta 01m:20s]
Jobs: 200 (f=200): [m(200)][34.7%][r=1952MiB/s,w=1993MiB/s][r=1952,w=1993 IOPS][eta 01m:19s]
Jobs: 200 (f=200): [m(200)][35.5%][r=1982MiB/s,w=2019MiB/s][r=1982,w=2018 IOPS][eta 01m:18s]
Jobs: 200 (f=200): [m(200)][36.4%][r=1975MiB/s,w=1971MiB/s][r=1975,w=1971 IOPS][eta 01m:17s]
Jobs: 200 (f=200): [m(200)][37.2%][r=1975MiB/s,w=2009MiB/s][r=1975,w=2008 IOPS][eta 01m:16s]
Jobs: 200 (f=200): [m(200)][38.0%][r=2040MiB/s,w=2110MiB/s][r=2039,w=2109 IOPS][eta 01m:15s]
Jobs: 200 (f=200): [m(200)][38.8%][r=1970MiB/s,w=2062MiB/s][r=1970,w=2061 IOPS][eta 01m:14s]
Jobs: 200 (f=200): [m(200)][39.7%][r=2146MiB/s,w=2117MiB/s][r=2145,w=2116 IOPS][eta 01m:13s]
Jobs: 200 (f=200): [m(200)][40.5%][r=2171MiB/s,w=2037MiB/s][r=2170,w=2036 IOPS][eta 01m:12s]
Jobs: 200 (f=200): [m(200)][41.3%][r=2156MiB/s,w=2085MiB/s][r=2155,w=2084 IOPS][eta 01m:11s]
Jobs: 200 (f=200): [m(200)][42.1%][r=2079MiB/s,w=2105MiB/s][r=2078,w=2104 IOPS][eta 01m:10s]
Jobs: 200 (f=200): [m(200)][43.0%][r=2041MiB/s,w=2157MiB/s][r=2040,w=2156 IOPS][eta 01m:09s]
Jobs: 200 (f=200): [m(200)][43.8%][r=2159MiB/s,w=2148MiB/s][r=2158,w=2147 IOPS][eta 01m:08s]
Jobs: 200 (f=200): [m(200)][44.6%][r=2191MiB/s,w=2155MiB/s][r=2190,w=2154 IOPS][eta 01m:07s]
Jobs: 200 (f=200): [m(200)][45.5%][r=2105MiB/s,w=2154MiB/s][r=2104,w=2153 IOPS][eta 01m:06s]
Jobs: 200 (f=200): [m(200)][46.3%][r=2079MiB/s,w=2155MiB/s][r=2078,w=2154 IOPS][eta 01m:05s]
Jobs: 200 (f=200): [m(200)][47.1%][r=2106MiB/s,w=2135MiB/s][r=2105,w=2134 IOPS][eta 01m:04s]
Jobs: 200 (f=200): [m(200)][47.9%][r=2087MiB/s,w=2115MiB/s][r=2086,w=2114 IOPS][eta 01m:03s]
Jobs: 200 (f=200): [m(200)][48.8%][r=2288MiB/s,w=2131MiB/s][r=2287,w=2130 IOPS][eta 01m:02s]
Jobs: 200 (f=200): [m(200)][49.6%][r=2151MiB/s,w=2148MiB/s][r=2150,w=2147 IOPS][eta 01m:01s]
Jobs: 200 (f=200): [m(200)][50.4%][r=2163MiB/s,w=2123MiB/s][r=2162,w=2122 IOPS][eta 01m:00s]
Jobs: 200 (f=200): [m(200)][51.2%][r=2076MiB/s,w=2149MiB/s][r=2075,w=2148 IOPS][eta 00m:59s]
Jobs: 200 (f=200): [m(200)][52.1%][r=2046MiB/s,w=2129MiB/s][r=2045,w=2128 IOPS][eta 00m:58s]
Jobs: 200 (f=200): [m(200)][52.9%][r=2072MiB/s,w=2152MiB/s][r=2071,w=2151 IOPS][eta 00m:57s]
Jobs: 200 (f=200): [m(200)][53.7%][r=2150MiB/s,w=2111MiB/s][r=2149,w=2110 IOPS][eta 00m:56s]
Jobs: 200 (f=200): [m(200)][54.5%][r=2118MiB/s,w=2119MiB/s][r=2117,w=2118 IOPS][eta 00m:55s]
Jobs: 200 (f=200): [m(200)][55.4%][r=2214MiB/s,w=2079MiB/s][r=2213,w=2078 IOPS][eta 00m:54s]
Jobs: 200 (f=200): [m(200)][56.2%][r=2073MiB/s,w=2073MiB/s][r=2072,w=2072 IOPS][eta 00m:53s]
Jobs: 200 (f=200): [m(200)][57.0%][r=2027MiB/s,w=2077MiB/s][r=2026,w=2076 IOPS][eta 00m:52s]
Jobs: 200 (f=200): [m(200)][57.9%][r=2117MiB/s,w=2062MiB/s][r=2116,w=2061 IOPS][eta 00m:51s]
Jobs: 200 (f=200): [m(200)][58.7%][r=2053MiB/s,w=2011MiB/s][r=2052,w=2010 IOPS][eta 00m:50s]
Jobs: 200 (f=200): [m(200)][59.5%][r=2122MiB/s,w=2032MiB/s][r=2121,w=2031 IOPS][eta 00m:49s]
Jobs: 200 (f=200): [m(200)][60.3%][r=2099MiB/s,w=2053MiB/s][r=2098,w=2052 IOPS][eta 00m:48s]
Jobs: 200 (f=200): [m(200)][61.2%][r=1986MiB/s,w=2039MiB/s][r=1986,w=2038 IOPS][eta 00m:47s]
Jobs: 200 (f=200): [m(200)][62.0%][r=2049MiB/s,w=2032MiB/s][r=2048,w=2031 IOPS][eta 00m:46s]
Jobs: 200 (f=200): [m(200)][62.8%][r=2119MiB/s,w=2011MiB/s][r=2118,w=2010 IOPS][eta 00m:45s]
Jobs: 200 (f=200): [m(200)][63.6%][r=2017MiB/s,w=2062MiB/s][r=2016,w=2061 IOPS][eta 00m:44s]
Jobs: 200 (f=200): [m(200)][64.5%][r=2124MiB/s,w=2034MiB/s][r=2123,w=2033 IOPS][eta 00m:43s]
Jobs: 200 (f=200): [m(200)][65.3%][r=2077MiB/s,w=2011MiB/s][r=2076,w=2010 IOPS][eta 00m:42s]
Jobs: 200 (f=200): [m(200)][66.1%][r=2040MiB/s,w=2004MiB/s][r=2039,w=2003 IOPS][eta 00m:41s]
Jobs: 200 (f=200): [m(200)][66.9%][r=1953MiB/s,w=2019MiB/s][r=1953,w=2018 IOPS][eta 00m:40s]
Jobs: 200 (f=200): [m(200)][67.8%][r=2025MiB/s,w=2005MiB/s][r=2024,w=2004 IOPS][eta 00m:39s]
Jobs: 200 (f=200): [m(200)][68.6%][r=2078MiB/s,w=2062MiB/s][r=2077,w=2061 IOPS][eta 00m:38s]
Jobs: 200 (f=200): [m(200)][69.4%][r=1945MiB/s,w=2035MiB/s][r=1945,w=2034 IOPS][eta 00m:37s]
Jobs: 200 (f=200): [m(200)][70.2%][r=2068MiB/s,w=2054MiB/s][r=2067,w=2053 IOPS][eta 00m:36s]
Jobs: 200 (f=200): [m(200)][71.1%][r=2068MiB/s,w=2096MiB/s][r=2067,w=2095 IOPS][eta 00m:35s]
Jobs: 200 (f=200): [m(200)][71.9%][r=2084MiB/s,w=2084MiB/s][r=2083,w=2083 IOPS][eta 00m:34s]
Jobs: 200 (f=200): [m(200)][72.7%][r=2179MiB/s,w=2095MiB/s][r=2178,w=2094 IOPS][eta 00m:33s]
Jobs: 200 (f=200): [m(200)][73.6%][r=2095MiB/s,w=2056MiB/s][r=2094,w=2055 IOPS][eta 00m:32s]
Jobs: 200 (f=200): [m(200)][74.4%][r=2047MiB/s,w=2070MiB/s][r=2046,w=2069 IOPS][eta 00m:31s]
Jobs: 200 (f=200): [m(200)][75.2%][r=2063MiB/s,w=2047MiB/s][r=2062,w=2046 IOPS][eta 00m:30s]
Jobs: 200 (f=200): [m(200)][76.0%][r=2025MiB/s,w=2066MiB/s][r=2024,w=2065 IOPS][eta 00m:29s]
Jobs: 200 (f=200): [m(200)][76.9%][r=1947MiB/s,w=2071MiB/s][r=1947,w=2070 IOPS][eta 00m:28s]
Jobs: 200 (f=200): [m(200)][77.7%][r=2084MiB/s,w=2063MiB/s][r=2083,w=2062 IOPS][eta 00m:27s]
Jobs: 200 (f=200): [m(200)][78.5%][r=1955MiB/s,w=1998MiB/s][r=1955,w=1998 IOPS][eta 00m:26s]
Jobs: 200 (f=200): [m(200)][79.3%][r=2129MiB/s,w=2070MiB/s][r=2128,w=2069 IOPS][eta 00m:25s]
Jobs: 200 (f=200): [m(200)][80.2%][r=2032MiB/s,w=2007MiB/s][r=2031,w=2006 IOPS][eta 00m:24s]
Jobs: 200 (f=200): [m(200)][81.0%][r=2075MiB/s,w=2040MiB/s][r=2074,w=2039 IOPS][eta 00m:23s]
Jobs: 200 (f=200): [m(200)][81.8%][r=1982MiB/s,w=2070MiB/s][r=1982,w=2069 IOPS][eta 00m:22s]
Jobs: 200 (f=200): [m(200)][82.6%][r=2079MiB/s,w=2068MiB/s][r=2078,w=2067 IOPS][eta 00m:21s]
Jobs: 200 (f=200): [m(200)][83.5%][r=2153MiB/s,w=2083MiB/s][r=2152,w=2082 IOPS][eta 00m:20s]
Jobs: 200 (f=200): [m(200)][84.3%][r=2124MiB/s,w=2078MiB/s][r=2123,w=2077 IOPS][eta 00m:19s]
Jobs: 200 (f=200): [m(200)][85.1%][r=1984MiB/s,w=2050MiB/s][r=1984,w=2049 IOPS][eta 00m:18s]
Jobs: 200 (f=200): [m(200)][86.0%][r=2060MiB/s,w=2047MiB/s][r=2059,w=2046 IOPS][eta 00m:17s]
Jobs: 200 (f=200): [m(200)][86.8%][r=1908MiB/s,w=2027MiB/s][r=1908,w=2026 IOPS][eta 00m:16s]
Jobs: 200 (f=200): [m(200)][87.6%][r=1972MiB/s,w=2030MiB/s][r=1972,w=2029 IOPS][eta 00m:15s]
Jobs: 200 (f=200): [m(200)][88.4%][r=2036MiB/s,w=1998MiB/s][r=2035,w=1998 IOPS][eta 00m:14s]
Jobs: 200 (f=200): [m(200)][89.3%][r=2006MiB/s,w=2027MiB/s][r=2005,w=2026 IOPS][eta 00m:13s]
Jobs: 200 (f=200): [m(200)][90.1%][r=1961MiB/s,w=1938MiB/s][r=1961,w=1938 IOPS][eta 00m:12s]
Jobs: 200 (f=200): [m(200)][90.9%][r=1877MiB/s,w=1800MiB/s][r=1877,w=1800 IOPS][eta 00m:11s]
Jobs: 200 (f=200): [m(200)][91.7%][r=1919MiB/s,w=1846MiB/s][r=1919,w=1846 IOPS][eta 00m:10s]
Jobs: 200 (f=200): [m(200)][92.6%][r=1777MiB/s,w=1849MiB/s][r=1777,w=1849 IOPS][eta 00m:09s]
Jobs: 200 (f=200): [m(200)][93.4%][r=1910MiB/s,w=1830MiB/s][r=1910,w=1830 IOPS][eta 00m:08s]
Jobs: 200 (f=200): [m(200)][94.2%][r=1857MiB/s,w=1835MiB/s][r=1857,w=1835 IOPS][eta 00m:07s]
Jobs: 200 (f=200): [m(200)][95.0%][r=1923MiB/s,w=1893MiB/s][r=1923,w=1893 IOPS][eta 00m:06s]
Jobs: 200 (f=200): [m(200)][95.9%][r=1973MiB/s,w=1857MiB/s][r=1973,w=1857 IOPS][eta 00m:05s]
Jobs: 200 (f=200): [m(200)][96.7%][r=1959MiB/s,w=1850MiB/s][r=1959,w=1850 IOPS][eta 00m:04s]
Jobs: 200 (f=200): [m(200)][97.5%][r=1876MiB/s,w=1878MiB/s][r=1876,w=1878 IOPS][eta 00m:03s]
Jobs: 200 (f=200): [m(200)][98.3%][r=1842MiB/s,w=1848MiB/s][r=1842,w=1848 IOPS][eta 00m:02s]
Jobs: 200 (f=200): [m(200)][99.2%][r=1928MiB/s,w=1887MiB/s][r=1928,w=1887 IOPS][eta 00m:01s]
Jobs: 200 (f=200): [m(200)][100.0%][r=1829MiB/s,w=1824MiB/s][r=1829,w=1824 IOPS][eta 00m:00s]
Jobs: 200 (f=200): [m(200)][24.0%][r=301MiB/s,w=299MiB/s][r=300,w=298 IOPS][eta 06m:26s]
Jobs: 200 (f=200): [m(200)][24.0%][eta 06m:29s]
Jobs: 200 (f=200): [m(200)][24.0%][eta 06m:32s]
throughput-test-job: (groupid=0, jobs=200): err= 0: pid=80034: Wed Sep 18 01:57:16 2024
  read: IOPS=2034, BW=2034MiB/s (2133MB/s)(245GiB/123398msec)
    slat (usec): min=58, max=1043, avg=86.26, stdev=12.01
    clat (msec): min=5, max=6739, avg=3143.20, stdev=460.76
     lat (msec): min=5, max=6739, avg=3143.29, stdev=460.76
    clat percentiles (msec):
     |  1.00th=[ 1234],  5.00th=[ 2970], 10.00th=[ 3004], 20.00th=[ 3037],
     | 30.00th=[ 3071], 40.00th=[ 3104], 50.00th=[ 3138], 60.00th=[ 3138],
     | 70.00th=[ 3171], 80.00th=[ 3205], 90.00th=[ 3339], 95.00th=[ 3440],
     | 99.00th=[ 5403], 99.50th=[ 6074], 99.90th=[ 6611], 99.95th=[ 6678],
     | 99.99th=[ 6745]
   bw (  MiB/s): min=  423, max= 3830, per=100.00%, avg=2039.02, stdev= 3.26, samples=47921
   iops        : min=  413, max= 3827, avg=2036.11, stdev= 3.26, samples=47921
  write: IOPS=2030, BW=2030MiB/s (2129MB/s)(245GiB/123398msec); 0 zone resets
    slat (usec): min=66, max=959, avg=120.32, stdev=20.66
    clat (msec): min=8, max=6740, avg=3150.13, stdev=460.33
     lat (msec): min=8, max=6740, avg=3150.25, stdev=460.33
    clat percentiles (msec):
     |  1.00th=[ 1234],  5.00th=[ 3004], 10.00th=[ 3004], 20.00th=[ 3071],
     | 30.00th=[ 3104], 40.00th=[ 3104], 50.00th=[ 3138], 60.00th=[ 3138],
     | 70.00th=[ 3171], 80.00th=[ 3205], 90.00th=[ 3373], 95.00th=[ 3440],
     | 99.00th=[ 5403], 99.50th=[ 6074], 99.90th=[ 6611], 99.95th=[ 6678],
     | 99.99th=[ 6745]
   bw (  MiB/s): min=  433, max= 3795, per=100.00%, avg=2035.38, stdev= 3.23, samples=47919
   iops        : min=  419, max= 3795, avg=2032.54, stdev= 3.23, samples=47919
  lat (msec)   : 10=0.01%, 20=0.02%, 50=0.04%, 100=0.04%, 250=0.11%
  lat (msec)   : 500=0.20%, 750=0.21%, 1000=0.19%, 2000=0.79%, >=2000=98.39%
  cpu          : usr=0.05%, sys=0.19%, ctx=507648, majf=0, minf=3253
  IO depths    : 1=0.1%, 2=0.1%, 4=0.2%, 8=0.3%, 16=0.6%, 32=1.3%, >=64=97.5%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=250992,250525,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
   READ: bw=2034MiB/s (2133MB/s), 2034MiB/s-2034MiB/s (2133MB/s-2133MB/s), io=245GiB (263GB), run=123398-123398msec
  WRITE: bw=2030MiB/s (2129MB/s), 2030MiB/s-2030MiB/s (2129MB/s-2129MB/s), io=245GiB (263GB), run=123398-123398msec

・ランダム読取り/書込みのテスト結果

スループット・パフォーマンスは、次の bw 行を見ると、max= 3830 (MiB/s) = 32.12 Gbps であることを確認できます。

bw行
   bw (  MiB/s): min=  423, max= 3830, per=100.00%, avg=2039.02, stdev= 3.26, samples=47921

■ 参考

 ・ Oracle LinuxでのNFSサーバーの作成
 ・ Sample FIO Commands for Block Volume Performance Tests on Linux-based Instances
 ・ fio - Flexible I/O tester
 ・ Package nfs-utils
 ・ nconnectを使用してNFSのパフォーマンスを簡単に向上させる
 ・ NFS スレッド数の設定

14
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
4