カゴヤ VPS
本記事は、特記がない限り、2025年2月刷新後の KVM について。
- 2025年2月刷新の内容。
- コスパ向上。(2025年1月時点、日本国内シェア上位3社の同等構成 VPS で最安を謳う。)
- SSD が NVMe となる。
- 「ネットワーク回線を従来の3倍に拡張」とのこと。しかし後述の通り (バックボーン以前に) WAN が弱そう。
- 年額支払い対応
- 従来並行して提供されていた OpenVZ は、新規 VPS 契約ではコンパネに表示されない。
- CPUの仮想コアは、(物理 CPU の1コア相当ではなく) 1スレッド相当とのこと。
- プランによりストレージの帯域幅は変わる。IOPS上限はどのスペックも同じ。
- LAN 構成可能。
- デフォルトでローカルIPアドレスは振られていて、疎通を制御している様子。
- WAN の帯域がやや貧弱かも。
- (例)
ab -c 25 -n 250 https://*/*.mp4
- LAN 経由: 1,836,158.65 Kbytes/sec (同一契約の別VPSから)
- WAN 経由: 28,299.39 Kbytes/sec (同一契約の別VPSから)
- 外部から: 28,616.98 Kbytes/sec (2コアでも4コアでも変わらない。)
- (参考)他社: 71,967.53 Kbytes/sec (外部からラピッドサイトVPSシリーズ VPS-4G へ)
- 小さなファイルの多数同時接続(500など)のレスポンス・処理数は良好。
- クラウドのファイアウォールを外しても(セキュリティグループ未設定) 大差なし。
ベンチマーク
fio IOPS
- r/w ともに 64,000 程度か。(r/w 合算 128,000 程度)
- スペックで IOPS の違いは無さそう。(公式サポートの情報通り)
Jobs:行は無視して良い。(進行中の内容を表示する行で、結果ではない。)
2コア
# fio -filename=~/fio.tmp---del -direct=1 -rw=rw -bs=4k -size=1G -numjobs=64 -runtime=10 -group_reporting -name=test1 ; rm -f ~/fio.tmp---del
test1: (g=0): rw=rw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1
...
fio-3.36
Starting 64 processes
test1: Laying out IO file (1 file / 1024MiB)
Jobs: 4 (f=4): [E(13),M(1),E(24),M(1),E(21),M(1),E(1),M(1),E(1)][7.6%][r=251MiB/s,w=252MiB/s][r=64.3k,w=64.5k IOPS][eta 02m:13s]
test1: (groupid=0, jobs=64): err= 0: pid=3599: Sat Feb 22 17:18:45 2025
read: IOPS=64.1k, BW=250MiB/s (262MB/s)(2507MiB/10019msec)
clat (usec): min=51, max=19226, avg=553.61, stdev=236.70
lat (usec): min=51, max=19226, avg=553.70, stdev=236.71
clat percentiles (usec):
| 1.00th=[ 326], 5.00th=[ 379], 10.00th=[ 400], 20.00th=[ 433],
| 30.00th=[ 474], 40.00th=[ 506], 50.00th=[ 529], 60.00th=[ 545],
| 70.00th=[ 570], 80.00th=[ 603], 90.00th=[ 701], 95.00th=[ 848],
| 99.00th=[ 1172], 99.50th=[ 1909], 99.90th=[ 3359], 99.95th=[ 3720],
| 99.99th=[ 6259]
bw ( KiB/s): min=227455, max=286343, per=100.00%, avg=256793.71, stdev=243.88, samples=1219
iops : min=56854, max=71583, avg=64193.89, stdev=61.00, samples=1219
write: IOPS=64.1k, BW=251MiB/s (263MB/s)(2511MiB/10019msec); 0 zone resets
clat (usec): min=43, max=19089, avg=441.99, stdev=244.58
lat (usec): min=43, max=19097, avg=442.14, stdev=244.58
clat percentiles (usec):
| 1.00th=[ 219], 5.00th=[ 262], 10.00th=[ 281], 20.00th=[ 318],
| 30.00th=[ 359], 40.00th=[ 383], 50.00th=[ 400], 60.00th=[ 420],
| 70.00th=[ 449], 80.00th=[ 529], 90.00th=[ 627], 95.00th=[ 734],
| 99.00th=[ 1057], 99.50th=[ 1844], 99.90th=[ 3294], 99.95th=[ 3621],
| 99.99th=[ 6259]
bw ( KiB/s): min=226919, max=288899, per=100.00%, avg=257083.61, stdev=256.44, samples=1219
iops : min=56724, max=72222, avg=64266.76, stdev=64.13, samples=1219
lat (usec) : 50=0.01%, 100=0.03%, 250=1.77%, 500=56.07%, 750=36.01%
lat (usec) : 1000=4.69%
lat (msec) : 2=0.98%, 4=0.42%, 10=0.03%, 20=0.01%
cpu : usr=0.47%, sys=1.09%, ctx=1311849, majf=0, minf=873
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%
issued rwts: total=641791,642699,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
READ: bw=250MiB/s (262MB/s), 250MiB/s-250MiB/s (262MB/s-262MB/s), io=2507MiB (2629MB), run=10019-10019msec
WRITE: bw=251MiB/s (263MB/s), 251MiB/s-251MiB/s (263MB/s-263MB/s), io=2511MiB (2632MB), run=10019-10019msec
Disk stats (read/write):
vda: ios=641791/642862, sectors=5134328/5143376, merge=0/27, ticks=326189/254901, in_queue=581089, util=59.00%
4コア
# fio -filename=~/fio.tmp---del -direct=1 -rw=rw -bs=4k -size=1G -numjobs=64 -runtime=10 -group_reporting -name=test1 ; rm -f ~/fio.tmp---del
test1: (g=0): rw=rw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=psync, iodepth=1
...
fio-3.36
Starting 64 processes
test1: Laying out IO file (1 file / 1024MiB)
Jobs: 64 (f=64): [M(64)][100.0%][r=267MiB/s,w=266MiB/s][r=68.3k,w=68.1k IOPS][eta 00m:00s]
test1: (groupid=0, jobs=64): err= 0: pid=2263: Sat Feb 22 17:25:48 2025
read: IOPS=63.6k, BW=249MiB/s (261MB/s)(2488MiB/10007msec)
clat (usec): min=72, max=14688, avg=559.52, stdev=204.80
lat (usec): min=73, max=14688, avg=559.60, stdev=204.80
clat percentiles (usec):
| 1.00th=[ 281], 5.00th=[ 359], 10.00th=[ 392], 20.00th=[ 433],
| 30.00th=[ 474], 40.00th=[ 510], 50.00th=[ 537], 60.00th=[ 562],
| 70.00th=[ 586], 80.00th=[ 635], 90.00th=[ 742], 95.00th=[ 857],
| 99.00th=[ 1139], 99.50th=[ 1467], 99.90th=[ 3032], 99.95th=[ 3359],
| 99.99th=[ 4113]
bw ( KiB/s): min=226528, max=287008, per=100.00%, avg=254986.84, stdev=266.09, samples=1216
iops : min=56630, max=71743, avg=63742.95, stdev=66.46, samples=1216
write: IOPS=63.7k, BW=249MiB/s (261MB/s)(2490MiB/10007msec); 0 zone resets
clat (usec): min=72, max=11583, avg=443.54, stdev=210.15
lat (usec): min=72, max=11583, avg=443.70, stdev=210.15
clat percentiles (usec):
| 1.00th=[ 192], 5.00th=[ 239], 10.00th=[ 269], 20.00th=[ 310],
| 30.00th=[ 355], 40.00th=[ 383], 50.00th=[ 408], 60.00th=[ 433],
| 70.00th=[ 474], 80.00th=[ 545], 90.00th=[ 652], 95.00th=[ 750],
| 99.00th=[ 1012], 99.50th=[ 1287], 99.90th=[ 2966], 99.95th=[ 3294],
| 99.99th=[ 3949]
bw ( KiB/s): min=224960, max=288003, per=100.00%, avg=255303.21, stdev=270.38, samples=1216
iops : min=56238, max=71992, avg=63821.84, stdev=67.54, samples=1216
lat (usec) : 100=0.01%, 250=3.56%, 500=51.94%, 750=37.34%, 1000=5.74%
lat (msec) : 2=1.13%, 4=0.26%, 10=0.01%, 20=0.01%
cpu : usr=0.48%, sys=1.25%, ctx=1293883, majf=0, minf=879
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%
issued rwts: total=636842,637511,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
READ: bw=249MiB/s (261MB/s), 249MiB/s-249MiB/s (261MB/s-261MB/s), io=2488MiB (2609MB), run=10007-10007msec
WRITE: bw=249MiB/s (261MB/s), 249MiB/s-249MiB/s (261MB/s-261MB/s), io=2490MiB (2611MB), run=10007-10007msec
Disk stats (read/write):
vda: ios=631413/632169, sectors=5051304/5057440, merge=0/11, ticks=333367/261225, in_queue=594593, util=73.35%
fio 帯域幅
- 2コア・4コアであまりにも差が大きい。(10倍以上) 素の性能というより、何らかのキャッシュに収まるか否かの差がありそう。
-size=2Gとかだと、4コアは一瞬で終わる。完全にキャッシュされていそう。そのため 20G とした。
2コア
# fio -filename=~/fio.tmp---del -direct=1 -rw=rw -bs=256M -size=20G -numjobs=8 -runtime=100 -group_reporting -name=test1 ; rm -f ~/fio.tmp---del
test1: (g=0): rw=rw, bs=(R) 256MiB-256MiB, (W) 256MiB-256MiB, (T) 256MiB-256MiB, ioengine=psync, iodepth=1
...
fio-3.36
Starting 8 processes
test1: Laying out IO file (1 file / 20480MiB)
Jobs: 2 (f=1): [_(1),M(1),_(5),f(1)][61.7%][r=504MiB/s,w=504MiB/s][r=1,w=1 IOPS][eta 01m:04s]
test1: (groupid=0, jobs=8): err= 0: pid=3838: Sat Feb 22 17:48:12 2025
read: IOPS=1, BW=279MiB/s (293MB/s)(28.0GiB/102647msec)
clat (msec): min=149, max=19421, avg=2885.99, stdev=3851.26
lat (msec): min=149, max=19421, avg=2885.99, stdev=3851.26
clat percentiles (msec):
| 1.00th=[ 150], 5.00th=[ 153], 10.00th=[ 232], 20.00th=[ 257],
| 30.00th=[ 393], 40.00th=[ 498], 50.00th=[ 760], 60.00th=[ 1603],
| 70.00th=[ 3876], 80.00th=[ 6007], 90.00th=[ 8557], 95.00th=[10000],
| 99.00th=[17113], 99.50th=[17113], 99.90th=[17113], 99.95th=[17113],
| 99.99th=[17113]
bw ( MiB/s): min= 4094, max= 5635, per=100.00%, avg=4341.76, stdev=122.49, samples=100
iops : min= 15, max= 22, avg=16.78, stdev= 0.46, samples=100
write: IOPS=1, BW=364MiB/s (382MB/s)(36.5GiB/102647msec); 0 zone resets
clat (msec): min=149, max=13197, avg=2690.09, stdev=2959.02
lat (msec): min=160, max=16087, avg=3297.10, stdev=3486.75
clat percentiles (msec):
| 1.00th=[ 150], 5.00th=[ 230], 10.00th=[ 257], 20.00th=[ 468],
| 30.00th=[ 617], 40.00th=[ 802], 50.00th=[ 1200], 60.00th=[ 2123],
| 70.00th=[ 3339], 80.00th=[ 4933], 90.00th=[ 7416], 95.00th=[ 9329],
| 99.00th=[11208], 99.50th=[13221], 99.90th=[13221], 99.95th=[13221],
| 99.99th=[13221]
bw ( MiB/s): min= 4089, max= 6146, per=100.00%, avg=4237.91, stdev=94.85, samples=136
iops : min= 11, max= 24, avg=16.21, stdev= 0.42, samples=136
lat (msec) : 250=11.63%, 500=18.22%, 750=11.63%, 1000=9.69%, 2000=8.53%
lat (msec) : >=2000=40.31%
cpu : usr=0.39%, sys=2.88%, ctx=1162089, majf=1099659, minf=4873277
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%
issued rwts: total=112,146,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
READ: bw=279MiB/s (293MB/s), 279MiB/s-279MiB/s (293MB/s-293MB/s), io=28.0GiB (30.1GB), run=102647-102647msec
WRITE: bw=364MiB/s (382MB/s), 364MiB/s-364MiB/s (382MB/s-382MB/s), io=36.5GiB (39.2GB), run=102647-102647msec
Disk stats (read/write):
vda: ios=1171647/508190, sectors=96118248/110589232, merge=3539384/3814911, ticks=3585457/10024942, in_queue=13610403, util=81.81%
4コア
# fio -filename=~/fio.tmp---del -direct=1 -rw=rw -bs=256M -size=20G -numjobs=8 -runtime=100 -group_reporting -name=test1 ; rm -f ~/fio.tmp---del
test1: (g=0): rw=rw, bs=(R) 256MiB-256MiB, (W) 256MiB-256MiB, (T) 256MiB-256MiB, ioengine=psync, iodepth=1
...
fio-3.36
Starting 8 processes
test1: Laying out IO file (1 file / 20480MiB)
Jobs: 8 (f=8): [M(8)][89.5%][r=4854MiB/s,w=3577MiB/s][r=18,w=13 IOPS][eta 00m:02s]
test1: (groupid=0, jobs=8): err= 0: pid=2402: Sat Feb 22 17:39:39 2025
read: IOPS=16, BW=4144MiB/s (4346MB/s)(71.8GiB/17728msec)
clat (msec): min=20, max=518, avg=189.40, stdev=85.92
lat (msec): min=20, max=518, avg=189.40, stdev=85.92
clat percentiles (msec):
| 1.00th=[ 21], 5.00th=[ 27], 10.00th=[ 74], 20.00th=[ 123],
| 30.00th=[ 148], 40.00th=[ 174], 50.00th=[ 197], 60.00th=[ 209],
| 70.00th=[ 224], 80.00th=[ 249], 90.00th=[ 305], 95.00th=[ 330],
| 99.00th=[ 409], 99.50th=[ 422], 99.90th=[ 518], 99.95th=[ 518],
| 99.99th=[ 518]
bw ( MiB/s): min= 4036, max=11779, per=100.00%, avg=6071.60, stdev=320.98, samples=189
iops : min= 9, max= 45, avg=22.27, stdev= 1.30, samples=189
write: IOPS=19, BW=5097MiB/s (5345MB/s)(88.2GiB/17728msec); 0 zone resets
clat (msec): min=25, max=451, avg=210.58, stdev=76.48
lat (msec): min=40, max=472, avg=230.46, stdev=76.78
clat percentiles (msec):
| 1.00th=[ 47], 5.00th=[ 95], 10.00th=[ 111], 20.00th=[ 153],
| 30.00th=[ 171], 40.00th=[ 188], 50.00th=[ 203], 60.00th=[ 222],
| 70.00th=[ 243], 80.00th=[ 275], 90.00th=[ 317], 95.00th=[ 347],
| 99.00th=[ 409], 99.50th=[ 451], 99.90th=[ 451], 99.95th=[ 451],
| 99.99th=[ 451]
bw ( MiB/s): min= 4080, max=11583, per=100.00%, avg=6093.80, stdev=299.81, samples=230
iops : min= 8, max= 45, avg=22.61, stdev= 1.22, samples=230
lat (msec) : 50=4.06%, 100=5.78%, 250=66.88%, 500=23.12%, 750=0.16%
cpu : usr=4.95%, sys=2.81%, ctx=6566, majf=0, minf=102
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%
issued rwts: total=287,353,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
Run status group 0 (all jobs):
READ: bw=4144MiB/s (4346MB/s), 4144MiB/s-4144MiB/s (4346MB/s-4346MB/s), io=71.8GiB (77.0GB), run=17728-17728msec
WRITE: bw=5097MiB/s (5345MB/s), 5097MiB/s-5097MiB/s (5345MB/s-5345MB/s), io=88.2GiB (94.8GB), run=17728-17728msec
Disk stats (read/write):
vda: ios=61232/74996, sectors=149946368/183536608, merge=0/13, ticks=4878863/6255186, in_queue=11134319, util=86.32%