Oracle Cloud: 超高パフォーマンス・ボリュームで 100万IOPS, 40Gbpsスループット出してみてみた

前回行った[ボリュームあたり最大 300,000 IOPS および 2,680 MB/秒のスループット](https://qiita.com/shirok/items/4f98b9ba333266e5d97d)を備えた Ultra High Performance Volumes (UHP) ブロック ボリュームを複数ストライプ化すれば、よりパフォーマンスが出る。
ということで今回は、最大スループット 40Gbps の [VM.Optimized3.Flex](https://blogs.oracle.com/oracle4engineer/post/announcing-compute-instances-with-3rd-gen-intel-xeon-ice-lake-processors-v2) シェイプへ ストライプ化した複数の UHPボリュームをアタッチし、fioコマンドでパフォーマンス・テストしてみてみます。




# ■ コンピュート・インスタンス作成
超高パフォーマンス(VPU30以上)ブロック・ボリュームのパフォーマンスを出力するには、[インスタンス・シェイプのパフォーマンスの詳細](https://docs.oracle.com/ja-jp/iaas/Content/Block/Concepts/blockvolumeperformance.htm#shapes_block_details)を参考にコンピュート・インスタンスへ次の設定をします。

	・ブロック・ボリューム管理プラグインON: iSCSIアタッチメント・タイプを使用してアタッチされた超高パフォーマンスで構成されたボリュームに必要です。
	・最大ネットワーク帯域幅: 選択シェイプの最大帯域幅の値以上のOCPUを選択
	・超高パフォーマンス(UHP)のサポート: UHPをサポートするOCPU数以上を選択

**・すべてのシェイプの参照画面**
![01_コンピュート作成01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/7447dda6-350e-5dc5-ba7a-56df8c07e20d.jpeg)

**・コンピュート・インスタンスの作成画面**
![01_コンピュート作成02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/1f851f5d-05bc-ab7a-71f3-d12b5d50cb9c.jpeg)


**1) コンピュート・インスタンスの作成**
今回、VM.Optimized3.Flexを使用して UHPブロック・ボリュームのパフォーマンスを最大にするよう次の設定をします。

	・Shape: VM.Optimized3.Flex
	・OCPUの数: 10にして ネットワーク帯域幅が最大値 40Gbps になるように設定
	・ブロック・ボリューム管理: チェックしてUHPブロック。ボリュームを有効化


**2) 作成確認**
![01_コンピュート作成03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a19afc0d-4ade-674a-591d-cef658b12b20.jpeg)





# ■ ブロック・ボリューム作成とアタッチ
## ● ブロック・ボリューム作成
**1) ブロック・ボリューム作成**
VPUの[パフォーマンスの特性](https://docs.oracle.com/ja-jp/iaas/Content/Block/Concepts/blockvolumeultrahighperformance.htm)を参照してブロック・ボリュームのパフォーマンスが最大になるように設定します。
今回は 8つのブロック・ボリュームで 1,000,000 IOPSになるように 次のように設定します。

	・VPU/GB: 50
	・ボリューム・サイズ(GB): 1,042
	・ボリューム当たりの最大IOPS: 125,000

![02_Block-Volume02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/f9ba88d1-0fc5-27db-2fe6-fb2687de1d40.jpeg)

**1) 8個ブロック・ボリューム作成**
同様にブロック・ボリュームを8個作成します。
![02_Block-Volume03.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/cae7b04a-10af-0f6d-1854-a313f46bc4db.jpeg)



## ● ブロック・ボリュームのアタッチ
作成した8つのブロック・ボリュームをコンピュート・インスタンスにアタッチします。
Oracle Cloud Agentバージョン1.39未満のインスタンスでは、マルチパスの複数の超高パフォーマンス・ボリュームがサポートされていないため、マルチパス項目は「いいえ」になります。
![03_Block-Volumeアタッチ02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/727540f8-32a9-bab5-b50c-3dd8a14e7d87.jpeg)




# ■ 論理ボリューム(LV)作成
## ● 物理ボリューム(PV)確認
sdb - sdi までの8つのボリュームが追加されていることを確認できます。


**1) lsblk確認**
```
[root@uhp-inst ~]# lsblk
	NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
	sda                  8:0    0 46.6G  0 disk
	├─sda1               8:1    0  100M  0 part /boot/efi
	├─sda2               8:2    0    1G  0 part /boot
	└─sda3               8:3    0 45.5G  0 part
	  ├─ocivolume-root 252:0    0 35.5G  0 lvm  /
	  └─ocivolume-oled 252:1    0   10G  0 lvm  /var/oled
	sdb                  8:16   0  960G  0 disk
	sdc                  8:32   0  960G  0 disk
	sdd                  8:48   0  960G  0 disk
	sde                  8:64   0  960G  0 disk
	sdf                  8:80   0  960G  0 disk
	sdg                  8:96   0  960G  0 disk
	sdh                  8:112  0  960G  0 disk
	sdi                  8:128  0  960G  0 disk
```

**2) pvs 確認**
```
[root@uhp-inst ~]#  pvs -a
  PV         VG        Fmt  Attr PSize  PFree
  /dev/sda1                 ---      0     0
  /dev/sda2                 ---      0     0
  /dev/sda3  ocivolume lvm2 a--  45.47g    0
  /dev/sdb                  ---      0     0
  /dev/sdc                  ---      0     0
  /dev/sdd                  ---      0     0
  /dev/sde                  ---      0     0
  /dev/sdf                  ---      0     0
  /dev/sdg                  ---      0     0
  /dev/sdh                  ---      0     0
  /dev/sdi                  ---      0     0
```


## ● 物理ボリューム(PV) 作成
**1) 物理ボリューム(PV)を作成**
 -vオプションを指定してコマンドを実行し、詳細情報を取得します。

