3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OCI ブロック・ボリューム 動的パフォーマンス・スケーリング の IOPSを計測してみた

Posted at

動的パフォーマンス・スケーリングとは

OCIから提供される、NVMe SSDベースのストレージサービスであるブロック・ボリュームにおいて、自動チューニングにより、パフォーマンスが動的にスケーリングされる機能です。
動的パフォーマンス・スケーリングでは、ボリュームで実際にモニターされたパフォーマンスに基づき、指定したレベルの中でボリュームのパフォーマンス(VPU)が調整されます。

動的パフォーマンス・スケーリング

Flexible and affordable storage with OCI storage services | Oracle Live

VPUとはなんぞや

動的パフォーマンス・スケーリングで調整されるVPUとは、Volume Performance Unit の略称で、ブロック・ボリュームのパフォーマンス・レベルを定義する指標になります。
image.png
この値によって、ボリュームのIOPSやスループットがGB単位で調整され、ブロック・ボリュームの性能値を制御できます。

動的パフォーマンス・スケーリングってどんなとき使えるの?

通常時はIOPSが高くないけど、一定時間、頻繁にストレージアクセスが発生するようなワークロードのコスト最適化に役立ちます。
例えば、営業時間内は大きく稼働しないが、夜間バッチで高負荷がかかるバッチサーバなどです。オンプレミスや他パブリッククラウドでは、予め夜間バッチの負荷ピーク時に合わせてリソースを用意しておく必要があろうかと思いますが、OCIでは、VPUの動的なパフォーマンススケーリングによって、必要な時に必要なリソースを充当することが可能になります。

今回検証すること

今回は、パフォーマンス・ベースの自動チューニングについて、fioでIOPSを計測する検証を行います。検証観点は、下記2つです。

  1. パフォーマンスが拡張していくタイムラインの確認(VPU10~VPU120)
  2. 大きな負荷をかけた後、デフォルトのパフォーマンスに戻る時間

パフォーマンス・ベースの動的スケーリング
image.png

個人の検証結果になりますので、あくまで参考値としてご認識ください。

検証準備

  1. インスタンスの作成

下記条件で、インスタンスを作成していきます。

Shape:VM.Standard.E4.Flex
OS:Oracle Linux8
OCPU:16core OCPU
Memory:64GB
Networking:パブリック・サブネットを選択(検証用のため)
拡張オプション:Oracle Cloudエージェントで「ブロック・ボリューム管理」を選択

今回、パフォーマンスをスケーリングして、VPU=30以上で性能値を計測したいため、マルチパスの設定をしていきます。

※マルチパスの設定については、下記の記事を参考にさせていただきました。
Oracle Cloud: 超高パフォーマンス・ボリューム(UHP) のブロック・ボリュームをマルチパス対応の iSCSIボリュームアタッチメント構成してみてみた

2.ブロック・ボリュームの作成

ボリューム・サイズとパフォーマンス:カスタムを選択
>ボリューム・サイズ:1,024GB
ターゲットのボリューム・パフォーマンス
>パフォーマンス・ベースの自動チューニング:オン
>デフォルトVPU/GB:10
>最大VPU/GB:120

作成画面
image.png

作成後画面
image.png

3.ブロックボリュームのアタッチメント
コンピュート->インスタンス->インスタンスの詳細->アタッチされたブロック・ボリューム

ボリュームの選択
>2で作成したブロック・ボリュームを選択
デバイス・パス・オプション
>/dev/oracleoci/oraclevdb
アタッチメント・タイプ
>ISCSI
>Oracle Cloudエージェントを使用して、iSCSIでアタッチされたボリュームに自動的に接続します チェック
アクセス
>読取り/書込み

image.png

アタッチボタンを押下

4.マルチパス有効化の確認
マルチパスの列が「はい」になっていることを確認してください。
image.png

マルチパスを有効化するには、諸条件があります。
詳細は、下記リファレンスをご参照ください。
超高パフォーマンス・ボリュームのためのアタッチメントの構成

5.インスタンスログイン

user@cloudshell:~ (ap-tokyo-1)$ ls
ssh-key-2023-08-29.key
user@cloudshell:~ (ap-tokyo-1)$ chmod 600 ssh-key-2023-08-29.key
user@cloudshell:~ (ap-tokyo-1)$ ssh opc@<インスタンスのパブリックIPアドレス> -i ssh-key-2023-08-29.key
FIPS mode initialized
The authenticity of host 'インスタンスのパブリックIPアドレス (インスタンスのパブリックIPアドレス)' can't be established.
ECDSA key fingerprint is SHA256:XXXXXXXXXXXXXXXXXXXXXXXXX.
ECDSA key fingerprint is SHA1:XXXXXXXXXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'インスタンスのパブリックIPアドレス' (ECDSA) to the list of known hosts.
Activate the web console with: systemctl enable --now cockpit.socket
[opc@instance-e4f16-test ~]$ 

6.マルチパスの確認

[opc@instance-e4f16-test ~]$ sudo 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    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
sdc                  8:32   0    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
sdd                  8:48   0    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
sde                  8:64   0    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
sdf                  8:80   0    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
sdg                  8:96   0    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
sdh                  8:112  0    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
sdi                  8:128  0    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
sdj                  8:144  0    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
sdk                  8:160  0    1T  0 disk  
└─mpatha           252:2    0    1T  0 mpath 
[opc@instance-e4f16-test ~]$ ll /dev/oracleoci/oraclevd*
lrwxrwxrwx. 1 root root  6 Aug 29 11:10 /dev/oracleoci/oraclevda -> ../sda
lrwxrwxrwx. 1 root root  7 Aug 29 11:10 /dev/oracleoci/oraclevda1 -> ../sda1
lrwxrwxrwx. 1 root root  7 Aug 29 11:10 /dev/oracleoci/oraclevda2 -> ../sda2
lrwxrwxrwx. 1 root root  7 Aug 29 11:10 /dev/oracleoci/oraclevda3 -> ../sda3
lrwxrwxrwx. 1 root root 18 Aug 29 11:16 /dev/oracleoci/oraclevdb -> /dev/mapper/mpatha

7.fioダウンロード

sudo yum install fio
Ksplice for Oracle Linux 8 (x86_64)                                                                                                                                                                                                         51 MB/s | 3.3 MB     00:00    
MySQL 8.0 for Oracle Linux 8 (x86_64)                                                                                                                                                                                                       14 MB/s | 3.0 MB     00:00    
MySQL 8.0 Tools Community for Oracle Linux 8 (x86_64)                                                                                                                                                                                      9.1 MB/s | 491 kB     00:00    
MySQL 8.0 Connectors Community for Oracle Linux 8 (x86_64)                                                                                                                                                                                 701 kB/s |  30 kB     00:00    
Oracle Software for OCI users on Oracle Linux 8 (x86_64)                                                                                                                                                                                   159 MB/s |  94 MB     00:00    
Oracle Linux 8 BaseOS Latest (x86_64)                                                                                                                                                                                                      164 MB/s |  62 MB     00:00    
Oracle Linux 8 Application Stream (x86_64)                                                                                                                                                                                                 145 MB/s |  48 MB     00:00    
Oracle Linux 8 Addons (x86_64)                                                                                                                                                                                                              95 MB/s | 6.9 MB     00:00    
Latest Unbreakable Enterprise Kernel Release 7 for Oracle Linux 8 (x86_64)                                                                                                                                                                 119 MB/s |  19 MB     00:00    
Dependencies resolved.
=中略=
Total download size: 5.0 M
Installed size: 17 M
Is this ok [y/N]: yes
=中略=
Complete!
[opc@instance-e4f16-test ~]$ fio -v
fio-3.19

