イントロ
2019.11.7からさくらインターネットのVPSがリニューアルされてv5となり、ストレージはSSDが標準となった。今借りてるさくらのVPS v3がメモリ1GBで足りなく感じてたのでこれを機にメモリ2GBのプランに変更することに。
ストレージ容量が以前のものと比較して少し少なくなっているため、同じ容量にするには「ストレージ変更オプション」が必要なのだが、**「ストレージ変更オプションを利用するとストレージ構成が変更されるため、未利用時と比べて性能差が出る場合があります。」**という気になる一文を発見。どの程度パフォーマンスに差が出るのか確認してみることに。
ディスク情報
とりあえずバニラな2Gプランとストレージ変更オプション付き2Gプランをお試し契約してディスクを確認。
GUIDが2台で同じだがそういうものらしい。
さくらのVPS v5 2Gプラン
# lshw -class disk
*-cdrom
description: DVD reader
product: QEMU DVD-ROM
vendor: QEMU
physical id: 0.0.0
bus info: scsi@1:0.0.0
logical name: /dev/cdrom
logical name: /dev/sr0
version: 1.5.
capabilities: removable audio dvd
configuration: ansiversion=5 status=nodisc
*-virtio3
description: Virtual I/O device
physical id: 0
bus info: virtio@3
logical name: /dev/vda
size: 100GiB (107GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: driver=virtio_blk guid=d53c0ed9-670f-4703-95af-25d1ae1381c5 logicalsectorsize=512 sectorsize=512
# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: D53C0ED9-670F-4703-95AF-25D1AE1381C5
# Start End Size Type Name
1 2048 4095 1M BIOS boot BIOS
2 4096 1028095 500M Microsoft basic Microsoft
3 1028096 9416703 4G Linux swap Linux
4 9416704 209712511 95.5G Microsoft basic Microsoft
さくらのVPS v5 2G(SSD200GB)プラン
# lshw -class disk
*-cdrom
description: DVD reader
product: QEMU DVD-ROM
vendor: QEMU
physical id: 0.0.0
bus info: scsi@1:0.0.0
logical name: /dev/cdrom
logical name: /dev/sr0
version: 1.5.
capabilities: removable audio dvd
configuration: ansiversion=5 status=nodisc
*-virtio3
description: Virtual I/O device
physical id: 0
bus info: virtio@3
logical name: /dev/vda
size: 200GiB (214GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: driver=virtio_blk guid=d53c0ed9-670f-4703-95af-25d1ae1381c5 logicalsectorsize=512 sectorsize=512
# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/vda: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: D53C0ED9-670F-4703-95AF-25D1AE1381C5
# Start End Size Type Name
1 2048 4095 1M BIOS boot BIOS
2 4096 1028095 500M Microsoft basic Microsoft
3 1028096 9416703 4G Linux swap Linux
4 9416704 419427711 195.5G Microsoft basic Microsoft
ベンチマーク
fioでディスクをベンチマーク。断りがない限りCentOS7。
fioジョブパラメータ
[seqread]
readwrite=read
blocksize=1m
size=100m
directory=./
direct=1
loops=5
[seqwrite]
readwrite=write
blocksize=1m
size=100m
directory=./
direct=1
loops=5
[seqread4]
readwrite=read
blocksize=1m
size=100m
directory=./
direct=1
numjobs=4
loops=5
group_reporting
[seqwrite4]
readwrite=write
blocksize=1m
size=100m
directory=./
direct=1
numjobs=4
loops=5
group_reporting
[randread512k]
readwrite=randread
blocksize=512k
size=100m
directory=./
direct=1
loops=5
[randwrite512k]
readwrite=randwrite
blocksize=512k
size=100m
directory=./
direct=1
loops=5
[randread4k]
readwrite=randread
blocksize=4k
size=10m
directory=./
direct=1
loops=3
[randwrite4k]
readwrite=randwrite
blocksize=4k
size=10m
directory=./
direct=1
loops=3
[randread4k32]
readwrite=randread
blocksize=4k
size=10m
directory=./
direct=1
numjobs=32
loops=3
group_reporting
[randwrite4k32]
readwrite=randwrite
blocksize=4k
size=10m
directory=./
direct=1
numjobs=32
loops=3
group_reporting
さくらのVPS v5 2Gプラン
# sh fio.sh
job, bandwidth, iops
seqread, 212184, 207
seqwrite, 204718, 199
seqread4, 206701, 201
seqwrite4, 204759, 199
randread512k, 211745, 413
randwrite512k, 204636, 399
randread4k, 39792, 9948
randwrite4k, 8069, 2017
randread4k32, 40094, 10023
randwrite4k32, 7998, 1999
さくらのVPS v5 2G(SSD200GB)プラン
# sh fio.sh
job, bandwidth, iops
seqread, 212448, 207
seqwrite, 204636, 199
seqread4, 206722, 201
seqwrite4, 204759, 199
randread512k, 211832, 413
randwrite512k, 204636, 399
randread4k, 40688, 10172
randwrite4k, 6014, 1503
randread4k32, 40092, 10023
randwrite4k32, 5997, 1499
rand*4k32で8kに変更して追試
randread8k32, 80464, 10058
randwrite8k32, 12001, 1500
参考用: さくらのVPS v3 1Gプラン(HDD 100GB)
これだけCentOS 6
# sh fio.sh
job, bandwidth, iops
seqread, 1054905, 1006
seqwrite, 855282, 815
seqread4, 1566207, 1493
seqwrite4, 1154183, 1100
randread512k, 740519, 1412
randwrite512k, 638596, 1218
randread4k, 28162, 6875
randwrite4k, 25206, 6153
randread4k32, 180238, 44003
randwrite4k32, 163600, 39941
参考用: 安鯖+安物SSD(ADATA SU650)
# sh fio.sh
job, bandwidth, iops
seqread, 250734, 244
seqwrite, 60185, 58
seqread4, 271906, 265
seqwrite4, 88558, 86
randread512k, 234539, 458
randwrite512k, 68513, 133
randread4k, 31867, 7966
randwrite4k, 26459, 6614
randread4k32, 152622, 38155
randwrite4k32, 101637, 25409
結論
さくらのVPS v5プランではディスクIOが制限されていて、200MB/sまたはRead 10,000IOPS、Write 2,000IOPSとなっていると推測される。ストレージを変更すると制限も一部変更されてWrite 1,500IOPSになる模様。
さくらのVPS v3プランはHDDなのにSSDの新プランがほぼ全面的に負けている状態とは…
時間帯を変えて複数回テストしてみてもほぼ変わらず。また、お試し期間による制限かと考え、200GBに変更した方を本契約に切り替え、24時間以上経過したあとにも確認してみたが、変わりは無かった。