KVMを採用、さまざまなOSに対応するコストパフォーマンスの高いVPS「お名前.comレンタルサーバーVPS(KVM)」 4ページ

ベンチマークテストで性能をチェックする

 VPSでは通常、実際に使われている物理サーバーのスペックは公表されていない。そのため、スペック表だけでは実際のパフォーマンスは分からないことが多い。そこで、最後にいくつかのベンチマークツールを使ってお名前.com レンタルサーバーVPS(KVM)の性能を調査してみよう。

 ベンチマークテストで使用したのは2GBプラン(メモリ2GB、ディスク180GB、仮想3コアCPU)で、OSはCentOS 6系の最新版であるCentOS 6.3(x86_64版)を使用した。

 使用したベンチマークツールは、SourceForge.JP Magazineでもたびたび紹介している「Network Diagnostic Tool(NDT)」および「Geekbench」、「unixbench」、「FS-Mark」、「Threaded I/O tester」を使用した。NDTはネットワーク帯域を、Geekbenchおよびunixbenchは演算性能を、FS-MarkとThreaded I/O testerはストレージ性能をチェックするベンチマークツールだ(表3)。

表3 Linux環境のベンチマークテストに使用したツール
ツール名 説明
Network Diagnostic Tool(NDT) 3.6.4 クライアントからサーバーまでのネットワーク経路について、その回線速度や状況をチェックするツール
Geekbench 2.3.4(x86_32) マルチプラットフォーム対応のCPU/メモリベンチマークツール
unixbench(BYTE UNIX Benchmarks) 5.1.3 古典的なUNIX系OS向け総合ベンチマークツール
FS-Mark 3.3 多数のファイルを作成してその速度をチェックするベンチマークツール
Threaded I/O tester(tiobench)0.3.3 ストレージに複数スレッドから同時にファイルアクセスを行ってI/Oパフォーマンスを調査するベンチマークツール

ネットワーク性能をチェックする

 ネットワークのパフォーマンスについては、Network Diagnostic Tool(NDT)というツールを使用して検証した。NDTはクライアント-サーバー間のネットワーク回線速度やその状況をチェックするツールだ。

 NDTの使い方についてはWebページやNDTに同梱されているドキュメントを確認してほしいが、ダウンロードしたソースコードをコンパイルし、作成された「web100clt」コマンドを実行するという流れだ。利用するNDTサーバーは「-n」オプションで指定できる。

 NDTを実行すると、次のように外向き(VPSからインターネット)の通信および内向き(インターネットからVPS)の通信速度が表示される(リスト1の赤文字部分)。

リスト1 NDTの実行例

$ ./web100clt -n 157.82.112.68
Testing network path for configuration and performance problems  --  Using IPv4 address
Checking for Middleboxes . . . . . . . . . . . . . . . . . .  Done
checking for firewalls . . . . . . . . . . . . . . . . . . .  Done
running 10s outbound test (client to server) . . . . .  95.03 Mb/s
running 10s inbound test (server to client) . . . . . . 931.16 Mb/s
The slowest link in the end-to-end path is a 1.0 Gbps Gigabit Ethernet subnet
Server '157.82.112.68' is not behind a firewall. [Connection to the ephemeral port was successful]
Client is probably behind a firewall. [Connection to the ephemeral port failed]
Packet size is preserved End-to-End
Server IP addresses are preserved End-to-End
Client IP addresses are preserved End-to-End

 ネットワークの回線状況は時間によって変動するため、日にちや時間帯、VirtIOのオン/オフを変えて3回のテストを実行したところ、それぞれその次のような結果が得られた(表4、5)。