検証1:パフォーマンスが拡張していくタイムラインの確認(VPU10~VPU120)

sudo fio --filename=/dev/oracleoci/oraclevdb --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

上記のコマンドを実行し、まずは2分間(--runtime=120)でReadのIOPSを計測していきます。
IOPSの初期状態は、ブロック・ボリュームのコンソール画面から確認することができます。
image.png
自動チューニングIOPSは「25,000 IOPS」となっていることがわかります。

実行します。

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=97.7MiB/s][r=25.0k IOPS][eta 01m:58s]
Jobs: 4 (f=4): [R(4)][4.1%][r=97.8MiB/s][r=25.0k IOPS][eta 01m:56s] 
Jobs: 4 (f=4): [R(4)][5.0%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:55s]
Jobs: 4 (f=4): [R(4)][6.6%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:53s] 
Jobs: 4 (f=4): [R(4)][8.3%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:51s] 
Jobs: 4 (f=4): [R(4)][9.1%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:50s]
Jobs: 4 (f=4): [R(4)][9.9%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:49s]
Jobs: 4 (f=4): [R(4)][10.7%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:48s]
Jobs: 4 (f=4): [R(4)][11.6%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:47s]
Jobs: 4 (f=4): [R(4)][12.4%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:46s]
Jobs: 4 (f=4): [R(4)][13.2%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:45s]
Jobs: 4 (f=4): [R(4)][14.0%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:44s]
Jobs: 4 (f=4): [R(4)][14.9%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:43s]
Jobs: 4 (f=4): [R(4)][15.7%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:42s]
Jobs: 4 (f=4): [R(4)][16.5%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:41s]
Jobs: 4 (f=4): [R(4)][17.4%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:40s]
Jobs: 4 (f=4): [R(4)][18.2%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:39s]
Jobs: 4 (f=4): [R(4)][19.0%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:38s]
Jobs: 4 (f=4): [R(4)][19.8%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:37s]
Jobs: 4 (f=4): [R(4)][20.7%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:36s]
Jobs: 4 (f=4): [R(4)][21.5%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:35s]
Jobs: 4 (f=4): [R(4)][22.3%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:34s]
Jobs: 4 (f=4): [R(4)][23.1%][r=97.7MiB/s][r=25.0k IOPS][eta 01m:33s]
Jobs: 4 (f=4): [R(4)][24.0%][r=264MiB/s][r=67.5k IOPS][eta 01m:32s]
Jobs: 4 (f=4): [R(4)][24.8%][r=195MiB/s][r=50.0k IOPS][eta 01m:31s]
Jobs: 4 (f=4): [R(4)][25.6%][r=195MiB/s][r=50.0k IOPS][eta 01m:30s]
Jobs: 4 (f=4): [R(4)][26.4%][r=195MiB/s][r=50.0k IOPS][eta 01m:29s]
Jobs: 4 (f=4): [R(4)][27.3%][r=195MiB/s][r=50.0k IOPS][eta 01m:28s]
Jobs: 4 (f=4): [R(4)][28.1%][r=195MiB/s][r=50.0k IOPS][eta 01m:27s]
Jobs: 4 (f=4): [R(4)][28.9%][r=195MiB/s][r=50.0k IOPS][eta 01m:26s]
Jobs: 4 (f=4): [R(4)][29.8%][r=195MiB/s][r=50.0k IOPS][eta 01m:25s]
Jobs: 4 (f=4): [R(4)][30.6%][r=195MiB/s][r=50.0k IOPS][eta 01m:24s]
Jobs: 4 (f=4): [R(4)][31.4%][r=195MiB/s][r=50.0k IOPS][eta 01m:23s]
Jobs: 4 (f=4): [R(4)][32.2%][r=195MiB/s][r=50.0k IOPS][eta 01m:22s]
Jobs: 4 (f=4): [R(4)][33.1%][r=195MiB/s][r=50.0k IOPS][eta 01m:21s]
Jobs: 4 (f=4): [R(4)][33.9%][r=195MiB/s][r=50.0k IOPS][eta 01m:20s]
Jobs: 4 (f=4): [R(4)][34.7%][r=196MiB/s][r=50.0k IOPS][eta 01m:19s]
Jobs: 4 (f=4): [R(4)][35.5%][r=195MiB/s][r=50.0k IOPS][eta 01m:18s]
Jobs: 4 (f=4): [R(4)][36.4%][r=195MiB/s][r=50.0k IOPS][eta 01m:17s]
Jobs: 4 (f=4): [R(4)][37.2%][r=195MiB/s][r=50.0k IOPS][eta 01m:16s]
Jobs: 4 (f=4): [R(4)][38.0%][r=195MiB/s][r=50.0k IOPS][eta 01m:15s]
Jobs: 4 (f=4): [R(4)][38.8%][r=195MiB/s][r=50.0k IOPS][eta 01m:14s]
Jobs: 4 (f=4): [R(4)][39.7%][r=195MiB/s][r=50.0k IOPS][eta 01m:13s]
Jobs: 4 (f=4): [R(4)][40.5%][r=195MiB/s][r=50.0k IOPS][eta 01m:12s]
Jobs: 4 (f=4): [R(4)][41.3%][r=195MiB/s][r=50.0k IOPS][eta 01m:11s]
Jobs: 4 (f=4): [R(4)][42.1%][r=195MiB/s][r=50.0k IOPS][eta 01m:10s]
Jobs: 4 (f=4): [R(4)][43.0%][r=430MiB/s][r=110k IOPS][eta 01m:09s]
Jobs: 4 (f=4): [R(4)][43.8%][r=293MiB/s][r=75.0k IOPS][eta 01m:08s]
Jobs: 4 (f=4): [R(4)][44.6%][r=293MiB/s][r=75.0k IOPS][eta 01m:07s]
Jobs: 4 (f=4): [R(4)][45.5%][r=293MiB/s][r=75.0k IOPS][eta 01m:06s]
Jobs: 4 (f=4): [R(4)][46.3%][r=293MiB/s][r=75.0k IOPS][eta 01m:05s]
Jobs: 4 (f=4): [R(4)][47.1%][r=293MiB/s][r=75.0k IOPS][eta 01m:04s]
Jobs: 4 (f=4): [R(4)][47.9%][r=293MiB/s][r=75.0k IOPS][eta 01m:03s]
Jobs: 4 (f=4): [R(4)][48.8%][r=293MiB/s][r=75.0k IOPS][eta 01m:02s]
Jobs: 4 (f=4): [R(4)][49.6%][r=293MiB/s][r=75.0k IOPS][eta 01m:01s]
Jobs: 4 (f=4): [R(4)][50.4%][r=293MiB/s][r=75.0k IOPS][eta 01m:00s]
Jobs: 4 (f=4): [R(4)][51.2%][r=293MiB/s][r=75.0k IOPS][eta 00m:59s]
Jobs: 4 (f=4): [R(4)][52.1%][r=293MiB/s][r=75.0k IOPS][eta 00m:58s]
Jobs: 4 (f=4): [R(4)][52.9%][r=293MiB/s][r=75.0k IOPS][eta 00m:57s]
Jobs: 4 (f=4): [R(4)][53.7%][r=293MiB/s][r=75.0k IOPS][eta 00m:56s]
Jobs: 4 (f=4): [R(4)][54.5%][r=293MiB/s][r=75.0k IOPS][eta 00m:55s]
Jobs: 4 (f=4): [R(4)][55.4%][r=293MiB/s][r=75.0k IOPS][eta 00m:54s]
Jobs: 4 (f=4): [R(4)][56.2%][r=293MiB/s][r=75.0k IOPS][eta 00m:53s]
Jobs: 4 (f=4): [R(4)][57.0%][r=293MiB/s][r=75.0k IOPS][eta 00m:52s]
Jobs: 4 (f=4): [R(4)][57.9%][r=293MiB/s][r=75.0k IOPS][eta 00m:51s]
Jobs: 4 (f=4): [R(4)][58.7%][r=293MiB/s][r=75.0k IOPS][eta 00m:50s]
Jobs: 4 (f=4): [R(4)][59.5%][r=293MiB/s][r=75.0k IOPS][eta 00m:49s]
Jobs: 4 (f=4): [R(4)][60.3%][r=293MiB/s][r=75.0k IOPS][eta 00m:48s]
Jobs: 4 (f=4): [R(4)][61.2%][r=293MiB/s][r=75.0k IOPS][eta 00m:47s]
Jobs: 4 (f=4): [R(4)][62.0%][r=478MiB/s][r=122k IOPS][eta 00m:46s]
Jobs: 4 (f=4): [R(4)][62.8%][r=391MiB/s][r=100k IOPS][eta 00m:45s]
Jobs: 4 (f=4): [R(4)][63.6%][r=391MiB/s][r=100k IOPS][eta 00m:44s]
Jobs: 4 (f=4): [R(4)][64.5%][r=391MiB/s][r=100k IOPS][eta 00m:43s]
Jobs: 4 (f=4): [R(4)][65.3%][r=391MiB/s][r=100k IOPS][eta 00m:42s]
Jobs: 4 (f=4): [R(4)][66.1%][r=391MiB/s][r=100k IOPS][eta 00m:41s]
Jobs: 4 (f=4): [R(4)][66.9%][r=391MiB/s][r=100k IOPS][eta 00m:40s]
Jobs: 4 (f=4): [R(4)][67.8%][r=391MiB/s][r=100k IOPS][eta 00m:39s]
Jobs: 4 (f=4): [R(4)][68.6%][r=391MiB/s][r=100k IOPS][eta 00m:38s]
Jobs: 4 (f=4): [R(4)][69.4%][r=391MiB/s][r=100k IOPS][eta 00m:37s]
Jobs: 4 (f=4): [R(4)][70.2%][r=391MiB/s][r=100k IOPS][eta 00m:36s]
Jobs: 4 (f=4): [R(4)][71.1%][r=391MiB/s][r=100k IOPS][eta 00m:35s]
Jobs: 4 (f=4): [R(4)][71.9%][r=391MiB/s][r=100k IOPS][eta 00m:34s]
Jobs: 4 (f=4): [R(4)][72.7%][r=391MiB/s][r=100k IOPS][eta 00m:33s]
Jobs: 4 (f=4): [R(4)][73.6%][r=391MiB/s][r=100k IOPS][eta 00m:32s]
Jobs: 4 (f=4): [R(4)][74.4%][r=391MiB/s][r=100k IOPS][eta 00m:31s]
Jobs: 4 (f=4): [R(4)][75.2%][r=391MiB/s][r=100k IOPS][eta 00m:30s]
Jobs: 4 (f=4): [R(4)][76.0%][r=391MiB/s][r=100k IOPS][eta 00m:29s]
Jobs: 4 (f=4): [R(4)][77.5%][r=391MiB/s][r=100k IOPS][eta 00m:27s]
Jobs: 4 (f=4): [R(4)][78.3%][r=391MiB/s][r=100k IOPS][eta 00m:26s]
Jobs: 4 (f=4): [R(4)][79.2%][r=391MiB/s][r=100k IOPS][eta 00m:25s]
Jobs: 4 (f=4): [R(4)][80.0%][r=391MiB/s][r=100k IOPS][eta 00m:24s]
Jobs: 4 (f=4): [R(4)][80.8%][r=391MiB/s][r=100k IOPS][eta 00m:23s]
Jobs: 4 (f=4): [R(4)][81.7%][r=391MiB/s][r=100k IOPS][eta 00m:22s]
Jobs: 4 (f=4): [R(4)][82.5%][r=391MiB/s][r=100k IOPS][eta 00m:21s]
Jobs: 4 (f=4): [R(4)][83.3%][r=391MiB/s][r=100k IOPS][eta 00m:20s]
Jobs: 4 (f=4): [R(4)][84.2%][r=535MiB/s][r=137k IOPS][eta 00m:19s]
Jobs: 4 (f=4): [R(4)][85.0%][r=484MiB/s][r=124k IOPS][eta 00m:18s]
Jobs: 4 (f=4): [R(4)][85.8%][r=480MiB/s][r=123k IOPS][eta 00m:17s]
Jobs: 4 (f=4): [R(4)][86.7%][r=480MiB/s][r=123k IOPS][eta 00m:16s]
Jobs: 4 (f=4): [R(4)][87.5%][r=480MiB/s][r=123k IOPS][eta 00m:15s]
Jobs: 4 (f=4): [R(4)][88.3%][r=480MiB/s][r=123k IOPS][eta 00m:14s]
Jobs: 4 (f=4): [R(4)][89.2%][r=480MiB/s][r=123k IOPS][eta 00m:13s]
Jobs: 4 (f=4): [R(4)][90.0%][r=480MiB/s][r=123k IOPS][eta 00m:12s]
Jobs: 4 (f=4): [R(4)][90.8%][r=480MiB/s][r=123k IOPS][eta 00m:11s]
Jobs: 4 (f=4): [R(4)][91.7%][r=480MiB/s][r=123k IOPS][eta 00m:10s]
Jobs: 4 (f=4): [R(4)][92.5%][r=480MiB/s][r=123k IOPS][eta 00m:09s]
Jobs: 4 (f=4): [R(4)][93.3%][r=480MiB/s][r=123k IOPS][eta 00m:08s]
Jobs: 4 (f=4): [R(4)][94.2%][r=480MiB/s][r=123k IOPS][eta 00m:07s]
Jobs: 4 (f=4): [R(4)][95.0%][r=480MiB/s][r=123k IOPS][eta 00m:06s]
Jobs: 4 (f=4): [R(4)][95.8%][r=480MiB/s][r=123k IOPS][eta 00m:05s]
Jobs: 4 (f=4): [R(4)][96.7%][r=480MiB/s][r=123k IOPS][eta 00m:04s]
Jobs: 4 (f=4): [R(4)][97.5%][r=480MiB/s][r=123k IOPS][eta 00m:03s]
Jobs: 4 (f=4): [R(4)][98.3%][r=480MiB/s][r=123k IOPS][eta 00m:02s]
Jobs: 4 (f=4): [R(4)][99.2%][r=480MiB/s][r=123k IOPS][eta 00m:01s]
Jobs: 4 (f=4): [R(4)][100.0%][r=603MiB/s][r=154k IOPS][eta 00m:00s]
Jobs: 4 (f=0): [f(4)][100.0%][r=524MiB/s][r=134k IOPS][eta 00m:00s]
iops-test-job: (groupid=0, jobs=4): err= 0: pid=44550: Tue Aug 29 01:27:51 2023
  read: IOPS=74.5k, BW=291MiB/s (305MB/s)(34.1GiB/120034msec)
    slat (usec): min=2, max=1357, avg= 8.86, stdev= 5.97
    clat (usec): min=54, max=193935, avg=13734.08, stdev=22563.98
     lat (usec): min=201, max=193942, avg=13743.07, stdev=22564.02
    clat percentiles (usec):
     |  1.00th=[   273],  5.00th=[   306], 10.00th=[   338], 20.00th=[   412],
     | 30.00th=[   619], 40.00th=[  2966], 50.00th=[  5407], 60.00th=[  8160],
     | 70.00th=[ 13173], 80.00th=[ 22676], 90.00th=[ 38011], 95.00th=[ 53740],
     | 99.00th=[110625], 99.50th=[127402], 99.90th=[185598], 99.95th=[185598],
     | 99.99th=[185598]
   bw (  KiB/s): min=100080, max=769432, per=99.89%, avg=297697.43, stdev=37025.29, samples=956
   iops        : min=25020, max=192358, avg=74424.32, stdev=9256.32, samples=956
  lat (usec)   : 100=0.01%, 250=0.17%, 500=26.16%, 750=5.39%, 1000=1.21%
  lat (msec)   : 2=2.99%, 4=7.12%, 10=22.97%, 20=9.83%, 50=19.01%
  lat (msec)   : 100=3.80%, 250=1.35%
  cpu          : usr=3.05%, sys=22.84%, ctx=5034705, majf=0, minf=1082
  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=8943029,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=291MiB/s (305MB/s), 291MiB/s-291MiB/s (305MB/s-305MB/s), io=34.1GiB (36.6GB), run=120034-120034msec