```
[root@uhp-inst ~]# pvcreate -v /dev/sd{b,c,d,e,f,g,h,i}
	  Wiping signatures on new PV /dev/sdb.
	  Found existing signature on /dev/sdb at offset 510: LABEL="(null)" UUID="(null)" TYPE="dos" USAGE="partition table"
	WARNING: dos signature detected on /dev/sdb at offset 510. Wipe it? [y/n]: y
	  Accepted input: [y]
	  Wiping dos signature on /dev/sdb.
	  Wiping signatures on new PV /dev/sdc.
	  Found existing signature on /dev/sdc at offset 510: LABEL="(null)" UUID="(null)" TYPE="dos" USAGE="partition table"
	WARNING: dos signature detected on /dev/sdc at offset 510. Wipe it? [y/n]: y
	  Accepted input: [y]
	  Wiping dos signature on /dev/sdc.
	  Wiping signatures on new PV /dev/sdd.
	  Found existing signature on /dev/sdd at offset 510: LABEL="(null)" UUID="(null)" TYPE="dos" USAGE="partition table"
	WARNING: dos signature detected on /dev/sdd at offset 510. Wipe it? [y/n]: y
	  Accepted input: [y]
	  Wiping dos signature on /dev/sdd.
	  Wiping signatures on new PV /dev/sde.
	  Found existing signature on /dev/sde at offset 510: LABEL="(null)" UUID="(null)" TYPE="dos" USAGE="partition table"
	WARNING: dos signature detected on /dev/sde at offset 510. Wipe it? [y/n]: y
	  Accepted input: [y]
	  Wiping dos signature on /dev/sde.
	  Wiping signatures on new PV /dev/sdf.
	  Found existing signature on /dev/sdf at offset 510: LABEL="(null)" UUID="(null)" TYPE="dos" USAGE="partition table"
	WARNING: dos signature detected on /dev/sdf at offset 510. Wipe it? [y/n]: y
	  Accepted input: [y]
	  Wiping dos signature on /dev/sdf.
	  Wiping signatures on new PV /dev/sdg.
	  Found existing signature on /dev/sdg at offset 510: LABEL="(null)" UUID="(null)" TYPE="dos" USAGE="partition table"
	WARNING: dos signature detected on /dev/sdg at offset 510. Wipe it? [y/n]: y
	  Accepted input: [y]
	  Wiping dos signature on /dev/sdg.
	  Wiping signatures on new PV /dev/sdh.
	  Found existing signature on /dev/sdh at offset 510: LABEL="(null)" UUID="(null)" TYPE="dos" USAGE="partition table"
	WARNING: dos signature detected on /dev/sdh at offset 510. Wipe it? [y/n]: y
	  Accepted input: [y]
	  Wiping dos signature on /dev/sdh.
	  Wiping signatures on new PV /dev/sdi.
	  Found existing signature on /dev/sdi at offset 510: LABEL="(null)" UUID="(null)" TYPE="dos" USAGE="partition table"
	WARNING: dos signature detected on /dev/sdi at offset 510. Wipe it? [y/n]: y
	  Accepted input: [y]
	  Wiping dos signature on /dev/sdi.
	  Set up physical volume for "/dev/sdb" with 2013265920 available sectors.
	  Zeroing start of device /dev/sdb.
	  Writing physical volume data to disk "/dev/sdb".
	  Physical volume "/dev/sdb" successfully created.
	  Set up physical volume for "/dev/sdc" with 2013265920 available sectors.
	  Zeroing start of device /dev/sdc.
	  Writing physical volume data to disk "/dev/sdc".
	  Physical volume "/dev/sdc" successfully created.
	  Set up physical volume for "/dev/sdd" with 2013265920 available sectors.
	  Zeroing start of device /dev/sdd.
	  Writing physical volume data to disk "/dev/sdd".
	  Physical volume "/dev/sdd" successfully created.
	  Set up physical volume for "/dev/sde" with 2013265920 available sectors.
	  Zeroing start of device /dev/sde.
	  Writing physical volume data to disk "/dev/sde".
	  Physical volume "/dev/sde" successfully created.
	  Set up physical volume for "/dev/sdf" with 2013265920 available sectors.
	  Zeroing start of device /dev/sdf.
	  Writing physical volume data to disk "/dev/sdf".
	  Physical volume "/dev/sdf" successfully created.
	  Set up physical volume for "/dev/sdg" with 2013265920 available sectors.
	  Zeroing start of device /dev/sdg.
	  Writing physical volume data to disk "/dev/sdg".
	  Physical volume "/dev/sdg" successfully created.
	  Set up physical volume for "/dev/sdh" with 2013265920 available sectors.
	  Zeroing start of device /dev/sdh.
	  Writing physical volume data to disk "/dev/sdh".
	  Physical volume "/dev/sdh" successfully created.
	  Set up physical volume for "/dev/sdi" with 2013265920 available sectors.
	  Zeroing start of device /dev/sdi.
	  Writing physical volume data to disk "/dev/sdi".
	  Physical volume "/dev/sdi" successfully created.
```

**2) PV作成確認**
```
[root@uhp-inst ~]# pvs
	PV         VG        Fmt  Attr PSize   PFree
	/dev/sda3  ocivolume lvm2 a--   45.47g      0
	/dev/sdb             lvm2 ---  1.02t 1.02t
	/dev/sdc             lvm2 ---  1.02t 1.02t
	/dev/sdd             lvm2 ---  1.02t 1.02t
	/dev/sde             lvm2 ---  1.02t 1.02t
	/dev/sdf             lvm2 ---  1.02t 1.02t
	/dev/sdg             lvm2 ---  1.02t 1.02t
	/dev/sdh             lvm2 ---  1.02t 1.02t
	/dev/sdi             lvm2 ---  1.02t 1.02t
```


## ● ボリューム・グループ(VG)
**1) ボリュームグループ volgroup01 を作成**
新しく作成した物理ボリュームを使用してボリューム・グループ(VG)を作成します。
```
[root@uhp-inst ~]# vgcreate -v volgroup01 /dev/sd{b,c,d,e,f,g,h,i}
  Wiping signatures on new PV /dev/sdb.
  Wiping signatures on new PV /dev/sdc.
  Wiping signatures on new PV /dev/sdd.
  Wiping signatures on new PV /dev/sde.
  Wiping signatures on new PV /dev/sdf.
  Wiping signatures on new PV /dev/sdg.
  Wiping signatures on new PV /dev/sdh.
  Wiping signatures on new PV /dev/sdi.
  Adding physical volume '/dev/sdb' to volume group 'volgroup01'
  Adding physical volume '/dev/sdc' to volume group 'volgroup01'
  Adding physical volume '/dev/sdd' to volume group 'volgroup01'
  Adding physical volume '/dev/sde' to volume group 'volgroup01'
  Adding physical volume '/dev/sdf' to volume group 'volgroup01'
  Adding physical volume '/dev/sdg' to volume group 'volgroup01'
  Adding physical volume '/dev/sdh' to volume group 'volgroup01'
  Adding physical volume '/dev/sdi' to volume group 'volgroup01'
  Creating volume group backup "/etc/lvm/backup/volgroup01" (seqno 1).
  Volume group "volgroup01" successfully created
```

**2) VG作成確認**
vgs コマンドを使用すると、作成したボリュームグループの属性を表示できます。 

```
[root@uhp-inst ~]# vgs
  VG         #PV #LV #SN Attr   VSize  VFree
  ocivolume    1   2   0 wz--n- 45.47g    0
  volgroup01   8   1   0 wz--n-  8.14t    0
```


# ■ ストライプ化論理ボリューム(LV)作成

**1) 論理ボリューム(LV)作成**

ストライプサイズが 4 キロバイトの 8 つのストライプがある、全てのボリューム・サイズを使用するリニア論理ボリューム(LV)を作成します。

```
[root@uhp-inst ~]# lvcreate -v -i 8 -I 4 -l 100%FREE -n striped_logical_volume volgroup01
  Converted 100% of FREE (1966072) extents into 1966072 (with mimages 1 and stripes 8 for segtype striped).
  Creating logical volume striped_logical_volume
  Archiving volume group "volgroup01" metadata (seqno 3).
  Activating logical volume volgroup01/striped_logical_volume.
  activation/volume_list configuration setting not defined: Checking only host tags for volgroup01/striped_logical_volume.
  Creating volgroup01-striped_logical_volume
  Loading table for volgroup01-striped_logical_volume (252:2).
  Resuming volgroup01-striped_logical_volume (252:2).
  Wiping known signatures on logical volume volgroup01/striped_logical_volume.
  Initializing 4.00 KiB of logical volume volgroup01/striped_logical_volume with value 0.
  Logical volume "striped_logical_volume" created.
  Creating volume group backup "/etc/lvm/backup/volgroup01" (seqno 4).
```

