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)。
ツール名 | 説明 |
---|---|
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の赤文字部分)。
$ ./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)。
試行回数 | 外向き通信速度 | 内向き通信速度 |
---|---|---|
1回目 | 95.03Mbps | 931.16Mbps |
2回目 | 94.76Mbps | 931.97Mbps |
3回目 | 94.5Mbps | 932.52Mbps |
試行回数 | 外向き通信速度 | 内向き通信速度 |
---|---|---|
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)。
$ 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やメモリの性能については高いレベルであるといえよう。
テスト項目 | 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)。
試行 | 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/秒) |
試行 | 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については非常に高い結果となっているが、これはメモリキャッシュの効果だと思われる。
試行 | 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 |
試行 | 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となり、メモリキャッシュの効果が限定されてくる。
試行 | 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 |
試行 | 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)。
試行 | 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 |
試行 | 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)」というサービスもあるので、用途に応じて選択すると良いだろう。