実行ログを見てみると、
実行から30秒ほど(eta 01m:32sあたり)でIOPSが25.0Kから50.0Kに上昇しました。
続いて、25秒ほど(eta 01m:08sあたり)でIOPSが50.0Kから75.0Kに上昇しました。
続いて、20秒ほど(eta 00m:45sあたり)でIOPSが75.0Kから100.0Kに上昇しました。
さらに、25秒ほど(eta 00m:19sあたり)でIOPSが100.0Kから123.0Kに上昇しました。
終盤、20秒ほど(eta 00m:19sあたり)でIOPSが123.0Kから134.0Kに上昇しました。

この変化をブロックボリュームのコンソール画面からウォッチすると、このようになります。

50.0Kから75.0Kに上昇時点
image.png
75.0Kから100.0Kに上昇時点
image.png
100.0Kから123.0Kに上昇時点
image.png
123.0Kから134.0Kに上昇時点
image.png

2分間fioを実行したところ、VPUが10から60まで自動的に上昇していることがわかります。この結果は、ブロックボリュームのメトリックからも見て取れます。
image.png

VPUが120まで上昇することを確認するため、今度は"--runtime"の値を240に変更し、4分間fioを実行してみます。

sudo fio --filename=/dev/oracleoci/oraclevdb --direct=1 --rw=read --bs=4k --ioengine=libaio --iodepth=256 --runtime=240 --numjobs=4 --time_based --group_reporting --name=iops-test-job --eta-newline=1 --readonly