表4 NDTによるネットワーク速度ベンチマーク結果(VirtIOオン)
試行回数 外向き通信速度 内向き通信速度
1回目 95.03Mbps 931.16Mbps
2回目 94.76Mbps 931.97Mbps
3回目 94.5Mbps 932.52Mbps
表5 NDTによるネットワーク速度ベンチマーク結果(VirtIOオフ)
試行回数 外向き通信速度 内向き通信速度
1回目 95.51Mbps 181.42Mbps
2回目 95.58Mbps 111.89Mbps
3回目 95.59Mbps 204.87Mbps

 結果としては、外向き(サーバーから外部)の通信速度については100Mbpsに近い値となっている。また、内向き(外部からサーバー)方向の通信速度はVirtIOのオン/オフで大きく変動しているが、どちらの場合でもスペック上の回線速度である「100Mbps共有」以上の値となっている。仮想環境上でのテストということで正確な測定ができていない可能性は考えられるが、VirtIOがオンの状態でwgetコマンドで外部のFTPサーバーからファイルをダウンロードしたところ20.9MB/s(約167.2Mbps)という通信速度が得られており、内向きについては100Mbps以上の値が出ることもあるようだ(リスト2)。

リスト2 wgetコマンドによる簡易的な通信速度計測結果

$ wget ftp://ftp.jaist.ac.jp/pub/Linux/CentOS/6.3/isos/i386/CentOS-6.3-i386-netinstall.iso
--2012-07-26 21:07:04--  ftp://ftp.jaist.ac.jp/pub/Linux/CentOS/6.3/isos/i386/CentOS-6.3-i386-netinstall.iso
           => “CentOS-6.3-i386-netinstall.iso”
Resolving ftp.jaist.ac.jp... 150.65.7.130, 2001:200:141:feed::feed
Connecting to ftp.jaist.ac.jp|150.65.7.130|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done.    ==> PWD ... done.
==> TYPE I ... done.  ==> CWD (1) /pub/Linux/CentOS/6.3/isos/i386 ... done.
==> SIZE CentOS-6.3-i386-netinstall.iso ... 203423744
==> PASV ... done.    ==> RETR CentOS-6.3-i386-netinstall.iso ... done.
Length: 203423744 (194M) (unauthoritative)

100%[======================================>] 203,423,744 20.9M/s   in 10s

2012-07-26 21:07:15 (19.0 MB/s) - “CentOS-6.3-i386-netinstall.iso” saved [203423744]

 ネットワークについてはほかのユーザーの利用状況によっても変動するためこのテスト結果からだけでは判断が難しいが、これを見る限りはネットワーク帯域は潤沢で、極端に遅いということはなさそうだ。

CPU処理能力をチェックする

 続いては、マルチプラットフォーム対応のCPU/メモリベンチマークツールGeekbenchと、システム全体のパフォーマンスを計測するUnixBenchを使い、処理能力についてチェックしていこう。これらのテストではすべてVirtIOをオンにした状態でテストを行っている。

 まずはGeekbenchだが、Geekbenchのテスト結果は「Geekbench Score」というスコアで表示される。テスト結果はGeekbench Browserを確認してほしいが、スコアは「6317」となった。整数演算と浮動小数点演算ともに高めのスコアで、メモリのI/Oパフォーマンスも良好だ。複数コアを使ったテストでも順調にスコアを伸ばしている。

 また、UnixBenchのスコアは1CPUのみを使ったテストで「1460.0」、3CPUを使ったテストでは「3149.5」と、こちらも高めの結果となっている。CPUやメモリの性能については高いレベルであるといえよう。

表6 UnixBenchのテスト結果
テスト項目 1CPU 3CPU
Dhrystone 2 using register variables 2675.7 7930.4
Double-Precision Whetstone 664.6 1987.6
Execl Throughput 615 2659.5
File Copy 1024 bufsize 2000 maxblocks 2374.5 1942.6
File Copy 256 bufsize 500 maxblocks 1627.3 1470.6
File Copy 4096 bufsize 8000 maxblocks 3237.3 4180.1
Pipe Throughput 1884.7 5517.6
Pipe-based Context Switching 790 2323.6
Process Creation 440.1 2207.7
Shell Scripts (1 concurrent) 1319.9 3313.8
Shell Scripts (8 concurrent) 2895.3 3186
System Call Overhead 2753.5 6369
Total 1460 3149.5

