月額1,450円(税込)でメモリ2GBを利用可能、WebARENAの新サービス「VPS エントリー」の性能をベンチマークでチェック

 NTTPCコミュニケーションズが提供するホスティング/データセンターサービス「WebARENA」の新サービスとして、新たに「VPS エントリー」が登場した。従来サービスの「WebARENA SuitePRO V3」と機能はほぼ同じながら月額1,450円(税込)でメモリ2GBの環境が利用できるという、コストパフォーマンスの高いサービスである。このVPS エントリーについてベンチマークテストを行い、その性能をチェックしてみよう。

 新たに発表された「VPS エントリー」は、いままで同社が提供していたVPSサービス「「WebARENA SuitePRO V3」の低価格版という位置付けだ。利用ケースとしてはテスト開発や検証用、個人利用、小規模なネットビジネスなどが想定されている。また、従来のWebARENA SuitePRO V3は「VPS ハイスペック」という位置付けとなり、より高いスペックや安定性が必要なユーザーに向けて提供が継続されている(図1)。

図1 VPS エントリーとVPS ハイスペックの2プランが提供される(WebARENAのVPSページより)
図1 VPS エントリーとVPS ハイスペックの2プランが提供される(WebARENAのVPSページより)

 VPS エントリーとVPS ハイスペックの違いだが、基本的な機能についてはどちらも同じだ。基本スペックについても、HDD容量が異なる以外はほぼ同じである(表1)。

表1 VPS エントリーとVPS ハイスペックの基本仕様
構成要素 VPS エントリー VPS ハイスペック
ディスク容量 10GB 50GB
メモリ(CPU) 2GB(1コア共有)
ネットワーク 1Gbps共有
グローバルIPアドレス 1
OS CentOS 5/CentOS 6/Scientific Linux 6

 一方、VPS エントリーとVPS ハイスペックで異なっているのが、各種オプションサービスの利用可否だ(表2)。

表2 VPS エントリーとVPS ハイスペックで利用できるサービス/機能
サービス VPS エントリー VPS ハイスペック
Webブラウザでアクセスできるコントロールパネル
ポート監視機能
フェイルオーバー機能 ×
ディスク容量の変更 × ○(有料オプション)
メモリ(CPU)の変更 × ○(有料オプション)
バックアップ機能 × ○(有料オプション)
サービス品質保証制度(SLA) ×

 VPS エントリーではディスク容量やメモリ/CPUの変更、バックアップ機能といった有料オプションサービスが利用できない。また、ホストサーバーの停止時に自動的にほかのサーバーで仮想マシンが再起動されるフェイルオーバー機能も対応外だ。また、サーバー稼働率が100%を下回った場合月額基本料金が減額されるサービス品質保証制度(SLA)も対象外となっている。

 なお、Webブラウザからサーバーの起動/停止/再起動といった操作を行えるコントロールパネルや、サービスが正しく稼働しているかをポートを監視して一定間隔で監視するポート監視機能についてはVPS エントリーでも利用可能だ(図2)。

図2 VPS エントリーのコントロールパネル
図2 VPS エントリーのコントロールパネル

VPS エントリーのスペックをベンチマークでチェック

 VPS エントリーは4月12日よりサービスが開始されており、申込み後すぐに利用が可能だ。そこで、VPS エントリーの実稼働環境でベンチマークテストを行い、そのスペックや操作感をチェックしてみた。