実行結果が長くなってしまったので、👇折りたたんでいます。

fio実行結果VPU60→VPU120
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)][1.2%][r=640MiB/s][r=164k IOPS][eta 03m:58s]
Jobs: 4 (f=4): [R(4)][1.7%][r=540MiB/s][r=138k IOPS][eta 03m:57s]
Jobs: 4 (f=4): [R(4)][2.1%][r=540MiB/s][r=138k IOPS][eta 03m:56s]
Jobs: 4 (f=4): [R(4)][2.5%][r=540MiB/s][r=138k IOPS][eta 03m:55s]
Jobs: 4 (f=4): [R(4)][2.9%][r=540MiB/s][r=138k IOPS][eta 03m:54s]
Jobs: 4 (f=4): [R(4)][3.3%][r=540MiB/s][r=138k IOPS][eta 03m:53s]
Jobs: 4 (f=4): [R(4)][3.7%][r=540MiB/s][r=138k IOPS][eta 03m:52s]
Jobs: 4 (f=4): [R(4)][4.1%][r=540MiB/s][r=138k IOPS][eta 03m:51s]
Jobs: 4 (f=4): [R(4)][4.6%][r=540MiB/s][r=138k IOPS][eta 03m:50s]
Jobs: 4 (f=4): [R(4)][5.0%][r=540MiB/s][r=138k IOPS][eta 03m:49s]
Jobs: 4 (f=4): [R(4)][5.4%][r=540MiB/s][r=138k IOPS][eta 03m:48s]
Jobs: 4 (f=4): [R(4)][5.8%][r=540MiB/s][r=138k IOPS][eta 03m:47s]
Jobs: 4 (f=4): [R(4)][6.2%][r=540MiB/s][r=138k IOPS][eta 03m:46s]
Jobs: 4 (f=4): [R(4)][6.6%][r=540MiB/s][r=138k IOPS][eta 03m:45s]
Jobs: 4 (f=4): [R(4)][7.1%][r=540MiB/s][r=138k IOPS][eta 03m:44s]
Jobs: 4 (f=4): [R(4)][7.5%][r=540MiB/s][r=138k IOPS][eta 03m:43s]
Jobs: 4 (f=4): [R(4)][7.9%][r=540MiB/s][r=138k IOPS][eta 03m:42s]
Jobs: 4 (f=4): [R(4)][8.3%][r=540MiB/s][r=138k IOPS][eta 03m:41s]
Jobs: 4 (f=4): [R(4)][8.7%][r=540MiB/s][r=138k IOPS][eta 03m:40s]
Jobs: 4 (f=4): [R(4)][9.1%][r=540MiB/s][r=138k IOPS][eta 03m:39s]
Jobs: 4 (f=4): [R(4)][9.5%][r=540MiB/s][r=138k IOPS][eta 03m:38s]
Jobs: 4 (f=4): [R(4)][10.0%][r=540MiB/s][r=138k IOPS][eta 03m:37s]
Jobs: 4 (f=4): [R(4)][10.4%][r=540MiB/s][r=138k IOPS][eta 03m:36s]
Jobs: 4 (f=4): [R(4)][10.8%][r=540MiB/s][r=138k IOPS][eta 03m:35s]
Jobs: 4 (f=4): [R(4)][11.2%][r=540MiB/s][r=138k IOPS][eta 03m:34s]
Jobs: 4 (f=4): [R(4)][11.6%][r=540MiB/s][r=138k IOPS][eta 03m:33s]
Jobs: 4 (f=4): [R(4)][12.0%][r=540MiB/s][r=138k IOPS][eta 03m:32s]
Jobs: 4 (f=4): [R(4)][12.4%][r=668MiB/s][r=171k IOPS][eta 03m:31s]
Jobs: 4 (f=4): [R(4)][12.9%][r=600MiB/s][r=154k IOPS][eta 03m:30s]
Jobs: 4 (f=4): [R(4)][13.3%][r=600MiB/s][r=154k IOPS][eta 03m:29s]
Jobs: 4 (f=4): [R(4)][13.7%][r=600MiB/s][r=154k IOPS][eta 03m:28s]
Jobs: 4 (f=4): [R(4)][14.1%][r=600MiB/s][r=154k IOPS][eta 03m:27s]
Jobs: 4 (f=4): [R(4)][14.5%][r=600MiB/s][r=154k IOPS][eta 03m:26s]
Jobs: 4 (f=4): [R(4)][14.9%][r=600MiB/s][r=154k IOPS][eta 03m:25s]
Jobs: 4 (f=4): [R(4)][15.4%][r=600MiB/s][r=154k IOPS][eta 03m:24s]
Jobs: 4 (f=4): [R(4)][15.8%][r=600MiB/s][r=154k IOPS][eta 03m:23s]
Jobs: 4 (f=4): [R(4)][16.2%][r=600MiB/s][r=154k IOPS][eta 03m:22s]
Jobs: 4 (f=4): [R(4)][16.6%][r=600MiB/s][r=154k IOPS][eta 03m:21s]
Jobs: 4 (f=4): [R(4)][17.0%][r=600MiB/s][r=154k IOPS][eta 03m:20s]
Jobs: 4 (f=4): [R(4)][17.4%][r=600MiB/s][r=154k IOPS][eta 03m:19s]
Jobs: 4 (f=4): [R(4)][17.8%][r=600MiB/s][r=154k IOPS][eta 03m:18s]
Jobs: 4 (f=4): [R(4)][18.3%][r=600MiB/s][r=154k IOPS][eta 03m:17s]
Jobs: 4 (f=4): [R(4)][18.7%][r=600MiB/s][r=154k IOPS][eta 03m:16s]
Jobs: 4 (f=4): [R(4)][19.1%][r=600MiB/s][r=154k IOPS][eta 03m:15s]
Jobs: 4 (f=4): [R(4)][19.5%][r=600MiB/s][r=154k IOPS][eta 03m:14s]
Jobs: 4 (f=4): [R(4)][19.9%][r=600MiB/s][r=154k IOPS][eta 03m:13s]
Jobs: 4 (f=4): [R(4)][20.3%][r=600MiB/s][r=154k IOPS][eta 03m:12s]
Jobs: 4 (f=4): [R(4)][20.7%][r=600MiB/s][r=154k IOPS][eta 03m:11s]
Jobs: 4 (f=4): [R(4)][21.2%][r=600MiB/s][r=154k IOPS][eta 03m:10s]
Jobs: 4 (f=4): [R(4)][21.6%][r=600MiB/s][r=154k IOPS][eta 03m:09s]
Jobs: 4 (f=4): [R(4)][22.0%][r=600MiB/s][r=154k IOPS][eta 03m:08s]
Jobs: 4 (f=4): [R(4)][22.4%][r=600MiB/s][r=154k IOPS][eta 03m:07s]
Jobs: 4 (f=4): [R(4)][22.8%][r=710MiB/s][r=182k IOPS][eta 03m:06s]
Jobs: 4 (f=4): [R(4)][23.2%][r=661MiB/s][r=169k IOPS][eta 03m:05s]
Jobs: 4 (f=4): [R(4)][23.7%][r=660MiB/s][r=169k IOPS][eta 03m:04s]
Jobs: 4 (f=4): [R(4)][24.1%][r=660MiB/s][r=169k IOPS][eta 03m:03s]
Jobs: 4 (f=4): [R(4)][24.5%][r=661MiB/s][r=169k IOPS][eta 03m:02s]
Jobs: 4 (f=4): [R(4)][24.9%][r=660MiB/s][r=169k IOPS][eta 03m:01s]
Jobs: 4 (f=4): [R(4)][25.3%][r=660MiB/s][r=169k IOPS][eta 03m:00s]
Jobs: 4 (f=4): [R(4)][25.7%][r=660MiB/s][r=169k IOPS][eta 02m:59s]
Jobs: 4 (f=4): [R(4)][26.1%][r=660MiB/s][r=169k IOPS][eta 02m:58s]
Jobs: 4 (f=4): [R(4)][26.6%][r=660MiB/s][r=169k IOPS][eta 02m:57s]
Jobs: 4 (f=4): [R(4)][27.0%][r=660MiB/s][r=169k IOPS][eta 02m:56s]
Jobs: 4 (f=4): [R(4)][27.4%][r=660MiB/s][r=169k IOPS][eta 02m:55s]
Jobs: 4 (f=4): [R(4)][27.8%][r=660MiB/s][r=169k IOPS][eta 02m:54s]
Jobs: 4 (f=4): [R(4)][28.2%][r=660MiB/s][r=169k IOPS][eta 02m:53s]
Jobs: 4 (f=4): [R(4)][28.6%][r=661MiB/s][r=169k IOPS][eta 02m:52s]
Jobs: 4 (f=4): [R(4)][29.0%][r=660MiB/s][r=169k IOPS][eta 02m:51s]
Jobs: 4 (f=4): [R(4)][29.5%][r=660MiB/s][r=169k IOPS][eta 02m:50s]
Jobs: 4 (f=4): [R(4)][29.9%][r=660MiB/s][r=169k IOPS][eta 02m:49s]
Jobs: 4 (f=4): [R(4)][30.3%][r=687MiB/s][r=176k IOPS][eta 02m:48s]
Jobs: 4 (f=4): [R(4)][30.7%][r=785MiB/s][r=201k IOPS][eta 02m:47s]
Jobs: 4 (f=4): [R(4)][31.1%][r=720MiB/s][r=184k IOPS][eta 02m:46s]
Jobs: 4 (f=4): [R(4)][31.5%][r=720MiB/s][r=184k IOPS][eta 02m:45s]
Jobs: 4 (f=4): [R(4)][32.0%][r=720MiB/s][r=184k IOPS][eta 02m:44s]
Jobs: 4 (f=4): [R(4)][32.4%][r=720MiB/s][r=184k IOPS][eta 02m:43s]
Jobs: 4 (f=4): [R(4)][32.8%][r=720MiB/s][r=184k IOPS][eta 02m:42s]
Jobs: 4 (f=4): [R(4)][33.2%][r=720MiB/s][r=184k IOPS][eta 02m:41s]
Jobs: 4 (f=4): [R(4)][33.6%][r=720MiB/s][r=184k IOPS][eta 02m:40s]
Jobs: 4 (f=4): [R(4)][34.0%][r=720MiB/s][r=184k IOPS][eta 02m:39s]
Jobs: 4 (f=4): [R(4)][34.4%][r=720MiB/s][r=184k IOPS][eta 02m:38s]
Jobs: 4 (f=4): [R(4)][34.9%][r=720MiB/s][r=184k IOPS][eta 02m:37s]
Jobs: 4 (f=4): [R(4)][35.3%][r=720MiB/s][r=184k IOPS][eta 02m:36s]
Jobs: 4 (f=4): [R(4)][35.7%][r=720MiB/s][r=184k IOPS][eta 02m:35s]
Jobs: 4 (f=4): [R(4)][36.2%][r=720MiB/s][r=184k IOPS][eta 02m:33s]
Jobs: 4 (f=4): [R(4)][36.7%][r=721MiB/s][r=184k IOPS][eta 02m:32s]
Jobs: 4 (f=4): [R(4)][37.1%][r=720MiB/s][r=184k IOPS][eta 02m:31s]
Jobs: 4 (f=4): [R(4)][37.5%][r=721MiB/s][r=185k IOPS][eta 02m:30s]
Jobs: 4 (f=4): [R(4)][37.9%][r=720MiB/s][r=184k IOPS][eta 02m:29s]
Jobs: 4 (f=4): [R(4)][38.3%][r=720MiB/s][r=184k IOPS][eta 02m:28s]
Jobs: 4 (f=4): [R(4)][38.8%][r=720MiB/s][r=184k IOPS][eta 02m:27s]
Jobs: 4 (f=4): [R(4)][39.2%][r=720MiB/s][r=184k IOPS][eta 02m:26s]
Jobs: 4 (f=4): [R(4)][39.6%][r=720MiB/s][r=184k IOPS][eta 02m:25s]
Jobs: 4 (f=4): [R(4)][40.0%][r=721MiB/s][r=185k IOPS][eta 02m:24s]
Jobs: 4 (f=4): [R(4)][40.4%][r=720MiB/s][r=184k IOPS][eta 02m:23s]
Jobs: 4 (f=4): [R(4)][40.8%][r=720MiB/s][r=184k IOPS][eta 02m:22s]
Jobs: 4 (f=4): [R(4)][41.2%][r=848MiB/s][r=217k IOPS][eta 02m:21s]
Jobs: 4 (f=4): [R(4)][41.7%][r=780MiB/s][r=200k IOPS][eta 02m:20s]
Jobs: 4 (f=4): [R(4)][42.1%][r=781MiB/s][r=200k IOPS][eta 02m:19s]
Jobs: 4 (f=4): [R(4)][42.5%][r=780MiB/s][r=200k IOPS][eta 02m:18s]
Jobs: 4 (f=4): [R(4)][42.9%][r=780MiB/s][r=200k IOPS][eta 02m:17s]
Jobs: 4 (f=4): [R(4)][43.3%][r=780MiB/s][r=200k IOPS][eta 02m:16s]
Jobs: 4 (f=4): [R(4)][43.8%][r=780MiB/s][r=200k IOPS][eta 02m:15s]
Jobs: 4 (f=4): [R(4)][44.2%][r=780MiB/s][r=200k IOPS][eta 02m:14s]
Jobs: 4 (f=4): [R(4)][44.6%][r=781MiB/s][r=200k IOPS][eta 02m:13s]
Jobs: 4 (f=4): [R(4)][45.0%][r=780MiB/s][r=200k IOPS][eta 02m:12s]
Jobs: 4 (f=4): [R(4)][45.4%][r=780MiB/s][r=200k IOPS][eta 02m:11s]
Jobs: 4 (f=4): [R(4)][45.8%][r=780MiB/s][r=200k IOPS][eta 02m:10s]
Jobs: 4 (f=4): [R(4)][46.2%][r=780MiB/s][r=200k IOPS][eta 02m:09s]
Jobs: 4 (f=4): [R(4)][46.7%][r=780MiB/s][r=200k IOPS][eta 02m:08s]
Jobs: 4 (f=4): [R(4)][47.1%][r=780MiB/s][r=200k IOPS][eta 02m:07s]
Jobs: 4 (f=4): [R(4)][47.5%][r=781MiB/s][r=200k IOPS][eta 02m:06s]
Jobs: 4 (f=4): [R(4)][47.9%][r=780MiB/s][r=200k IOPS][eta 02m:05s]
Jobs: 4 (f=4): [R(4)][48.3%][r=780MiB/s][r=200k IOPS][eta 02m:04s]
Jobs: 4 (f=4): [R(4)][48.8%][r=781MiB/s][r=200k IOPS][eta 02m:03s]
Jobs: 4 (f=4): [R(4)][49.2%][r=780MiB/s][r=200k IOPS][eta 02m:02s]
Jobs: 4 (f=4): [R(4)][49.6%][r=780MiB/s][r=200k IOPS][eta 02m:01s]
Jobs: 4 (f=4): [R(4)][50.0%][r=780MiB/s][r=200k IOPS][eta 02m:00s]
Jobs: 4 (f=4): [R(4)][50.4%][r=927MiB/s][r=237k IOPS][eta 01m:59s]
Jobs: 4 (f=4): [R(4)][50.8%][r=840MiB/s][r=215k IOPS][eta 01m:58s]
Jobs: 4 (f=4): [R(4)][51.2%][r=840MiB/s][r=215k IOPS][eta 01m:57s]
Jobs: 4 (f=4): [R(4)][51.7%][r=840MiB/s][r=215k IOPS][eta 01m:56s]
Jobs: 4 (f=4): [R(4)][52.1%][r=841MiB/s][r=215k IOPS][eta 01m:55s]
Jobs: 4 (f=4): [R(4)][52.9%][r=841MiB/s][r=215k IOPS][eta 01m:53s] 
Jobs: 4 (f=4): [R(4)][53.3%][r=841MiB/s][r=215k IOPS][eta 01m:52s]
Jobs: 4 (f=4): [R(4)][53.8%][r=840MiB/s][r=215k IOPS][eta 01m:51s]
Jobs: 4 (f=4): [R(4)][54.2%][r=840MiB/s][r=215k IOPS][eta 01m:50s]
Jobs: 4 (f=4): [R(4)][54.6%][r=840MiB/s][r=215k IOPS][eta 01m:49s]
Jobs: 4 (f=4): [R(4)][55.0%][r=840MiB/s][r=215k IOPS][eta 01m:48s]
Jobs: 4 (f=4): [R(4)][55.4%][r=841MiB/s][r=215k IOPS][eta 01m:47s]
Jobs: 4 (f=4): [R(4)][55.8%][r=839MiB/s][r=215k IOPS][eta 01m:46s]
Jobs: 4 (f=4): [R(4)][56.2%][r=841MiB/s][r=215k IOPS][eta 01m:45s]
Jobs: 4 (f=4): [R(4)][56.7%][r=840MiB/s][r=215k IOPS][eta 01m:44s]
Jobs: 4 (f=4): [R(4)][57.1%][r=840MiB/s][r=215k IOPS][eta 01m:43s]
Jobs: 4 (f=4): [R(4)][57.5%][r=840MiB/s][r=215k IOPS][eta 01m:42s]
Jobs: 4 (f=4): [R(4)][57.9%][r=840MiB/s][r=215k IOPS][eta 01m:41s]
Jobs: 4 (f=4): [R(4)][58.3%][r=840MiB/s][r=215k IOPS][eta 01m:40s]
Jobs: 4 (f=4): [R(4)][58.8%][r=840MiB/s][r=215k IOPS][eta 01m:39s]
Jobs: 4 (f=4): [R(4)][59.2%][r=922MiB/s][r=236k IOPS][eta 01m:38s]
Jobs: 4 (f=4): [R(4)][59.6%][r=918MiB/s][r=235k IOPS][eta 01m:37s]
Jobs: 4 (f=4): [R(4)][60.0%][r=900MiB/s][r=230k IOPS][eta 01m:36s]
Jobs: 4 (f=4): [R(4)][60.4%][r=900MiB/s][r=230k IOPS][eta 01m:35s]
Jobs: 4 (f=4): [R(4)][60.8%][r=901MiB/s][r=231k IOPS][eta 01m:34s]
Jobs: 4 (f=4): [R(4)][61.3%][r=900MiB/s][r=231k IOPS][eta 01m:33s]
Jobs: 4 (f=4): [R(4)][61.7%][r=900MiB/s][r=230k IOPS][eta 01m:32s]
Jobs: 4 (f=4): [R(4)][62.1%][r=900MiB/s][r=231k IOPS][eta 01m:31s]
Jobs: 4 (f=4): [R(4)][62.5%][r=900MiB/s][r=231k IOPS][eta 01m:30s]
Jobs: 4 (f=4): [R(4)][62.9%][r=901MiB/s][r=231k IOPS][eta 01m:29s]
Jobs: 4 (f=4): [R(4)][63.3%][r=889MiB/s][r=227k IOPS][eta 01m:28s]
Jobs: 4 (f=4): [R(4)][63.7%][r=865MiB/s][r=221k IOPS][eta 01m:27s]
Jobs: 4 (f=4): [R(4)][64.2%][r=889MiB/s][r=228k IOPS][eta 01m:26s]
Jobs: 4 (f=4): [R(4)][64.6%][r=958MiB/s][r=245k IOPS][eta 01m:25s]
Jobs: 4 (f=4): [R(4)][65.0%][r=901MiB/s][r=231k IOPS][eta 01m:24s]
Jobs: 4 (f=4): [R(4)][65.4%][r=900MiB/s][r=230k IOPS][eta 01m:23s]
Jobs: 4 (f=4): [R(4)][65.8%][r=901MiB/s][r=231k IOPS][eta 01m:22s]
Jobs: 4 (f=4): [R(4)][66.2%][r=900MiB/s][r=230k IOPS][eta 01m:21s]
Jobs: 4 (f=4): [R(4)][66.7%][r=900MiB/s][r=231k IOPS][eta 01m:20s]
Jobs: 4 (f=4): [R(4)][67.1%][r=900MiB/s][r=230k IOPS][eta 01m:19s]
Jobs: 4 (f=4): [R(4)][67.5%][r=901MiB/s][r=231k IOPS][eta 01m:18s]
Jobs: 4 (f=4): [R(4)][67.9%][r=900MiB/s][r=230k IOPS][eta 01m:17s]
Jobs: 4 (f=4): [R(4)][68.3%][r=900MiB/s][r=230k IOPS][eta 01m:16s]
Jobs: 4 (f=4): [R(4)][68.8%][r=901MiB/s][r=231k IOPS][eta 01m:15s]
Jobs: 4 (f=4): [R(4)][69.2%][r=900MiB/s][r=230k IOPS][eta 01m:14s]
Jobs: 4 (f=4): [R(4)][69.6%][r=900MiB/s][r=230k IOPS][eta 01m:13s]
Jobs: 4 (f=4): [R(4)][70.0%][r=900MiB/s][r=230k IOPS][eta 01m:12s]
Jobs: 4 (f=4): [R(4)][70.4%][r=900MiB/s][r=230k IOPS][eta 01m:11s]
Jobs: 4 (f=4): [R(4)][70.8%][r=901MiB/s][r=231k IOPS][eta 01m:10s]
Jobs: 4 (f=4): [R(4)][71.2%][r=900MiB/s][r=230k IOPS][eta 01m:09s]
Jobs: 4 (f=4): [R(4)][71.7%][r=900MiB/s][r=230k IOPS][eta 01m:08s]
Jobs: 4 (f=4): [R(4)][72.1%][r=900MiB/s][r=230k IOPS][eta 01m:07s]
Jobs: 4 (f=4): [R(4)][72.5%][r=900MiB/s][r=230k IOPS][eta 01m:06s]
Jobs: 4 (f=4): [R(4)][72.9%][r=901MiB/s][r=231k IOPS][eta 01m:05s]
Jobs: 4 (f=4): [R(4)][73.3%][r=900MiB/s][r=230k IOPS][eta 01m:04s]
Jobs: 4 (f=4): [R(4)][73.8%][r=900MiB/s][r=230k IOPS][eta 01m:03s]
Jobs: 4 (f=4): [R(4)][74.2%][r=901MiB/s][r=231k IOPS][eta 01m:02s]
Jobs: 4 (f=4): [R(4)][74.6%][r=900MiB/s][r=230k IOPS][eta 01m:01s]
Jobs: 4 (f=4): [R(4)][75.0%][r=900MiB/s][r=231k IOPS][eta 01m:00s]
Jobs: 4 (f=4): [R(4)][75.4%][r=900MiB/s][r=230k IOPS][eta 00m:59s]
Jobs: 4 (f=4): [R(4)][75.8%][r=901MiB/s][r=231k IOPS][eta 00m:58s]
Jobs: 4 (f=4): [R(4)][76.2%][r=899MiB/s][r=230k IOPS][eta 00m:57s]
Jobs: 4 (f=4): [R(4)][76.7%][r=900MiB/s][r=230k IOPS][eta 00m:56s]
Jobs: 4 (f=4): [R(4)][77.1%][r=901MiB/s][r=231k IOPS][eta 00m:55s]
Jobs: 4 (f=4): [R(4)][77.5%][r=900MiB/s][r=230k IOPS][eta 00m:54s]
Jobs: 4 (f=4): [R(4)][77.9%][r=875MiB/s][r=224k IOPS][eta 00m:53s]
Jobs: 4 (f=4): [R(4)][78.3%][r=907MiB/s][r=232k IOPS][eta 00m:52s]
Jobs: 4 (f=4): [R(4)][78.8%][r=919MiB/s][r=235k IOPS][eta 00m:51s]
Jobs: 4 (f=4): [R(4)][79.2%][r=900MiB/s][r=230k IOPS][eta 00m:50s]
Jobs: 4 (f=4): [R(4)][79.6%][r=900MiB/s][r=230k IOPS][eta 00m:49s]
Jobs: 4 (f=4): [R(4)][80.0%][r=901MiB/s][r=231k IOPS][eta 00m:48s]
Jobs: 4 (f=4): [R(4)][80.4%][r=900MiB/s][r=230k IOPS][eta 00m:47s]
Jobs: 4 (f=4): [R(4)][80.8%][r=900MiB/s][r=230k IOPS][eta 00m:46s]
Jobs: 4 (f=4): [R(4)][81.2%][r=901MiB/s][r=231k IOPS][eta 00m:45s]
Jobs: 4 (f=4): [R(4)][81.7%][r=901MiB/s][r=231k IOPS][eta 00m:44s]
Jobs: 4 (f=4): [R(4)][82.1%][r=900MiB/s][r=230k IOPS][eta 00m:43s]
Jobs: 4 (f=4): [R(4)][82.5%][r=900MiB/s][r=230k IOPS][eta 00m:42s]
Jobs: 4 (f=4): [R(4)][82.9%][r=900MiB/s][r=230k IOPS][eta 00m:41s]
Jobs: 4 (f=4): [R(4)][83.3%][r=900MiB/s][r=230k IOPS][eta 00m:40s]
Jobs: 4 (f=4): [R(4)][83.8%][r=899MiB/s][r=230k IOPS][eta 00m:39s]
Jobs: 4 (f=4): [R(4)][84.2%][r=901MiB/s][r=231k IOPS][eta 00m:38s]
Jobs: 4 (f=4): [R(4)][84.6%][r=901MiB/s][r=231k IOPS][eta 00m:37s]
Jobs: 4 (f=4): [R(4)][85.0%][r=900MiB/s][r=231k IOPS][eta 00m:36s]
Jobs: 4 (f=4): [R(4)][85.4%][r=900MiB/s][r=230k IOPS][eta 00m:35s]
Jobs: 4 (f=4): [R(4)][85.8%][r=901MiB/s][r=231k IOPS][eta 00m:34s]
Jobs: 4 (f=4): [R(4)][86.2%][r=900MiB/s][r=230k IOPS][eta 00m:33s]
Jobs: 4 (f=4): [R(4)][86.7%][r=901MiB/s][r=231k IOPS][eta 00m:32s]
Jobs: 4 (f=4): [R(4)][87.1%][r=900MiB/s][r=230k IOPS][eta 00m:31s]
Jobs: 4 (f=4): [R(4)][87.5%][r=900MiB/s][r=230k IOPS][eta 00m:30s]
Jobs: 4 (f=4): [R(4)][87.9%][r=898MiB/s][r=230k IOPS][eta 00m:29s]
Jobs: 4 (f=4): [R(4)][88.3%][r=902MiB/s][r=231k IOPS][eta 00m:28s]
Jobs: 4 (f=4): [R(4)][88.8%][r=900MiB/s][r=230k IOPS][eta 00m:27s]
Jobs: 4 (f=4): [R(4)][89.2%][r=900MiB/s][r=231k IOPS][eta 00m:26s]
Jobs: 4 (f=4): [R(4)][89.6%][r=900MiB/s][r=230k IOPS][eta 00m:25s]
Jobs: 4 (f=4): [R(4)][90.0%][r=901MiB/s][r=231k IOPS][eta 00m:24s]
Jobs: 4 (f=4): [R(4)][90.4%][r=900MiB/s][r=230k IOPS][eta 00m:23s]
Jobs: 4 (f=4): [R(4)][90.8%][r=900MiB/s][r=231k IOPS][eta 00m:22s]
Jobs: 4 (f=4): [R(4)][91.2%][r=901MiB/s][r=231k IOPS][eta 00m:21s]
Jobs: 4 (f=4): [R(4)][91.7%][r=900MiB/s][r=230k IOPS][eta 00m:20s]
Jobs: 4 (f=4): [R(4)][92.1%][r=900MiB/s][r=230k IOPS][eta 00m:19s]
Jobs: 4 (f=4): [R(4)][92.5%][r=900MiB/s][r=230k IOPS][eta 00m:18s]
Jobs: 4 (f=4): [R(4)][92.9%][r=900MiB/s][r=231k IOPS][eta 00m:17s]
Jobs: 4 (f=4): [R(4)][93.3%][r=900MiB/s][r=230k IOPS][eta 00m:16s]
Jobs: 4 (f=4): [R(4)][93.8%][r=900MiB/s][r=230k IOPS][eta 00m:15s]
Jobs: 4 (f=4): [R(4)][94.2%][r=901MiB/s][r=231k IOPS][eta 00m:14s]
Jobs: 4 (f=4): [R(4)][94.6%][r=900MiB/s][r=230k IOPS][eta 00m:13s]
Jobs: 4 (f=4): [R(4)][95.0%][r=900MiB/s][r=230k IOPS][eta 00m:12s]
Jobs: 4 (f=4): [R(4)][95.4%][r=901MiB/s][r=231k IOPS][eta 00m:11s]
Jobs: 4 (f=4): [R(4)][95.8%][r=900MiB/s][r=230k IOPS][eta 00m:10s]
Jobs: 4 (f=4): [R(4)][96.2%][r=900MiB/s][r=230k IOPS][eta 00m:09s]
Jobs: 4 (f=4): [R(4)][96.7%][r=902MiB/s][r=231k IOPS][eta 00m:08s]
Jobs: 4 (f=4): [R(4)][97.1%][r=900MiB/s][r=230k IOPS][eta 00m:07s]
Jobs: 4 (f=4): [R(4)][97.5%][r=901MiB/s][r=231k IOPS][eta 00m:06s]
Jobs: 4 (f=4): [R(4)][97.9%][r=900MiB/s][r=230k IOPS][eta 00m:05s]
Jobs: 4 (f=4): [R(4)][98.3%][r=900MiB/s][r=230k IOPS][eta 00m:04s]
Jobs: 4 (f=4): [R(4)][98.8%][r=900MiB/s][r=230k IOPS][eta 00m:03s]
Jobs: 4 (f=4): [R(4)][99.2%][r=898MiB/s][r=230k IOPS][eta 00m:02s]
Jobs: 4 (f=4): [R(4)][99.6%][r=895MiB/s][r=229k IOPS][eta 00m:01s]
Jobs: 4 (f=4): [R(4)][100.0%][r=878MiB/s][r=225k IOPS][eta 00m:00s]
iops-test-job: (groupid=0, jobs=4): err= 0: pid=49992: Tue Aug 29 01:36:44 2023
  read: IOPS=199k, BW=778MiB/s (815MB/s)(182GiB/240001msec)
    slat (usec): min=2, max=4381, avg=11.30, stdev=21.62
    clat (usec): min=298, max=63975, avg=5131.42, stdev=1692.02
     lat (usec): min=304, max=63983, avg=5142.90, stdev=1694.66
    clat percentiles (usec):
     |  1.00th=[ 2147],  5.00th=[ 2737], 10.00th=[ 3163], 20.00th=[ 3720],
     | 30.00th=[ 4146], 40.00th=[ 4555], 50.00th=[ 4883], 60.00th=[ 5276],
     | 70.00th=[ 5866], 80.00th=[ 6521], 90.00th=[ 7439], 95.00th=[ 8029],
     | 99.00th=[ 9896], 99.50th=[10945], 99.90th=[13304], 99.95th=[14484],
     | 99.99th=[17171]
   bw (  KiB/s): min=423064, max=1610103, per=100.00%, avg=796953.27, stdev=51948.43, samples=1916
   iops        : min=105766, max=402525, avg=199238.29, stdev=12987.09, samples=1916
  lat (usec)   : 500=0.01%, 750=0.01%, 1000=0.02%
  lat (msec)   : 2=0.61%, 4=25.49%, 10=72.96%, 20=0.92%, 50=0.01%
  lat (msec)   : 100=0.01%
  cpu          : usr=4.99%, sys=64.26%, ctx=6254991, majf=0, minf=1078
  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=47778947,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=778MiB/s (815MB/s), 778MiB/s-778MiB/s (815MB/s-815MB/s), io=182GiB (196GB), run=240001-240001msec