**2) LV作成確認**
volgroup01 VG内に含まれるすべての論理ボリュームが表示されます。

```
[root@uhp-inst ~]# lvdisplay /dev/volgroup01
  --- Logical volume ---
  LV Path                /dev/volgroup01/striped_logical_volume
  LV Name                striped_logical_volume
  VG Name                volgroup01
  LV UUID                ZEWhyl-4DGf-k04S-sYXh-s5Ac-p5SB-c9lTzw
  LV Write Access        read/write
  LV Creation host, time uhp-inst, 2023-06-26 15:26:02 +0000
  LV Status              available
  # open                 0
  LV Size                <7.50 TiB
  Current LE             1966072
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:2
```

**3) LVタイプ表示**
```
[root@uhp-inst ~]# lvs -o name,segtype /dev/volgroup01/striped_logical_volume
  LV                     Type
  striped_logical_volume striped
```



# ■ FIOコマンド使用してブロック・ボリューム・パフォーマンス・テスト
[Linuxベース・インスタンスでブロック・ボリューム・パフォーマンス・テストを行うためのサンプルFIOコマンド](https://docs.oracle.com/ja-jp/iaas/Content/Block/References/samplefiocommandslinux.htm)を参照して FIOコマンドで IOPSとスループットのパフォーマンス・テストをします。


## ● FIO インストール
**1) FIO インストール**
```
[root@uhp-inst ~]# sudo dnf install fio -y
Last metadata expiration check: 0:02:13 ago on Fri 28 Mar 2025 07:00:14 AM GMT.
Dependencies resolved.
===================================================================================================================================
 Package                          Architecture          Version                             Repository                        Size
===================================================================================================================================
Installing:
 fio                              x86_64                3.35-1.el9                          ol9_appstream                    6.4 M
Installing dependencies:
 boost-iostreams                  x86_64                1.75.0-8.el9                        ol9_appstream                     38 k
 libnbd                           x86_64                1.20.2-2.el9                        ol9_appstream                    178 k
 librados2                        x86_64                2:16.2.4-5.0.3.el9                  ol9_appstream                    3.4 M
 librbd1                          x86_64                2:16.2.4-5.0.3.el9                  ol9_appstream                    3.0 M
 librdmacm                        x86_64                51.0-1.el9                          ol9_baseos_latest                 74 k
Installing weak dependencies:
 fio-engine-http                  x86_64                3.35-1.el9                          ol9_appstream                     17 k
 fio-engine-libaio                x86_64                3.35-1.el9                          ol9_appstream                     14 k
 fio-engine-nbd                   x86_64                3.35-1.el9                          ol9_appstream                     13 k
 fio-engine-rados                 x86_64                3.35-1.el9                          ol9_appstream                     15 k
 fio-engine-rbd                   x86_64                3.35-1.el9                          ol9_appstream                     15 k
 fio-engine-rdma                  x86_64                3.35-1.el9                          ol9_appstream                     19 k

Transaction Summary
===================================================================================================================================
Install  12 Packages

	・・・
	Complete!
```

**2) FIO インストール確認**

```
[root@uhp-inst ~]# fio -h
fio-3.35
fio [options] [job options] <job file(s)>
  --debug=options	Enable debug logging. May be one/more of:
			process,file,io,mem,blktrace,verify,random,parse,
			diskutil,job,mutex,profile,time,net,rate,compress,
			steadystate,helperthread,zbd
  --parse-only		Parse options only, don't start any IO
  --merge-blktrace-only	Merge blktraces only, don't start any IO
  --output		Write output to file
  --bandwidth-log	Generate aggregate bandwidth logs
  --minimal		Minimal (terse) output
  --output-format=type	Output format (terse,json,json+,normal)
  --terse-version=type	Set terse version output format (default 3, or 2 or 4 or 5)
  --version		Print version info and exit
  --help		Print this page
  --cpuclock-test	Perform test/validation of CPU clock
  --crctest=[type]	Test speed of checksum functions
  --cmdhelp=cmd		Print command help, "all" for all of them
  --enghelp=engine	Print ioengine help, or list available ioengines
  --enghelp=engine,cmd	Print help for an ioengine cmd
  --showcmd		Turn a job file into command line options
  --eta=when		When ETA estimate should be printed
            		May be "always", "never" or "auto"
  --eta-newline=t	Force a new line for every 't' period passed
  --status-interval=t	Force full status dump every 't' period passed
  --readonly		Turn on safety read-only checks, preventing writes
  --section=name	Only run specified section in job file, multiple sections can be specified
  --alloc-size=kb	Set smalloc pool to this size in kb (def 16384)
  --warnings-fatal	Fio parser warnings are fatal
  --max-jobs=nr		Maximum number of threads/processes to support
  --server=args		Start a backend fio server
  --daemonize=pidfile	Background fio server, write pid to file
  --client=hostname	Talk to remote backend(s) fio server at hostname
  --remote-config=file	Tell fio server to load this local job file
  --idle-prof=option	Report cpu idleness on a system or percpu basis
			(option=system,percpu) or run unit work
			calibration only (option=calibrate)
  --inflate-log=log	Inflate and output compressed log
  --trigger-file=file	Execute trigger cmd when file exists
  --trigger-timeout=t	Execute trigger at this time
  --trigger=cmd		Set this command as local trigger
  --trigger-remote=cmd	Set this command as remote trigger
  --aux-path=path	Use this path for fio state generated files

Fio was written by Jens Axboe <axboe@kernel.dk>
```

## ● IOPS パフォーマンス・テスト
IOPSパフォーマンスをテストするには、次のFIOサンプル・コマンドを使用します。コマンドを直接実行することも、コマンドを使用してジョブ・ファイルを作成してからそのジョブ・ファイルを実行することもできます。

:::note info
FIO実行するときは--numjobs オプションを使用して、ストライプしているデバイス(/dev/sd?)の数に応じて並列度を上げて実行します。
:::
### ・ Sequential Reads テスト
データベース・ワークロードなど、順次アクセス・パターンを利用できるワークロードに対しては、順次読取りをテストすることにより、このパターンのパフォーマンスを確認できます。
順次読取りをテストするには、次のコマンドを実行します:

```
[root@uhp-inst ~]#  fio --filename=/dev/volgroup01/striped_logical_volume --direct=1 --rw=read --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name=iops-test-job --eta-newline=1 --readonly
iops-test-job: (g=0): rw=read, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=256
...
fio-3.19
Starting 4 processes
Jobs: 4 (f=4): [R(4)][2.5%][r=3241MiB/s][r=830k IOPS][eta 01m:58s]
Jobs: 4 (f=4): [R(4)][3.3%][r=3262MiB/s][r=835k IOPS][eta 01m:57s]
Jobs: 4 (f=4): [R(4)][4.1%][r=3241MiB/s][r=830k IOPS][eta 01m:56s]
Jobs: 4 (f=4): [R(4)][5.0%][r=3290MiB/s][r=842k IOPS][eta 01m:55s]
Jobs: 4 (f=4): [R(4)][5.8%][r=3279MiB/s][r=839k IOPS][eta 01m:54s]
Jobs: 4 (f=4): [R(4)][6.6%][r=3229MiB/s][r=827k IOPS][eta 01m:53s]
Jobs: 4 (f=4): [R(4)][7.4%][r=3287MiB/s][r=842k IOPS][eta 01m:52s]
Jobs: 4 (f=4): [R(4)][8.3%][r=3243MiB/s][r=830k IOPS][eta 01m:51s]
Jobs: 4 (f=4): [R(4)][9.1%][r=3245MiB/s][r=831k IOPS][eta 01m:50s]
Jobs: 4 (f=4): [R(4)][9.9%][r=3292MiB/s][r=843k IOPS][eta 01m:49s]
Jobs: 4 (f=4): [R(4)][10.7%][r=3253MiB/s][r=833k IOPS][eta 01m:48s]
Jobs: 4 (f=4): [R(4)][11.6%][r=3300MiB/s][r=845k IOPS][eta 01m:47s]
Jobs: 4 (f=4): [R(4)][12.4%][r=3257MiB/s][r=834k IOPS][eta 01m:46s]
Jobs: 4 (f=4): [R(4)][13.2%][r=3315MiB/s][r=849k IOPS][eta 01m:45s]
Jobs: 4 (f=4): [R(4)][14.0%][r=3323MiB/s][r=851k IOPS][eta 01m:44s]
Jobs: 4 (f=4): [R(4)][14.9%][r=3205MiB/s][r=821k IOPS][eta 01m:43s]
Jobs: 4 (f=4): [R(4)][15.7%][r=3105MiB/s][r=795k IOPS][eta 01m:42s]
Jobs: 4 (f=4): [R(4)][16.5%][r=3192MiB/s][r=817k IOPS][eta 01m:41s]
Jobs: 4 (f=4): [R(4)][17.4%][r=3208MiB/s][r=821k IOPS][eta 01m:40s]
Jobs: 4 (f=4): [R(4)][18.2%][r=3228MiB/s][r=826k IOPS][eta 01m:39s]
Jobs: 4 (f=4): [R(4)][19.8%][r=3182MiB/s][r=815k IOPS][eta 01m:37s]
Jobs: 4 (f=4): [R(4)][20.7%][r=3208MiB/s][r=821k IOPS][eta 01m:36s]
Jobs: 4 (f=4): [R(4)][21.5%][r=3178MiB/s][r=814k IOPS][eta 01m:35s]
Jobs: 4 (f=4): [R(4)][22.3%][r=3066MiB/s][r=785k IOPS][eta 01m:34s]
Jobs: 4 (f=4): [R(4)][23.1%][r=3212MiB/s][r=822k IOPS][eta 01m:33s]
Jobs: 4 (f=4): [R(4)][24.0%][r=3204MiB/s][r=820k IOPS][eta 01m:32s]
Jobs: 4 (f=4): [R(4)][24.8%][r=3187MiB/s][r=816k IOPS][eta 01m:31s]
Jobs: 4 (f=4): [R(4)][25.6%][r=3147MiB/s][r=806k IOPS][eta 01m:30s]
Jobs: 4 (f=4): [R(4)][26.4%][r=3149MiB/s][r=806k IOPS][eta 01m:29s]
Jobs: 4 (f=4): [R(4)][27.3%][r=3180MiB/s][r=814k IOPS][eta 01m:28s]
Jobs: 4 (f=4): [R(4)][28.9%][r=3196MiB/s][r=818k IOPS][eta 01m:26s]
Jobs: 4 (f=4): [R(4)][29.8%][r=3318MiB/s][r=849k IOPS][eta 01m:25s]
Jobs: 4 (f=4): [R(4)][30.6%][r=3448MiB/s][r=883k IOPS][eta 01m:24s]
Jobs: 4 (f=4): [R(4)][31.4%][r=3569MiB/s][r=914k IOPS][eta 01m:23s]
Jobs: 4 (f=4): [R(4)][32.2%][r=3565MiB/s][r=913k IOPS][eta 01m:22s]
Jobs: 4 (f=4): [R(4)][33.1%][r=3563MiB/s][r=912k IOPS][eta 01m:21s]
Jobs: 4 (f=4): [R(4)][33.9%][r=3584MiB/s][r=917k IOPS][eta 01m:20s]
Jobs: 4 (f=4): [R(4)][34.7%][r=3744MiB/s][r=958k IOPS][eta 01m:19s]
Jobs: 4 (f=4): [R(4)][36.4%][r=3687MiB/s][r=944k IOPS][eta 01m:17s]
Jobs: 4 (f=4): [R(4)][37.2%][r=3739MiB/s][r=957k IOPS][eta 01m:16s]
Jobs: 4 (f=4): [R(4)][38.0%][r=3677MiB/s][r=941k IOPS][eta 01m:15s]
Jobs: 4 (f=4): [R(4)][38.8%][r=3497MiB/s][r=895k IOPS][eta 01m:14s]
Jobs: 4 (f=4): [R(4)][39.7%][r=3485MiB/s][r=892k IOPS][eta 01m:13s]
Jobs: 4 (f=4): [R(4)][40.5%][r=3504MiB/s][r=897k IOPS][eta 01m:12s]
Jobs: 4 (f=4): [R(4)][41.3%][r=3550MiB/s][r=909k IOPS][eta 01m:11s]
Jobs: 4 (f=4): [R(4)][42.1%][r=3522MiB/s][r=902k IOPS][eta 01m:10s]
Jobs: 4 (f=4): [R(4)][43.0%][r=3496MiB/s][r=895k IOPS][eta 01m:09s]
Jobs: 4 (f=4): [R(4)][43.8%][r=3502MiB/s][r=897k IOPS][eta 01m:08s]
Jobs: 4 (f=4): [R(4)][44.6%][r=3572MiB/s][r=914k IOPS][eta 01m:07s]
Jobs: 4 (f=4): [R(4)][45.5%][r=3507MiB/s][r=898k IOPS][eta 01m:06s]
Jobs: 4 (f=4): [R(4)][46.3%][r=3505MiB/s][r=897k IOPS][eta 01m:05s]
Jobs: 4 (f=4): [R(4)][47.1%][r=3487MiB/s][r=893k IOPS][eta 01m:04s]
Jobs: 4 (f=4): [R(4)][47.9%][r=3557MiB/s][r=911k IOPS][eta 01m:03s]
Jobs: 4 (f=4): [R(4)][48.8%][r=3473MiB/s][r=889k IOPS][eta 01m:02s]
Jobs: 4 (f=4): [R(4)][49.6%][r=3482MiB/s][r=891k IOPS][eta 01m:01s]
Jobs: 4 (f=4): [R(4)][50.4%][r=3500MiB/s][r=896k IOPS][eta 01m:00s]
Jobs: 4 (f=4): [R(4)][51.2%][r=3524MiB/s][r=902k IOPS][eta 00m:59s]
Jobs: 4 (f=4): [R(4)][52.1%][r=3519MiB/s][r=901k IOPS][eta 00m:58s]
Jobs: 4 (f=4): [R(4)][52.9%][r=3532MiB/s][r=904k IOPS][eta 00m:57s]
Jobs: 4 (f=4): [R(4)][53.7%][r=3583MiB/s][r=917k IOPS][eta 00m:56s]
Jobs: 4 (f=4): [R(4)][54.5%][r=3504MiB/s][r=897k IOPS][eta 00m:55s]
Jobs: 4 (f=4): [R(4)][55.4%][r=3619MiB/s][r=926k IOPS][eta 00m:54s]
Jobs: 4 (f=4): [R(4)][57.0%][r=3510MiB/s][r=899k IOPS][eta 00m:52s]
Jobs: 4 (f=4): [R(4)][57.9%][r=3572MiB/s][r=914k IOPS][eta 00m:51s]
Jobs: 4 (f=4): [R(4)][58.7%][r=3553MiB/s][r=910k IOPS][eta 00m:50s]
Jobs: 4 (f=4): [R(4)][59.5%][r=3618MiB/s][r=926k IOPS][eta 00m:49s]
Jobs: 4 (f=4): [R(4)][60.3%][r=3518MiB/s][r=901k IOPS][eta 00m:48s]
Jobs: 4 (f=4): [R(4)][61.2%][r=3479MiB/s][r=891k IOPS][eta 00m:47s]
Jobs: 4 (f=4): [R(4)][62.0%][r=3473MiB/s][r=889k IOPS][eta 00m:46s]
Jobs: 4 (f=4): [R(4)][62.8%][r=3356MiB/s][r=859k IOPS][eta 00m:45s]
Jobs: 4 (f=4): [R(4)][63.6%][r=3460MiB/s][r=886k IOPS][eta 00m:44s]
Jobs: 4 (f=4): [R(4)][64.5%][r=3594MiB/s][r=920k IOPS][eta 00m:43s]
Jobs: 4 (f=4): [R(4)][65.3%][r=3511MiB/s][r=899k IOPS][eta 00m:42s]
Jobs: 4 (f=4): [R(4)][66.1%][r=3412MiB/s][r=873k IOPS][eta 00m:41s]
Jobs: 4 (f=4): [R(4)][66.9%][r=3385MiB/s][r=867k IOPS][eta 00m:40s]
Jobs: 4 (f=4): [R(4)][67.8%][r=3445MiB/s][r=882k IOPS][eta 00m:39s]
Jobs: 4 (f=4): [R(4)][68.6%][r=3480MiB/s][r=891k IOPS][eta 00m:38s]
Jobs: 4 (f=4): [R(4)][69.4%][r=3462MiB/s][r=886k IOPS][eta 00m:37s]
Jobs: 4 (f=4): [R(4)][70.2%][r=3481MiB/s][r=891k IOPS][eta 00m:36s]
Jobs: 4 (f=4): [R(4)][71.1%][r=3523MiB/s][r=902k IOPS][eta 00m:35s]
Jobs: 4 (f=4): [R(4)][71.9%][r=3532MiB/s][r=904k IOPS][eta 00m:34s]
Jobs: 4 (f=4): [R(4)][72.7%][r=3535MiB/s][r=905k IOPS][eta 00m:33s]
Jobs: 4 (f=4): [R(4)][73.6%][r=3519MiB/s][r=901k IOPS][eta 00m:32s]
Jobs: 4 (f=4): [R(4)][74.4%][r=3436MiB/s][r=880k IOPS][eta 00m:31s]
Jobs: 4 (f=4): [R(4)][75.2%][r=3487MiB/s][r=893k IOPS][eta 00m:30s]
Jobs: 4 (f=4): [R(4)][76.0%][r=3484MiB/s][r=892k IOPS][eta 00m:29s]
Jobs: 4 (f=4): [R(4)][76.9%][r=3400MiB/s][r=870k IOPS][eta 00m:28s]
Jobs: 4 (f=4): [R(4)][77.7%][r=3450MiB/s][r=883k IOPS][eta 00m:27s]
Jobs: 4 (f=4): [R(4)][79.2%][r=3507MiB/s][r=898k IOPS][eta 00m:25s]
Jobs: 4 (f=4): [R(4)][80.0%][r=3520MiB/s][r=901k IOPS][eta 00m:24s]
Jobs: 4 (f=4): [R(4)][81.7%][r=3570MiB/s][r=914k IOPS][eta 00m:22s]
Jobs: 4 (f=4): [R(4)][82.5%][r=3580MiB/s][r=916k IOPS][eta 00m:21s]
Jobs: 4 (f=4): [R(4)][83.3%][r=3561MiB/s][r=912k IOPS][eta 00m:20s]
Jobs: 4 (f=4): [R(4)][84.2%][r=3637MiB/s][r=931k IOPS][eta 00m:19s]
Jobs: 4 (f=4): [R(4)][85.0%][r=3625MiB/s][r=928k IOPS][eta 00m:18s]
Jobs: 4 (f=4): [R(4)][85.8%][r=3605MiB/s][r=923k IOPS][eta 00m:17s]
Jobs: 4 (f=4): [R(4)][86.7%][r=3657MiB/s][r=936k IOPS][eta 00m:16s]
Jobs: 4 (f=4): [R(4)][87.5%][r=3576MiB/s][r=915k IOPS][eta 00m:15s]
Jobs: 4 (f=4): [R(4)][88.3%][r=3618MiB/s][r=926k IOPS][eta 00m:14s]
Jobs: 4 (f=4): [R(4)][89.2%][r=3466MiB/s][r=887k IOPS][eta 00m:13s]
Jobs: 4 (f=4): [R(4)][90.8%][r=3480MiB/s][r=891k IOPS][eta 00m:11s]
Jobs: 4 (f=4): [R(4)][91.7%][r=3547MiB/s][r=908k IOPS][eta 00m:10s]
Jobs: 4 (f=4): [R(4)][92.5%][r=3473MiB/s][r=889k IOPS][eta 00m:09s]
Jobs: 4 (f=4): [R(4)][93.3%][r=3512MiB/s][r=899k IOPS][eta 00m:08s]
Jobs: 4 (f=4): [R(4)][94.2%][r=3484MiB/s][r=892k IOPS][eta 00m:07s]
Jobs: 4 (f=4): [R(4)][95.0%][r=3475MiB/s][r=890k IOPS][eta 00m:06s]
Jobs: 4 (f=4): [R(4)][95.8%][r=3448MiB/s][r=883k IOPS][eta 00m:05s]
Jobs: 4 (f=4): [R(4)][96.7%][r=3451MiB/s][r=884k IOPS][eta 00m:04s]
Jobs: 4 (f=4): [R(4)][97.5%][r=3431MiB/s][r=878k IOPS][eta 00m:03s]
Jobs: 4 (f=4): [R(4)][99.2%][r=3389MiB/s][r=868k IOPS][eta 00m:01s]
Jobs: 4 (f=4): [R(4)][100.0%][r=3426MiB/s][r=877k IOPS][eta 00m:00s]
iops-test-job: (groupid=0, jobs=4): err= 0: pid=7129: Tue Jul  4 15:24:11 2023
  read: IOPS=880k, BW=3436MiB/s (3603MB/s)(403GiB/120005msec)
    slat (nsec): min=1006, max=2272.4k, avg=2814.44, stdev=3393.01
    clat (usec): min=186, max=46583, avg=1160.85, stdev=725.86
     lat (usec): min=198, max=46586, avg=1163.76, stdev=725.68
    clat percentiles (usec):
     |  1.00th=[  474],  5.00th=[  578], 10.00th=[  644], 20.00th=[  742],
     | 30.00th=[  824], 40.00th=[  906], 50.00th=[  996], 60.00th=[ 1106],
     | 70.00th=[ 1237], 80.00th=[ 1450], 90.00th=[ 1795], 95.00th=[ 2147],
     | 99.00th=[ 3556], 99.50th=[ 5211], 99.90th=[ 9372], 99.95th=[10945],
     | 99.99th=[15401]
   bw (  MiB/s): min= 2676, max= 4003, per=100.00%, avg=3440.41, stdev=47.77, samples=956
   iops        : min=685082, max=1024820, avg=880746.17, stdev=12229.15, samples=956
  lat (usec)   : 250=0.01%, 500=1.65%, 750=19.32%, 1000=29.40%
  lat (msec)   : 2=43.06%, 4=5.77%, 10=0.73%, 20=0.07%, 50=0.01%
  cpu          : usr=18.04%, sys=64.94%, ctx=2642520, majf=0, minf=1080
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.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.0%, >=64=0.1%
     issued rwts: total=105559843,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=256

Run status group 0 (all jobs):
   READ: bw=3436MiB/s (3603MB/s), 3436MiB/s-3436MiB/s (3603MB/s-3603MB/s), io=403GiB (432GB), run=120005-120005msec
```