VPS ハイスペック(WebARENA SuitePRO V3)と同じ感覚で利用可能

 前述のとおり、VPS エントリーの基本仕様は従来提供されていたVPS ハイスペック(WebARENA SuitePRO V3)とほぼ同じである。Webブラウザから操作できるコントロールパネルも同一のもので、まったく同じ感覚で利用できる。OSのインストールや、サーバーの起動、初期設定などもまったく同じだ。これらについては「1Gbpsの高速なネットワークをゆったり利用できるNTTPCコミュニケーションズのVPSサービスを試す」記事で紹介しているので、興味がある方はそちらをチェック願いたい。また、実行するベンチマークテストについてはまったく同じものを実行している。

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

 VPS エントリーの特徴の1つは、バックボーンネットワークに1Gbpsで接続されている点だ。WebARENAはサービス開始当初から日本の大手回線事業者と広帯域の回線で接続している点をウリにしており、VPS エントリーでも高速な回線が期待できる。ベンチマークテストでは、クライアントからサーバーまでのネットワーク経路について、その回線速度や状況をチェックするツール「「Network Diagnostic Tool(NDT)」」を使用する。日本国内にあるNDTサーバーを利用し、VPS上でクライアントを実行してその通信速度をチェックしている。

 NDTの使い方については配布されているアーカイブ内ドキュメントで解説されているが、基本的にはソースコードをコンパイルし、「web100clt」コマンドを「-n <利用するNDTサーバーのIPアドレス>」オプション付きで実行するというものになる(リスト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 . . . . . . . . . . . . . . . . . . .  getnameinfo(): Temporary failure in name resolution
getnameinfo(): Temporary failure in name resolution
Done
running 10s outbound test (client to server) . . . . .  516.59 Mb/s
running 10s inbound test (server to client) . . . . . . 657.70 Mb/s
The slowest link in the end-to-end path is a 1.0 Gbps Gigabit Ethernet subnet
Information: Other network traffic is congesting the link
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

 リスト1中、赤文字で表示した個所がVPSからサーバー(外向き)、およびサーバーからVPS(内向き)の通信速度となる。この例の場合、前者が516.59 Mb/s、後者が657.70 Mb/sという結果となっている。NDTを異なる日、異なる時刻で3回計測した結果が表3だ。

表3 NDTによるネットワーク速度ベンチマークテスト結果
試行 外向き通信速度 内向き通信速度
1回目 516.59 Mb/s 657.70 Mb/s
2回目 541.39 Mb/s 744.07 Mb/s
3回目 535.22 Mb/s 729.58 Mb/s

 このように結果にややばらつきはあるものの、外向き通信速度は500Mb/s、内向き通信速度は650~750Mb/sといった通信速度が確認できた。

処理能力やストレージ性能をチェックする

 続いて、VPS全体の性能についてもチェックする。使用したツールは表4のとおりだ。

表4 ベンチマークテストで使用したベンチマークツール
ツール名 説明
Geekbench 2.2.6(x86_32) マルチプラットフォーム対応の総合ベンチマークツール
unixbench(BYTE UNIX Benchmarks) 5.1.3 古典的なUNIX系OS向け総合ベンチマークツール
FS-Mark 3.3 ファイル/ディレクトリアクセス速度をチェックするベンチマークツール
Threaded I/O tester(tiobench)0.3.3 ストレージへの並列アクセス速度をチェックするベンチマークツール

 まず、マルチプラットフォーム対応のベンチマークテストとして知られるGeekbenchから見てみよう。Geekbenchでは複数のベンチマークが含まれており、独自の「スコア」としてベンチマーク結果が表示される。ベンチマークテストの結果についてはResult Browserを確認してほしいが、トータルスコアは「4490」となった。VPS エントリーはVPS ハイスペックより後発のサービスであるためかCPUの処理性能が向上しており、その結果VPS ハイスペックよりもやや高いベンチマークスコアが得られる結果となった。

 また、同様にシステム全体のパフォーマンスを計測するUnixBenchのスコアは「1549.0」となり、こちらもVPS ハイスペックより高い値となっている。詳細なベンチマーク結果については記事末にリストAとして掲載しているので、そちらをご参照願いたい。

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

 ストレージのアクセス速度については、「FS-Mark」というツールと、「Threaded I/O tester(tiobench)」というツールを利用した。FS-Markは指定したディレクトリ内に多数のファイルを作成してその処理にかかった時間を測定するツールで、Threaded I/O testerは複数スレッドから同時にストレージにアクセスする状況でのパフォーマンスを確認できるツールだ。ベンチマークテストの条件は次のように設定している。

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

 テストはそれぞれ3回実行し、その結果をまとめたのが表5および表6だ。FS-MarkテストではVPS ハイスペックよりも劣る結果となり、またThreaded I/O testerではシーケンシャルな書き込みについてはVPS ハイスペックの半分程度という結果であったが、ランダムライトや読み込みについてはVPS ハイスペックと比較して遜色ない結果となっている。アクセス時の遅延についてもその平均は1ミリ秒以下と小さかった。この結果を見る限り、実際にWebサイトを運営した場合にストレージの性能が問題となることは少ないと思われる。なお、結果全文については記事末のリストBリストCをご参照願いたい。

表5 FS-Markの実行結果
試行 結果
1回目 51.8ファイル/秒(51.8MB/秒)
2回目 54.9ファイル/秒(54.9MB/秒)
3回目 56.6ファイル/秒(56.6MB/秒)
表6 Threaded I/O testerの実行結果
試行 書き込み速度(シーケンシャル) 書き込み速度(ランダム) 読み込み速度(シーケンシャル) 読み込み速度(ランダム)
1回目 126.432 MB/s 383.259 MB/s 3021.175 MB/s 2394.315 MB/s
2回目 145.984 MB/s 440.749 MB/s 3206.578 MB/s 2261.829 MB/s
3回目 129.394 MB/s 597.083 MB/s 3164.000 MB/s 2209.300 MB/s

VPS ハイスペックと比較してパフォーマンスの差は少なめ、コストパフォーマンスは高い

 以上のベンチマーク結果を見る限り、VPS ハイスペックとVPS エントリーではその性能差は大きくない。一方、価格はVPS エントリーのほうが大幅に安く、コストパフォーマンスの高いサービスとなっている。ただし、VPS エントリーはストレージ容量が10GBと少なめで、またストレージとメモリ(CPU)ともに容量変更ができない点がネックにはなるだろう。また、VPS ハイスペックは3世代にわたる自動バックアップを行えるバックアップオプションが可能だったが、こちらもVPS エントリーでは利用できない。そのため、大容量のデータを扱い、また定期的なバックアップが必要なサービスを運用するならVPS ハイスペックを検討したほうが良さそうだ。一方、大容量のストレージやバックアップが不要な個人ユーザーや開発・検証用途であればVPS エントリーはおすすめできるサービスである。ちなみに、VPS エントリーからVPS ハイスペックへはオンラインでIPアドレスの変更なしにスムーズに移行できる。

 なお、VPS エントリーについては試用サービスが用意されていないが、ほぼ同機能のVPS ハイスペックについては10日間の無料お試しサービスが提供されている。スペックについては両者に大きな差はないので、VPS エントリーを検討している方はお試しサービスでその機能をチェックしてみると良いだろう。

NTTPCコミュニケーションズ VPS エントリー
http://web.arena.ne.jp/suitepro/

付録:UnixBenchおよびFS-Mark、Threaded I/O testerによるベンチマークテスト結果の詳細

リストA UnixBenchの実行結果

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: localhost.localdomain: GNU/Linux
   OS: GNU/Linux -- 2.6.18-274.7.1.el5.028stab095.1 -- #1 SMP Mon Oct 24 20:49:24 MSD 2011
   Machine: x86_64 (x86_64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: QEMU Virtual CPU version (cpu64-rhel5) (6930.6 bogomips)
          x86-64, MMX, Physical Address Ext, SYSCALL/SYSRET
   19:36:07 up 27 min,  1 user,  load average: 0.03, 0.11, 0.08; runlevel

------------------------------------------------------------------------
Benchmark Run: Wed Apr 11 2012 19:36:07 - 20:04:11
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       20431687.0 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4114.7 MWIPS (9.8 s, 7 samples)
Execl Throughput                               4092.5 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks       1013831.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          288737.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1716473.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                             2636180.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 451654.1 lps   (10.0 s, 7 samples)
Process Creation                              11519.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5439.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    750.2 lpm   (60.1 s, 2 samples)
System Call Overhead                        4948828.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   20431687.0   1750.8
Double-Precision Whetstone                       55.0       4114.7    748.1
Execl Throughput                                 43.0       4092.5    951.7
File Copy 1024 bufsize 2000 maxblocks          3960.0    1013831.4   2560.2
File Copy 256 bufsize 500 maxblocks            1655.0     288737.6   1744.6
File Copy 4096 bufsize 8000 maxblocks          5800.0    1716473.5   2959.4
Pipe Throughput                               12440.0    2636180.0   2119.1
Pipe-based Context Switching                   4000.0     451654.1   1129.1
Process Creation                                126.0      11519.4    914.2
Shell Scripts (1 concurrent)                     42.4       5439.7   1283.0
Shell Scripts (8 concurrent)                      6.0        750.2   1250.3
System Call Overhead                          15000.0    4948828.8   3299.2
                                                                   ========
System Benchmarks Index Score                                        1549.0

リストB FS-Markの実行結果全文

$ ./fs_mark -d ./tmp -s 1048576 -n 1000

#  ./fs_mark  -d  ./tmp  -s  1048576  -n  1000
#       Version 3.3, 1 thread(s) starting at Thu Apr 12 17:59:45 2012
#       Sync method: INBAND FSYNC: fsync() per file in write loop.
#       Directories:  no subdirectories used
#       File names: 40 bytes long, (16 initial bytes of time stamp with 24 random bytes at end of name)
#       Files info: size 1048576 bytes, written with an IO size of 16384 bytes per write
#       App overhead is time in microseconds spent in the test not doing file writing related system calls.

FSUse%        Count         Size    Files/sec     App Overhead
     9         1000      1048576         51.8            48004
$ ./fs_mark -d ./tmp -s 1048576 -n 1000

#  ./fs_mark  -d  ./tmp  -s  1048576  -n  1000
#       Version 3.3, 1 thread(s) starting at Thu Apr 12 18:00:16 2012
#       Sync method: INBAND FSYNC: fsync() per file in write loop.
#       Directories:  no subdirectories used
#       File names: 40 bytes long, (16 initial bytes of time stamp with 24 random bytes at end of name)
#       Files info: size 1048576 bytes, written with an IO size of 16384 bytes per write
#       App overhead is time in microseconds spent in the test not doing file writing related system calls.

FSUse%        Count         Size    Files/sec     App Overhead
     9         1000      1048576         54.9            46959
$ ./fs_mark -d ./tmp -s 1048576 -n 1000

#  ./fs_mark  -d  ./tmp  -s  1048576  -n  1000
#       Version 3.3, 1 thread(s) starting at Thu Apr 12 18:00:45 2012
#       Sync method: INBAND FSYNC: fsync() per file in write loop.
#       Directories:  no subdirectories used
#       File names: 40 bytes long, (16 initial bytes of time stamp with 24 random bytes at end of name)
#       Files info: size 1048576 bytes, written with an IO size of 16384 bytes per write
#       App overhead is time in microseconds spent in the test not doing file writing related system calls.

FSUse%        Count         Size    Files/sec     App Overhead
     9         1000      1048576         56.6            49490

リストC Threaded I/O testerの実行結果全文

$ ./tiotest -f 32 -t 32
Tiotest results for 32 concurrent io threads:
,----------------------------------------------------------------------.
| Item                  | Time     | Rate         | Usr CPU  | Sys CPU |
+-----------------------+----------+--------------+----------+---------+
| Write        1024 MBs |    8.1 s | 126.432 MB/s |  20.5 %  | 689.8 % |
| Random Write  125 MBs |    0.3 s | 383.259 MB/s |   9.2 %  | 624.2 % |
| Read         1024 MBs |    0.3 s | 3021.175 MB/s |   5.0 %  |  93.8 % |
| Random Read   125 MBs |    0.1 s | 2394.315 MB/s |   7.7 %  |  82.4 % |
`----------------------------------------------------------------------'
Tiotest latency results:
,-------------------------------------------------------------------------.
| Item         | Average latency | Maximum latency | % >2 sec | % >10 sec |
+--------------+-----------------+-----------------+----------+-----------+
| Write        |        0.299 ms |     1676.196 ms |  0.00000 |   0.00000 |
| Random Write |        0.009 ms |       40.873 ms |  0.00000 |   0.00000 |
| Read         |        0.001 ms |        0.393 ms |  0.00000 |   0.00000 |
| Random Read  |        0.001 ms |        0.183 ms |  0.00000 |   0.00000 |
|--------------+-----------------+-----------------+----------+-----------|
| Total        |        0.134 ms |     1676.196 ms |  0.00000 |   0.00000 |
`--------------+-----------------+-----------------+----------+-----------'

$ ./tiotest -f 32 -t 32
Tiotest results for 32 concurrent io threads:
,----------------------------------------------------------------------.
| Item                  | Time     | Rate         | Usr CPU  | Sys CPU |
+-----------------------+----------+--------------+----------+---------+
| Write        1024 MBs |    7.0 s | 145.984 MB/s |  36.1 %  | 1454.8 % |
| Random Write  125 MBs |    0.3 s | 440.749 MB/s |  20.8 %  | 1015.3 % |
| Read         1024 MBs |    0.3 s | 3207.578 MB/s |   7.2 %  |  92.4 % |
| Random Read   125 MBs |    0.1 s | 2261.829 MB/s |   7.2 %  |  81.4 % |
`----------------------------------------------------------------------'
Tiotest latency results:
,-------------------------------------------------------------------------.
| Item         | Average latency | Maximum latency | % >2 sec | % >10 sec |
+--------------+-----------------+-----------------+----------+-----------+
| Write        |        0.259 ms |     1414.753 ms |  0.00000 |   0.00000 |
| Random Write |        0.036 ms |      112.174 ms |  0.00000 |   0.00000 |
| Read         |        0.001 ms |        0.460 ms |  0.00000 |   0.00000 |
| Random Read  |        0.001 ms |        0.197 ms |  0.00000 |   0.00000 |
|--------------+-----------------+-----------------+----------+-----------|
| Total        |        0.118 ms |     1414.753 ms |  0.00000 |   0.00000 |
`--------------+-----------------+-----------------+----------+-----------'

$ ./tiotest -f 32 -t 32
Tiotest results for 32 concurrent io threads:
,----------------------------------------------------------------------.
| Item                  | Time     | Rate         | Usr CPU  | Sys CPU |
+-----------------------+----------+--------------+----------+---------+
| Write        1024 MBs |    7.9 s | 129.394 MB/s |  29.9 %  | 997.1 % |
| Random Write  125 MBs |    0.2 s | 597.083 MB/s |  88.4 %  | 899.3 % |
| Read         1024 MBs |    0.3 s | 3164.000 MB/s |  14.2 %  | 181.7 % |
| Random Read   125 MBs |    0.1 s | 2209.300 MB/s |   3.5 %  |  95.4 % |
`----------------------------------------------------------------------'
Tiotest latency results:
,-------------------------------------------------------------------------.
| Item         | Average latency | Maximum latency | % >2 sec | % >10 sec |
+--------------+-----------------+-----------------+----------+-----------+
| Write        |        0.743 ms |     5752.986 ms |  0.01030 |   0.00000 |
| Random Write |        0.052 ms |      129.983 ms |  0.00000 |   0.00000 |
| Read         |        0.002 ms |      313.623 ms |  0.00000 |   0.00000 |
| Random Read  |        0.002 ms |        0.072 ms |  0.00000 |   0.00000 |
|--------------+-----------------+-----------------+----------+-----------|
| Total        |        0.335 ms |     5752.986 ms |  0.00459 |   0.00000 |
`--------------+-----------------+-----------------+----------+-----------'