実行ログを見ていくと、下記の様に上昇していることが分かります。
30秒ほど経過して138Kが154Kに上昇(eta 03m:30sあたり)→VPU 70
25秒ほど経過して154Kが169Kに上昇(eta 03m:05sあたり)→VPU 80
20秒ほど経過して169Kが184Kに上昇(eta 02m:46sあたり)→VPU 90
25秒ほど経過して184Kが200Kに上昇(eta 02m:20sあたり)→VPU 100
25秒ほど経過して200Kが215Kに上昇(eta 01m:57sあたり)→VPU 110
20秒ほど経過して215Kが231Kに上昇(eta 01m:35sあたり)→VPU 120

実行後、ブロックボリュームのコンソール画面からも、
自動チューニングIOPSが230,400 IOPSとなっていること、
パフォーマンスの自動チューニングがUHP (VPU/GB:120) となっていることが確認できました。
image.png

さらにメトリクスを見てみると、さきほどのVPU60からVPU120まで上がっていることが確認できます。
image.png

IOPS、スループットについても同様に上昇が確認できました。
image.png

下記リファレンスの表記を確認すると、
動的パフォーマンス・スケーリング
「パフォーマンスを上げるための調整は、必要に応じて安定的にパフォーマンスを向上させるために、数十秒単位で繰り返され、短時間で効果が出ます。
とあるように、検証の結果として、20~30秒の間でVPUが1段階ずつ上がっていき、それに伴いIOPSも上昇していることがわかります。

