月額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)。
VPS エントリーとVPS ハイスペックの違いだが、基本的な機能についてはどちらも同じだ。基本スペックについても、HDD容量が異なる以外はほぼ同じである(表1)。
構成要素 | VPS エントリー | VPS ハイスペック |
---|---|---|
ディスク容量 | 10GB | 50GB |
メモリ(CPU) | 2GB(1コア共有) | |
ネットワーク | 1Gbps共有 | |
グローバルIPアドレス | 1 | |
OS | CentOS 5/CentOS 6/Scientific Linux 6 |
一方、VPS エントリーとVPS ハイスペックで異なっているのが、各種オプションサービスの利用可否だ(表2)。
サービス | VPS エントリー | VPS ハイスペック |
---|---|---|
Webブラウザでアクセスできるコントロールパネル | ○ | ○ |
ポート監視機能 | ○ | ○ |
フェイルオーバー機能 | × | ○ |
ディスク容量の変更 | × | ○(有料オプション) |
メモリ(CPU)の変更 | × | ○(有料オプション) |
バックアップ機能 | × | ○(有料オプション) |
サービス品質保証制度(SLA) | × | ○ |
VPS エントリーではディスク容量やメモリ/CPUの変更、バックアップ機能といった有料オプションサービスが利用できない。また、ホストサーバーの停止時に自動的にほかのサーバーで仮想マシンが再起動されるフェイルオーバー機能も対応外だ。また、サーバー稼働率が100%を下回った場合月額基本料金が減額されるサービス品質保証制度(SLA)も対象外となっている。
なお、Webブラウザからサーバーの起動/停止/再起動といった操作を行えるコントロールパネルや、サービスが正しく稼働しているかをポートを監視して一定間隔で監視するポート監視機能についてはVPS エントリーでも利用可能だ(図2)。
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だ。
試行 | 外向き通信速度 | 内向き通信速度 |
---|---|---|
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のとおりだ。
ツール名 | 説明 |
---|---|
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をご参照願いたい。
試行 | 結果 |
---|---|
1回目 | 51.8ファイル/秒(51.8MB/秒) |
2回目 | 54.9ファイル/秒(54.9MB/秒) |
3回目 | 56.6ファイル/秒(56.6MB/秒) |
試行 | 書き込み速度(シーケンシャル) | 書き込み速度(ランダム) | 読み込み速度(シーケンシャル) | 読み込み速度(ランダム) |
---|---|---|---|---|
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 | `--------------+-----------------+-----------------+----------+-----------'