動的パフォーマンス・スケーリングとは
OCIから提供される、NVMe SSDベースのストレージサービスであるブロック・ボリュームにおいて、自動チューニングにより、パフォーマンスが動的にスケーリングされる機能です。
動的パフォーマンス・スケーリングでは、ボリュームで実際にモニターされたパフォーマンスに基づき、指定したレベルの中でボリュームのパフォーマンス(VPU)が調整されます。
Flexible and affordable storage with OCI storage services | Oracle Live
VPUとはなんぞや
動的パフォーマンス・スケーリングで調整されるVPUとは、Volume Performance Unit の略称で、ブロック・ボリュームのパフォーマンス・レベルを定義する指標になります。
この値によって、ボリュームのIOPSやスループットがGB単位で調整され、ブロック・ボリュームの性能値を制御できます。
動的パフォーマンス・スケーリングってどんなとき使えるの?
通常時はIOPSが高くないけど、一定時間、頻繁にストレージアクセスが発生するようなワークロードのコスト最適化に役立ちます。
例えば、営業時間内は大きく稼働しないが、夜間バッチで高負荷がかかるバッチサーバなどです。オンプレミスや他パブリッククラウドでは、予め夜間バッチの負荷ピーク時に合わせてリソースを用意しておく必要があろうかと思いますが、OCIでは、VPUの動的なパフォーマンススケーリングによって、必要な時に必要なリソースを充当することが可能になります。
今回検証すること
今回は、パフォーマンス・ベースの自動チューニングについて、fioでIOPSを計測する検証を行います。検証観点は、下記2つです。
- パフォーマンスが拡張していくタイムラインの確認(VPU10~VPU120)
- 大きな負荷をかけた後、デフォルトのパフォーマンスに戻る時間
個人の検証結果になりますので、あくまで参考値としてご認識ください。
検証準備
- インスタンスの作成
下記条件で、インスタンスを作成していきます。
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
3.ブロックボリュームのアタッチメント
コンピュート->インスタンス->インスタンスの詳細->アタッチされたブロック・ボリューム
ボリュームの選択
>2で作成したブロック・ボリュームを選択
デバイス・パス・オプション
>/dev/oracleoci/oraclevdb
アタッチメント・タイプ
>ISCSI
>Oracle Cloudエージェントを使用して、iSCSIでアタッチされたボリュームに自動的に接続します チェック
アクセス
>読取り/書込み
アタッチボタンを押下
4.マルチパス有効化の確認
マルチパスの列が「はい」になっていることを確認してください。
マルチパスを有効化するには、諸条件があります。
詳細は、下記リファレンスをご参照ください。
超高パフォーマンス・ボリュームのためのアタッチメントの構成
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の初期状態は、ブロック・ボリュームのコンソール画面から確認することができます。
自動チューニング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に上昇時点
75.0Kから100.0Kに上昇時点
100.0Kから123.0Kに上昇時点
123.0Kから134.0Kに上昇時点
2分間fioを実行したところ、VPUが10から60まで自動的に上昇していることがわかります。この結果は、ブロックボリュームのメトリックからも見て取れます。
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) となっていることが確認できました。
さらにメトリクスを見てみると、さきほどのVPU60からVPU120まで上がっていることが確認できます。
IOPS、スループットについても同様に上昇が確認できました。
下記リファレンスの表記を確認すると、
動的パフォーマンス・スケーリング
「パフォーマンスを上げるための調整は、必要に応じて安定的にパフォーマンスを向上させるために、数十秒単位で繰り返され、短時間で効果が出ます。」
とあるように、検証の結果として、20~30秒の間でVPUが1段階ずつ上がっていき、それに伴いIOPSも上昇していることがわかります。
検証2:大きな負荷をかけた後、デフォルトのパフォーマンスに戻る時間
この状態のまま、放置します。
VPUが徐々に下がってきました。
コンソール画面からも下がっていることが確認できます。
結果、負荷を与え終わってから30分ほどから緩やかにVPUが下降し、併せてIOPSも下がっていることがわかります。
12:33時点でVPU120
12:58時点でVPU110
12:59時点でVPU100
・・・
最初のVPU下降は25分ほど、以降は1分単位でVPUが下がっていくことが分かりました。
コンソール画面のVPUもデフォルトの10に戻っていることが確認できます。
検証の結果、下記リファレンスの表記通りとなることがわかりました。
「パフォーマンスを下げるための調整は、最初の調整が有効になるのが1時間以内で、その後の調整は数分というように、効果が出るのに時間がかかります。このため、パフォーマンスがまだ必要なときに、ボリューム・パフォーマンスが突然低下することはありません。」
動的パフォーマンス・スケーリング
まとめ
動的パフォーマンス・スケーリングで、IOPSが向上すること、負荷がかからない状態ではVPUが緩やかに下がっていくことが確認できました。
オンプレミスの性能と比較し、クラウドのストレージIOPS性能が課題となるワークロードは複数あり、IOPSを上げるためのコストが高くつく話はよく聞きますが、OCIのブロックボリューム、動的パフォーマンス・スケーリングを活用することで、必要なときに必要なパフォーマンスを発揮しながら、必要のないときはコストを抑えることができます。
コスト最適化しながら、ワークロードの特性に合わせてパフォーマンスを柔軟にチューニングできる動的パフォーマンス・スケーリングをご検討ください!