検証2:大きな負荷をかけた後、デフォルトのパフォーマンスに戻る時間

この状態のまま、放置します。
VPUが徐々に下がってきました。
image.png
image.png
コンソール画面からも下がっていることが確認できます。
image.png
image.png

結果、負荷を与え終わってから30分ほどから緩やかにVPUが下降し、併せてIOPSも下がっていることがわかります。

12:33時点でVPU120
image.png
12:58時点でVPU110
image.png
12:59時点でVPU100
image.png
・・・

13:09時点でVPU10
image.png

最初のVPU下降は25分ほど、以降は1分単位でVPUが下がっていくことが分かりました。

コンソール画面のVPUもデフォルトの10に戻っていることが確認できます。
image.png

検証の結果、下記リファレンスの表記通りとなることがわかりました。
「パフォーマンスを下げるための調整は、最初の調整が有効になるのが1時間以内で、その後の調整は数分というように、効果が出るのに時間がかかります。このため、パフォーマンスがまだ必要なときに、ボリューム・パフォーマンスが突然低下することはありません。
動的パフォーマンス・スケーリング

まとめ

動的パフォーマンス・スケーリングで、IOPSが向上すること、負荷がかからない状態ではVPUが緩やかに下がっていくことが確認できました。
オンプレミスの性能と比較し、クラウドのストレージIOPS性能が課題となるワークロードは複数あり、IOPSを上げるためのコストが高くつく話はよく聞きますが、OCIのブロックボリューム、動的パフォーマンス・スケーリングを活用することで、必要なときに必要なパフォーマンスを発揮しながら、必要のないときはコストを抑えることができます。
コスト最適化しながら、ワークロードの特性に合わせてパフォーマンスを柔軟にチューニングできる動的パフォーマンス・スケーリングをご検討ください!

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?