ストレージのアクセス速度をチェックする

 最後にストレージの性能について見ていこう。今回はディレクトリ内に一定サイズの多数のファイルを作成し、その時間を測定することでスループットをチェックする「FS-Mark」と、複数スレッドでストレージに負荷をかけ、その状況でのスループットを測定する「Threaded I/O tester」というツールを使用している。

 テストを実行する際に使用したテストパラメータは次のように設定した。今回使用したVPSでは2GBのメモリが割り当てられており、合計2GB以下のファイルアクセスについてはメモリキャッシュの影響で実際のストレージI/Oパフォーマンスよりも高いパフォーマンスが得られる可能性がある。そのため、今回は合計で2GB以上のデータアクセスが発生するようにパラメータを変更している。

FS-Mark:
 - 作成するファイルサイズ:1048576B(1MB)および2097152B(2MB)
 - 作成するファイル数:1000
Thraded I/O tester:
 - 同時にストレージにアクセスするスレッド数:32および64
 - 各スレッドがアクセスするファイルのサイズ:32MBおよび64MB

 また、VirtIOの効果をチェックするため、VirtIOをオンにした場合とオフにした場合とでそれぞれテストを行っている。テストはそれぞれ3回実行し、それぞれの結果をまとめている。

 まずFS-Markの結果であるが、こちらは1秒あたりに作成できたファイルの数がテスト結果となり、これにファイルサイズを掛けることでおおよそのスループットを確認できる。値を確認してみると、VirtIOがオンの場合おおよそ200~300MB/秒程度、オフの場合はおよそ180~200MB/秒程度という結果となっている(表7、8)。

表7 FS-Markによるストレージベンチマークテスト結果(ファイルサイズ:1MB)
試行 VirtIOオン VirtIOオフ
1回目 248.8ファイル/秒(248.8MB/秒) 180.7ファイル/秒(180.7MB/秒)
2回目 230.3ファイル/秒(230.3MB/秒) 179.7ファイル/秒(179.7MB/秒)
3回目 231.1ファイル/秒(231.1MB/秒) 178.7ファイル/秒(178.7MB/秒)
表8 FS-Markによるストレージベンチマークテスト結果(ファイルサイズ:2MB)
試行 VirtIOオン VirtIOオフ
1回目 146.9ファイル/秒(293.8MB/秒) 102.0ファイル/秒(204.0MB/秒)
2回目 152.6ファイル/秒(305.2MB/秒) 104.9ファイル/秒(209.8MB/秒)
3回目 155.0ファイル/秒(310.0MB/秒) 107.9ファイル/秒(215.8MB/秒)

 続いてThreaded I/O testerの結果を見てみよう。まずは32MB×32スレッドという条件でのテスト結果だ(表9、10)。ReadおよびRandomについては非常に高い結果となっているが、これはメモリキャッシュの効果だと思われる。

表9 Threaded I/O testerによるストレージベンチマークテスト結果(32MB×32スレッド、VirtIOオン)
試行 Write Random Write Read Random Read
1回目 360.151 MB/s 39.631 MB/s 7819.958 MB/s 6862.853 MB/s
2回目 317.018 MB/s 39.951 MB/s 7275.983 MB/s 6926.359 MB/s
3回目 339.725 MB/s 38.992 MB/s 7066.114 MB/s 6357.117 MB/s
表10 Threaded I/O testerによるストレージベンチマークテスト結果(32MB×32スレッド、VirtIOオフ)
試行 Write Random Write Read Random Read
1回目 340.116 MB/s 13.900 MB/s 5927.470 MB/s 6826.498 MB/s
2回目 318.882 MB/s 14.804 MB/s 7607.501 MB/s 6243.444 MB/s
3回目 346.216 MB/s 14.563 MB/s 7669.206 MB/s 6842.941 MB/s

 次に、64MB×32スレッドの結果を見てみよう(表11、12)。この場合読み書きするトータルのファイルサイズは約2GBとなり、メモリキャッシュの効果が限定されてくる。