### ・ IOPS パフォーマンス・テスト結果
IOPS パフォーマンスは、次の iops 行を見ると、max=1024820 であることを確認できます。

```
   iops        : min=685082, max=1024820, avg=880746.17, stdev=12229.15, samples=956
```

## ● スループット・パフォーマンス・テスト
スループット・パフォーマンスをテストするには、次のFIOサンプル・コマンドを使用します。

### ・ Sequential Reads テスト
データベース・ワークロードなど、順次アクセス・パターンを利用できるワークロードに対しては、順次読取りをテストすることにより、このパターンのパフォーマンスを確認できます。
順次読取りをテストするには、次のコマンドを実行します:
```
[root@uhp-inst ~]# fio --filename=/dev/volgroup01/striped_logical_volume --direct=1 --rw=read --bs=64k --ioengine=libaio --iodepth=64 --runtime=120 --numjobs=4 --time_based --group_reporting --name=throughput-test-job --eta-newline=1 --readonly
throughput-test-job: (g=0): rw=read, bs=(R) 64.0KiB-64.0KiB, (W) 64.0KiB-64.0KiB, (T) 64.0KiB-64.0KiB, ioengine=libaio, iodepth=64
...
fio-3.19
Starting 4 processes
Jobs: 4 (f=4): [R(4)][2.5%][r=4403MiB/s][r=70.5k IOPS][eta 01m:58s]
Jobs: 4 (f=4): [R(4)][3.3%][r=4373MiB/s][r=69.0k IOPS][eta 01m:57s]
Jobs: 4 (f=4): [R(4)][4.1%][r=4530MiB/s][r=72.5k IOPS][eta 01m:56s]
Jobs: 4 (f=4): [R(4)][5.0%][r=4396MiB/s][r=70.3k IOPS][eta 01m:55s]
Jobs: 4 (f=4): [R(4)][5.8%][r=4517MiB/s][r=72.3k IOPS][eta 01m:54s]
Jobs: 4 (f=4): [R(4)][6.6%][r=4329MiB/s][r=69.3k IOPS][eta 01m:53s]
Jobs: 4 (f=4): [R(4)][7.4%][r=4446MiB/s][r=71.1k IOPS][eta 01m:52s]
Jobs: 4 (f=4): [R(4)][8.3%][r=4395MiB/s][r=70.3k IOPS][eta 01m:51s]
Jobs: 4 (f=4): [R(4)][9.1%][r=4482MiB/s][r=71.7k IOPS][eta 01m:50s]
Jobs: 4 (f=4): [R(4)][9.9%][r=4430MiB/s][r=70.9k IOPS][eta 01m:49s]
Jobs: 4 (f=4): [R(4)][10.7%][r=4314MiB/s][r=69.0k IOPS][eta 01m:48s]
Jobs: 4 (f=4): [R(4)][11.6%][r=4437MiB/s][r=70.0k IOPS][eta 01m:47s]
Jobs: 4 (f=4): [R(4)][13.2%][r=4511MiB/s][r=72.2k IOPS][eta 01m:45s]
Jobs: 4 (f=4): [R(4)][14.0%][r=4445MiB/s][r=71.1k IOPS][eta 01m:44s]
Jobs: 4 (f=4): [R(4)][14.9%][r=4370MiB/s][r=69.9k IOPS][eta 01m:43s]
Jobs: 4 (f=4): [R(4)][15.7%][r=4478MiB/s][r=71.6k IOPS][eta 01m:42s]
Jobs: 4 (f=4): [R(4)][16.5%][r=4616MiB/s][r=73.9k IOPS][eta 01m:41s]
Jobs: 4 (f=4): [R(4)][17.4%][r=4513MiB/s][r=72.2k IOPS][eta 01m:40s]
Jobs: 4 (f=4): [R(4)][18.2%][r=4455MiB/s][r=71.3k IOPS][eta 01m:39s]
Jobs: 4 (f=4): [R(4)][19.0%][r=4407MiB/s][r=70.5k IOPS][eta 01m:38s]
Jobs: 4 (f=4): [R(4)][19.8%][r=4400MiB/s][r=70.4k IOPS][eta 01m:37s]
Jobs: 4 (f=4): [R(4)][20.7%][r=4376MiB/s][r=70.0k IOPS][eta 01m:36s]
Jobs: 4 (f=4): [R(4)][21.5%][r=4423MiB/s][r=70.8k IOPS][eta 01m:35s]
Jobs: 4 (f=4): [R(4)][22.3%][r=4928MiB/s][r=78.8k IOPS][eta 01m:34s]
Jobs: 4 (f=4): [R(4)][23.1%][r=4832MiB/s][r=77.3k IOPS][eta 01m:33s]
Jobs: 4 (f=4): [R(4)][24.0%][r=4949MiB/s][r=79.2k IOPS][eta 01m:32s]
Jobs: 4 (f=4): [R(4)][24.8%][r=4834MiB/s][r=77.3k IOPS][eta 01m:31s]
Jobs: 4 (f=4): [R(4)][25.6%][r=4907MiB/s][r=78.5k IOPS][eta 01m:30s]
Jobs: 4 (f=4): [R(4)][26.4%][r=4869MiB/s][r=77.9k IOPS][eta 01m:29s]
Jobs: 4 (f=4): [R(4)][27.3%][r=4974MiB/s][r=79.6k IOPS][eta 01m:28s]
Jobs: 4 (f=4): [R(4)][28.1%][r=4649MiB/s][r=74.4k IOPS][eta 01m:27s]
Jobs: 4 (f=4): [R(4)][28.9%][r=4701MiB/s][r=75.2k IOPS][eta 01m:26s]
Jobs: 4 (f=4): [R(4)][29.8%][r=4770MiB/s][r=76.3k IOPS][eta 01m:25s]
Jobs: 4 (f=4): [R(4)][30.6%][r=4656MiB/s][r=74.5k IOPS][eta 01m:24s]
Jobs: 4 (f=4): [R(4)][31.4%][r=4768MiB/s][r=76.3k IOPS][eta 01m:23s]
Jobs: 4 (f=4): [R(4)][32.2%][r=4733MiB/s][r=75.7k IOPS][eta 01m:22s]
Jobs: 4 (f=4): [R(4)][33.1%][r=4623MiB/s][r=73.0k IOPS][eta 01m:21s]
Jobs: 4 (f=4): [R(4)][33.9%][r=4908MiB/s][r=78.5k IOPS][eta 01m:20s]
Jobs: 4 (f=4): [R(4)][34.7%][r=5040MiB/s][r=80.6k IOPS][eta 01m:19s]
Jobs: 4 (f=4): [R(4)][35.5%][r=4724MiB/s][r=75.6k IOPS][eta 01m:18s]
Jobs: 4 (f=4): [R(4)][36.4%][r=4716MiB/s][r=75.5k IOPS][eta 01m:17s]
Jobs: 4 (f=4): [R(4)][37.2%][r=4763MiB/s][r=76.2k IOPS][eta 01m:16s]
Jobs: 4 (f=4): [R(4)][38.0%][r=4756MiB/s][r=76.1k IOPS][eta 01m:15s]
Jobs: 4 (f=4): [R(4)][38.8%][r=4809MiB/s][r=76.9k IOPS][eta 01m:14s]
Jobs: 4 (f=4): [R(4)][39.7%][r=4858MiB/s][r=77.7k IOPS][eta 01m:13s]
Jobs: 4 (f=4): [R(4)][40.5%][r=4812MiB/s][r=76.0k IOPS][eta 01m:12s]
Jobs: 4 (f=4): [R(4)][41.3%][r=4976MiB/s][r=79.6k IOPS][eta 01m:11s]
Jobs: 4 (f=4): [R(4)][42.1%][r=4666MiB/s][r=74.7k IOPS][eta 01m:10s]
Jobs: 4 (f=4): [R(4)][43.0%][r=4633MiB/s][r=74.1k IOPS][eta 01m:09s]
Jobs: 4 (f=4): [R(4)][43.8%][r=4926MiB/s][r=78.8k IOPS][eta 01m:08s]
Jobs: 4 (f=4): [R(4)][44.6%][r=3790MiB/s][r=60.6k IOPS][eta 01m:07s]
Jobs: 4 (f=4): [R(4)][45.5%][r=4935MiB/s][r=78.0k IOPS][eta 01m:06s]
Jobs: 4 (f=4): [R(4)][46.3%][r=4783MiB/s][r=76.5k IOPS][eta 01m:05s]
Jobs: 4 (f=4): [R(4)][47.1%][r=4891MiB/s][r=78.3k IOPS][eta 01m:04s]
Jobs: 4 (f=4): [R(4)][48.8%][r=4822MiB/s][r=77.2k IOPS][eta 01m:02s]
Jobs: 4 (f=4): [R(4)][49.6%][r=4960MiB/s][r=79.4k IOPS][eta 01m:01s]
Jobs: 4 (f=4): [R(4)][50.4%][r=4667MiB/s][r=74.7k IOPS][eta 01m:00s]
Jobs: 4 (f=4): [R(4)][51.2%][r=4538MiB/s][r=72.6k IOPS][eta 00m:59s]
Jobs: 4 (f=4): [R(4)][52.1%][r=4658MiB/s][r=74.5k IOPS][eta 00m:58s]
Jobs: 4 (f=4): [R(4)][52.9%][r=4558MiB/s][r=72.9k IOPS][eta 00m:57s]
Jobs: 4 (f=4): [R(4)][53.7%][r=4570MiB/s][r=73.1k IOPS][eta 00m:56s]
Jobs: 4 (f=4): [R(4)][54.5%][r=4528MiB/s][r=72.4k IOPS][eta 00m:55s]
Jobs: 4 (f=4): [R(4)][55.4%][r=4723MiB/s][r=75.6k IOPS][eta 00m:54s]
Jobs: 4 (f=4): [R(4)][56.2%][r=4612MiB/s][r=73.8k IOPS][eta 00m:53s]
Jobs: 4 (f=4): [R(4)][57.0%][r=4762MiB/s][r=76.2k IOPS][eta 00m:52s]
Jobs: 4 (f=4): [R(4)][57.9%][r=4803MiB/s][r=76.8k IOPS][eta 00m:51s]
Jobs: 4 (f=4): [R(4)][58.7%][r=4865MiB/s][r=77.8k IOPS][eta 00m:50s]
Jobs: 4 (f=4): [R(4)][59.5%][r=4759MiB/s][r=76.1k IOPS][eta 00m:49s]
Jobs: 4 (f=4): [R(4)][60.3%][r=4591MiB/s][r=73.5k IOPS][eta 00m:48s]
Jobs: 4 (f=4): [R(4)][61.2%][r=5003MiB/s][r=80.0k IOPS][eta 00m:47s]
Jobs: 4 (f=4): [R(4)][62.0%][r=4905MiB/s][r=78.5k IOPS][eta 00m:46s]
Jobs: 4 (f=4): [R(4)][62.8%][r=4867MiB/s][r=77.9k IOPS][eta 00m:45s]
Jobs: 4 (f=4): [R(4)][63.6%][r=4772MiB/s][r=76.3k IOPS][eta 00m:44s]
Jobs: 4 (f=4): [R(4)][64.5%][r=3637MiB/s][r=58.2k IOPS][eta 00m:43s]
Jobs: 4 (f=4): [R(4)][65.3%][r=4921MiB/s][r=78.7k IOPS][eta 00m:42s]
Jobs: 4 (f=4): [R(4)][66.1%][r=4918MiB/s][r=78.7k IOPS][eta 00m:41s]
Jobs: 4 (f=4): [R(4)][66.9%][r=4925MiB/s][r=78.8k IOPS][eta 00m:40s]
Jobs: 4 (f=4): [R(4)][67.8%][r=4951MiB/s][r=79.2k IOPS][eta 00m:39s]
Jobs: 4 (f=4): [R(4)][68.6%][r=4904MiB/s][r=78.5k IOPS][eta 00m:38s]
Jobs: 4 (f=4): [R(4)][69.4%][r=4013MiB/s][r=64.2k IOPS][eta 00m:37s]
Jobs: 4 (f=4): [R(4)][70.2%][r=4933MiB/s][r=78.9k IOPS][eta 00m:36s]
Jobs: 4 (f=4): [R(4)][71.1%][r=5007MiB/s][r=80.1k IOPS][eta 00m:35s]
Jobs: 4 (f=4): [R(4)][71.9%][r=4930MiB/s][r=78.9k IOPS][eta 00m:34s]
Jobs: 4 (f=4): [R(4)][72.7%][r=4012MiB/s][r=64.2k IOPS][eta 00m:33s]
Jobs: 4 (f=4): [R(4)][74.2%][r=4505MiB/s][r=72.1k IOPS][eta 00m:31s]
Jobs: 4 (f=4): [R(4)][75.0%][r=4595MiB/s][r=73.5k IOPS][eta 00m:30s]
Jobs: 4 (f=4): [R(4)][75.8%][r=4775MiB/s][r=76.4k IOPS][eta 00m:29s]
Jobs: 4 (f=4): [R(4)][76.7%][r=4902MiB/s][r=78.4k IOPS][eta 00m:28s]
Jobs: 4 (f=4): [R(4)][77.5%][r=4930MiB/s][r=78.9k IOPS][eta 00m:27s]
Jobs: 4 (f=4): [R(4)][78.3%][r=4766MiB/s][r=76.3k IOPS][eta 00m:26s]
Jobs: 4 (f=4): [R(4)][79.2%][r=4541MiB/s][r=72.7k IOPS][eta 00m:25s]
Jobs: 4 (f=4): [R(4)][80.0%][r=4736MiB/s][r=75.8k IOPS][eta 00m:24s]
Jobs: 4 (f=4): [R(4)][80.8%][r=4802MiB/s][r=76.8k IOPS][eta 00m:23s]
Jobs: 4 (f=4): [R(4)][81.7%][r=4789MiB/s][r=76.6k IOPS][eta 00m:22s]
Jobs: 4 (f=4): [R(4)][82.5%][r=4775MiB/s][r=76.4k IOPS][eta 00m:21s]
Jobs: 4 (f=4): [R(4)][83.3%][r=4644MiB/s][r=74.3k IOPS][eta 00m:20s]
Jobs: 4 (f=4): [R(4)][84.2%][r=4563MiB/s][r=73.0k IOPS][eta 00m:19s]
Jobs: 4 (f=4): [R(4)][85.0%][r=4711MiB/s][r=75.4k IOPS][eta 00m:18s]
Jobs: 4 (f=4): [R(4)][85.8%][r=4721MiB/s][r=75.5k IOPS][eta 00m:17s]
Jobs: 4 (f=4): [R(4)][86.7%][r=4523MiB/s][r=72.4k IOPS][eta 00m:16s]
Jobs: 4 (f=4): [R(4)][87.5%][r=4908MiB/s][r=78.5k IOPS][eta 00m:15s]
Jobs: 4 (f=4): [R(4)][88.3%][r=4942MiB/s][r=79.1k IOPS][eta 00m:14s]
Jobs: 4 (f=4): [R(4)][89.2%][r=4934MiB/s][r=78.9k IOPS][eta 00m:13s]
Jobs: 4 (f=4): [R(4)][90.0%][r=4997MiB/s][r=79.9k IOPS][eta 00m:12s]
Jobs: 4 (f=4): [R(4)][90.8%][r=4636MiB/s][r=74.2k IOPS][eta 00m:11s]
Jobs: 4 (f=4): [R(4)][91.7%][r=4812MiB/s][r=76.0k IOPS][eta 00m:10s]
Jobs: 4 (f=4): [R(4)][92.5%][r=4865MiB/s][r=77.8k IOPS][eta 00m:09s]
Jobs: 4 (f=4): [R(4)][93.3%][r=3742MiB/s][r=59.9k IOPS][eta 00m:08s]
Jobs: 4 (f=4): [R(4)][94.2%][r=4928MiB/s][r=78.8k IOPS][eta 00m:07s]
Jobs: 4 (f=4): [R(4)][95.0%][r=4725MiB/s][r=75.6k IOPS][eta 00m:06s]
Jobs: 4 (f=4): [R(4)][95.8%][r=4747MiB/s][r=75.9k IOPS][eta 00m:05s]
Jobs: 4 (f=4): [R(4)][96.7%][r=4569MiB/s][r=73.1k IOPS][eta 00m:04s]
Jobs: 4 (f=4): [R(4)][97.5%][r=4997MiB/s][r=79.0k IOPS][eta 00m:03s]
Jobs: 4 (f=4): [R(4)][98.3%][r=4965MiB/s][r=79.4k IOPS][eta 00m:02s]
Jobs: 4 (f=4): [R(4)][99.2%][r=4808MiB/s][r=76.9k IOPS][eta 00m:01s]
Jobs: 4 (f=4): [R(4)][100.0%][r=4914MiB/s][r=78.6k IOPS][eta 00m:00s]
throughput-test-job: (groupid=0, jobs=4): err= 0: pid=39230: Tue Jul  4 17:02:05 2023
  read: IOPS=74.9k, BW=4680MiB/s (4907MB/s)(548GiB/120003msec)
    slat (usec): min=7, max=3518, avg=25.44, stdev=13.48
    clat (usec): min=418, max=252687, avg=3392.70, stdev=3246.35
     lat (usec): min=464, max=252700, avg=3418.27, stdev=3246.10
    clat percentiles (usec):
     |  1.00th=[  1549],  5.00th=[  1991], 10.00th=[  2245], 20.00th=[  2507],
     | 30.00th=[  2737], 40.00th=[  2900], 50.00th=[  3064], 60.00th=[  3228],
     | 70.00th=[  3425], 80.00th=[  3654], 90.00th=[  4359], 95.00th=[  6063],
     | 99.00th=[ 10159], 99.50th=[ 11731], 99.90th=[ 17433], 99.95th=[ 21103],
     | 99.99th=[244319]
   bw (  MiB/s): min= 2480, max= 5182, per=100.00%, avg=4685.99, stdev=86.45, samples=956
   iops        : min=39684, max=82924, avg=74975.86, stdev=1383.28, samples=956
  lat (usec)   : 500=0.01%, 750=0.01%, 1000=0.05%
  lat (msec)   : 2=5.09%, 4=81.76%, 10=12.02%, 20=1.00%, 50=0.04%
  lat (msec)   : 100=0.01%, 250=0.01%, 500=0.01%
  cpu          : usr=2.06%, sys=48.07%, ctx=760672, majf=0, minf=2104
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.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=8985714,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=4680MiB/s (4907MB/s), 4680MiB/s-4680MiB/s (4907MB/s-4907MB/s), io=548GiB (589GB), run=120003-120003msec
```

### ・ スループット・パフォーマンス・テスト結果
スループット・パフォーマンスは、次の bw 行を見ると、
max= 5182 (MiB/s) = 5433.721(MB/s) = 43.47 Gbit/s であることを確認できます。

```
   bw (  MiB/s): min= 2480, max= 5182, per=100.00%, avg=4685.99, stdev=86.45, samples=956
```

# ■ 参考
　・[VM.Optimized3.Flex: 第３世代 Intel Xeon Ice Lake プロセッサ搭載コンピュート・インスタンス](https://blogs.oracle.com/oracle4engineer/post/announcing-compute-instances-with-3rd-gen-intel-xeon-ice-lake-processors-v2)
　・[インスタンス・シェイプのパフォーマンスの詳細](https://docs.oracle.com/ja-jp/iaas/Content/Block/Concepts/blockvolumeperformance.htm#shapes_vm_iscsi)
　・[ブロック・ボリューム・パフォーマンス](https://docs.oracle.com/ja-jp/iaas/Content/Block/Concepts/blockvolumeperformance.htm)
　・[ストライプ化論理ボリュームの作成](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/stripe_create_ex)
　・[メトリックとパフォーマンス・テスト](https://docs.oracle.com/ja-jp/iaas/Content/Block/Concepts/blockvolumeperformance_topic-Metrics_and_Performance_Testing.htm)
　・[Linuxベース・インスタンスでブロック・ボリューム・パフォーマンス・テストを行うためのサンプルFIOコマンド](https://docs.oracle.com/ja-jp/iaas/Content/Block/References/samplefiocommandslinux.htm)
　・[mdadm を使用した RAID ベースおよびマルチパスストレージの設定](https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/5/html/installation_guide/s1-s390info-raid)
　・[超高パフォーマンス](https://docs.oracle.com/ja-jp/iaas/Content/Block/Concepts/blockvolumeultrahighperformance.htm)
　・[Oracle Linuxでの論理ボリュームの構成](https://docs.oracle.com/ja/learn/ol-lvm/index.html#create-a-file-system)