表11 Threaded I/O testerによるストレージベンチマークテスト結果(64MB×32スレッド、VirtIOオン)
試行 Write Random Write Read Random Read
1回目 320.782 MB/s 22.258 MB/s 339.606 MB/s 38.084 MB/s
2回目 318.163 MB/s 21.631 MB/s 361.645 MB/s 44.829 MB/s
3回目 299.525 MB/s 21.378 MB/s 344.862 MB/s 31.856 MB/s
表12 Threaded I/O testerによるストレージベンチマークテスト結果(64MB×32スレッド、VirtIOオフ)
試行 Write Random Write Read Random Read
1回目 289.591 MB/s 12.847 MB/s 78.047 MB/s 4.165 MB/s
2回目 284.217 MB/s 12.548 MB/s 59.306 MB/s 4.297 MB/s
3回目 279.222 MB/s 12.438 MB/s 63.699 MB/s 4.307 MB/s

 最後が、64MB×64スレッドのテスト結果だ(表13、14)。

表13 Threaded I/O testerによるストレージベンチマークテスト結果(64MB×64スレッド、VirtIOオン)
試行 Write Random Write Read Random Read
1回目 282.934 MB/s 19.969 MB/s 237.648 MB/s 16.685 MB/s
2回目 283.293 MB/s 19.394 MB/s 254.408 MB/s 18.831 MB/s
3回目 283.635 MB/s 19.641 MB/s 250.944 MB/s 17.737 MB/s
表14 Threaded I/O testerによるストレージベンチマークテスト結果(64MB×64スレッド、VirtIOオン)
試行 Write Random Write Read Random Read
1回目 280.015 MB/s 12.329 MB/s 29.540 MB/s 1.111 MB/s
2回目 280.103 MB/s 12.366 MB/s 29.883 MB/s 1.090 MB/s
3回目 285.326 MB/s 12.036 MB/s 30.310 MB/s 1.090 MB/s

 これらの結果を見る限り、ディスクI/Oのパフォーマンスについても性能は高いと言えるだろう。ランダムアクセスについてはややパフォーマンスが落ちるものの、全体としては悪くない性能となっている。また、VirtIOの効果は確かに現れており、VirtIOを有効にすることで読み出しアクセスについては特にパフォーマンスが向上する、という結果が得られている。

低価格VPSサービスとしては非常に高い性能を提供、現状では最高クラス

 さて、以上のようにコントロールパネルで提供される機能やその完成度、スペックなどをチェックしてきたが、お名前.comレンタルサーバーVPS(KVM)はどれも非常に高いレベルであると感じた。現在国内・海外を含め多くのVPSサービスが各社から提供されているが、いまのところ月額1,500円以下のVPSサービスの中でもっともスペックが高く、また柔軟性も高いサービスではないだろうか。サポートも電話およびメールで24時間365日の受付を行っているのも安心できる。

 いっぽう、お名前.comレンタルサーバーVPS(KVM)はあくまで「上級者向け」という位置付けであり、バックアップやGUIによるOS設定などの追加機能は一切用意されていない。また、標準OS以外についてはサポートの対象外となっている。そのため、Linuxサーバー管理に関する知識が乏しいユーザーにとってはややハードルが高いかもしれない。そのため、いわゆる「共用サーバー」の代替として気軽に使うのには向いていないケースもある。お名前.comのレンタルサーバーサービスには管理コンソールなども提供される「VPS(VZ)」というサービスもあるので、用途に応じて選択すると良いだろう。

MSDNの価格