お名前.com クラウド でUnixBenchを計測
UnixBenchとは、
Linuxパソコンの処理性能を測定するためのソフトウエアのことで、
CPUの演算性能、アプリケーション実行時の処理性能、2次元や3次元のグラフィックス処理性能を測定できるものです。
さらに、マルチコアプロセッサにも対応しているため、コア数の違いによるパフォーマンスを評価することもできます。
UnixBench が出力する数値は、処理時間とIndex値です。
処理時間は、文字通り各処理性能を測定する項目毎に実際にかかった処理時間が出力されます。
Index値は、「George」と呼ばれるUNIXシステム「SPARCstation 20-61」の処理性能を10としたときの倍率を表した数値が出力されます。
( つまり、ざっくりと言うと SPARCstation 20-61 の何倍早いか?という感じでしょうか。)
現在のマシン性能は、かなり良くなっているので、100倍,1000倍という数値が普通に出ます。
主にUnixBench の値として用いられるのは、このIndex値の総合評価値である System Benchmarks Index Scoreの値が用いられています。
お名前.com クラウド にて 1vCPU & 1G メモリのサーバーを作成し、UnixBenchを計測してみました。
UnixBenchのインストールについて
- UnixBenchの最新ファイルをダウンロードする。
$ wget http://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz
...
|
適当なディレクトリで解凍しておきます。
$ tar xfz UnixBench5.1.3.tgz
...
|
- GUI系の計測は不要なのでMakeFileを編集する。
計測が不要なものは、コメントアウトしておきます。
ここではGUI関係は不要なので、GRAPHIC_TESTS , GL_LIBS をそれぞれコメントアウトしておきます。
./UnixBench/Makefile を編集します。
- UnixBenchをコンパイルする。
UnixBenchをコンパイルするには、makeおよびgcc、perlが必要になります。
加えて CentOS/ScientificLinux の場合、perl のTime/HiResもインストールする必要があります。
前準備として以下のツールをインストールします。
CentOS/
ScientificLinux の場合
$ yum -y install make gcc perl perl-Time-HiRes
...
|
Debian/
Ubuntu の場合
$ apt-get -y install make gcc perl
...
|
準備を終えたら、続けてmakeを実行します。
実行するディレクトリは、先にUnixBenchを解凍したディレクトリで実行します。
[UnixBench]$ make
...
|
ここでエラーがでない場合は、すぐにでも計測できます。
以下のようにRunで実行です。
[UnixBench]$ ./Run
make all
make[1]: Entering directory `/root/UnixBench'
Checking distribution of files
./pgms exists
./src exists
./testdir exists
./tmp exists
./results exists
make[1]: Leaving directory `/root/UnixBench'
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
...
|
Runは、概ね 1CPUあたり20分ぐらいでしょうか。単純に仮想CPU2あるので、倍の40分程度は掛かるものと思います。
また、負荷もかかるので、基本的には、実際に運用中のサーバーでの実施は避けた方が良いと思います。
でも、負荷が掛かっているときの情報が欲しい場合もあるでしょうから、計測する意図を考えて行うことが肝要かと思います。
UnixBenchの実施結果
以下の一覧表、およびグラフは、10回連続で実施し、System Benchmarks Index Score だけを抜粋したものです。
また、比較のために 以下のサーバーのUnixBenchについて一緒に掲載しています。
- 今回の 最新の ConoHa VPS 1Gプラン[ConoHa VPS]
- こちら で調べた さくらのVPS 1Gプラン[さくらのVPS]
詳細表示切替
UnixBench
回数 | お名前.comクラウド #1CPU | お名前.comクラウド #2CPU | ConoHa VPS #1CPU | ConoHa VPS #2CPU | さくらのVPS #1CPU | さくらのVPS #2CPU | お名前.com VPS #1CPU | お名前.com VPS #2CPU |
---|
1 | 1110.3 | 1674.1 | 1501.9 | 2506.9 | 1068.6 | 2244.7 | 1488.9 | 2042.5 |
---|
2 | 1107.0 | 1677.2 | 1506.5 | 2478.4 | 1077.6 | 2213.1 | 1509.8 | 2249.0 |
---|
3 | 1122.4 | 1707.7 | 1513.0 | 2594.1 | 1070.7 | 2102.1 | 1486.4 | 2122.8 |
---|
4 | 1128.5 | 1710.1 | 1508.0 | 2619.7 | 1068.2 | 2249.1 | 1511.9 | 2191.2 |
---|
5 | 1133.9 | 1706.8 | 1506.6 | 2514.8 | 1068.7 | 2158.3 | 1508.2 | 2226.5 |
---|
6 | 1131.7 | 1703.4 | 1503.1 | 2612.7 | 1066.6 | 2203.1 | 1526.5 | 2338.5 |
---|
7 | 1141.1 | 1701.7 | 1516.4 | 2576.5 | 1066.5 | 2223.3 | 1516.6 | 2209.4 |
---|
8 | 1135.6 | 1708.3 | 1480.8 | 2472.6 | 1069.2 | 2054.0 | 1531.1 | 2245.2 |
---|
9 | 1144.9 | 1713.2 | 1493.3 | 2614.7 | 1060.0 | 2194.4 | 1524.0 | 2219.1 |
---|
10 | 1149.1 | 1710.5 | 1508.7 | 2501.9 | 1070.0 | 2206.0 | 1525.3 | 2232.6 |
---|
|
最小値 | 1107.0 | 1674.1 | 1480.8 | 2472.6 | 1060.0 | 2054.0 | 1486.4 | 2042.5 |
---|
最大値 | 1149.1 | 1713.2 | 1516.4 | 2619.7 | 1077.6 | 2249.1 | 1531.1 | 2338.5 |
---|
平均値 | 1130.5 | 1701.3 | 1503.8 | 2549.2 | 1068.6 | 2184.8 | 1512.9 | 2207.7 |
---|
中央値 | 1132.8 | 1707.2 | 1506.5 | 2545.7 | 1068.7 | 2204.6 | 1514.2 | 2222.8 |
---|
やっぱり、ここでも ConoHa のUnixBechの数値は良いですね。
他のVPSが #2CPUのUnixBnechが乱高下しているのに対して、
お名前.com クラウドは、まだリリースしたばかりで、他の同居ユーザがいなかった?からかもしれませんが、かなり安定しています。
ちなみに、さくらのクラウドが同じスペック(1CPU,1Gメモリ)でのUnixBenchは、 1431.9 だったこと ( さくらのクラウドでUnixBenchとiops を計測した。ついでに、さくらのVPS SSDプランと比較してみました。 参照 )
からすれば、さくらのクラウド よりは、お名前.com クラウドの方が良さそう ではあります。
また、お名前.com VPSの #1CPUとConoHa VPSの#1CPUが、ほぼ同じなのも興味深いです。この値から、#2CPUは、他の同居ユーザによって、かなりぶれるのかなぁという感じもしますね。
もちろん、当たったサーバーにかなり依存してしまうというが大きいと思います。
お名前.com クラウドでディスクパフォーマンスを計測
お名前.com クラウド にて 1vCPU & 1G メモリのサーバーを作成し、IOPS、レイテンシ(ディスクパフォーマンス)を計測してみました。
iops とは、
Input/Output Per Second の略で、簡単に言うと時間あたりの読み書き量を表す単位のことです。
ハードディスクなどの記憶装置の性能指標の一つで、ある条件の元で1秒間に読み込み・書き込みできる回数のことです。
1回の読み書きにかかる時間の逆数で、ハードディスクの場合はシークタイムと回転待ち時間、データ転送時間の和の逆数となります。
実際には、読み込み(リード)か書き込み(ライト)か、シーケンシャルアクセスかランダムアクセスか、
転送するデータの量がどれくらいかによって1回の動作に要する時間が異なるため、「4KBランダムライトIOPS」(4KBのデータをランダムに書き込んだ時のIOPS)のように計測条件を明示することが多いです。
(出典 : http://e-words.jp/w/IOPS.html)
レイテンシとは、
latencyのことで、直訳すると「遅延」という意味になります。
データ転送において、データを要求してから実際に送られてくるまでの待ち時間のことです。この時間が短いほどシステム全体の処理性能は高くなります。
(出典 : http://e-words.jp/w/E383ACE382A4E38386E383B3E382B7.html)
fioのインストールについて
- fioコマンドの最新ファイルをダウンロードする。
$ wget http://freecode.com/urls/3aa21b8c106cab742bf1f20d60629e3f -O fio.tar.gz
...
|
適当なディレクトリで解凍しておきます。
$ tar xfz fio.tar.gz
...
|
- fioをコンパイルする。
fioをコンパイルするには、makeおよびgcc、libaioが必要になります。
前準備として以下のツールをインストールします。
CentOS/ScientificLinux の場合
$ yum -y install make gcc libaio-devel
...
|
Debian/Ubuntu の場合
$ apt-get -y install make gcc perl libaio-dev
...
|
準備を終えたら、続けてmakeを実行します。
実行するディレクトリは、先にfioを解凍したディレクトリで実行します。
$ cd fio-2.1.10
[fio-2.1.10]$ make
...
|
ここでエラーがでない場合は、インストールします。
[fio-2.1.10]$ make install
install -m 755 -d /usr/local/bin
...
|
fioコマンドが使えるか確認します。
[fio-2.1.10]$ fio --version
fio-2.1.10
|
fioのパラメータについて
fioのパラメータは、読み込み、書き込み それぞれ さくらインターネットで使用されているパラメータと同じものを使用(詳細は、以下参照)します。
以下は、さくらインターネットで計測された際の fioコマンドのパラメータ設定ファイルになります。
- 書き込みパフォーマンスを確認したfioパラメータ設定ファイル
ファイル名:randwrite.fio
[global]
ioengine=libaio
direct=1
invalidate=1
group_reporting
directory=/home
filename=test.bin
runtime=60
[Rand-Write-4k-qd32]
readwrite=randwrite
size=4G
bs=4k
iodepth=32
numjobs=1
|
- 読み込みパフォーマンスを確認したfioパラメータ設定ファイル
ファイル名:randread.fio
[global]
ioengine=libaio
direct=1
invalidate=1
group_reporting
directory=/home
filename=test.bin
runtime=60
[Rand-Read-4k-qd32]
readwrite=randread
size=4G
bs=4k
iodepth=32
numjobs=1
|
[ fioパラメータの意味 ]
ioengine
jobで使用するIOを定義します。
- libaio : Linuxネイティブの非同期I/O
direct
true(or 1) を指定した場合、I/Oバッファは使用しません。(usually O_DIRECT)。デフォルト:false( or 0)。
invalidate
ファイルへの読み書きを始める際にバッファ・キャッシュを無効にします。デフォルト:true( or 1)。
group_reporting
これが設定された場合、numjobsが指定されている時に、ジョブごとの代わりにグループ単位のレポートを出力します。
directory
これが設定された場合、numjobsが指定されている時に、ジョブごとの代わりにグループ単位のレポートを出力します。
filename
fioで使用する ファイル名を指定します。通常、ジョブ名、スレッド番号、ファイル番号に基づいたファイル名になります。このファイル名でテスト用のファイルが作成されます。
runtime
指定した秒数後に処理を終了します。
readwrite
読み書きのパターンを以下のタイプで指定します。
- read : Sequential reads.
- write : Sequential writes.
- randread : Random reads.
- randwrite : Random writes.
- rw : Mixed sequential reads and writes.
- randrw : Mixed random reads and writes.
size
このジョブの読み書きの総サイズを指定します。
blocksize(or bs)
I/Oユニットのブロックサイズを指定します。デフォルト 4Kです。
iodepth
ファイルに対して非同期で同時に要求するI/Oユニット数を指定します。
numjobs
このジョブのクローンの数を指定します。デフォルト 1です。
上記のfio パラメータファイルは、fioコマンドで、以下のように指定することができます。
$ fio randread.fio
Rand-Read-4k-qd32: (g=0): rw=randread, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=32
fio-2.0.13
..
|
fioの実施結果
以下の一覧表、およびグラフは、10回連続で実施し、IOPS、レイテンシ だけをそれぞれ抜粋したものです。
詳細表示切替
IOPS
回数 | お名前.comクラウド (Read) | ConoHa (Read) | さくら(Read) | お名前.com VPS(Read) | お名前.comクラウド (Write) | ConoHa (Write) | さくら(Write) | お名前.com VPS (Write) |
---|
1 | 26662 | 11516 | 3122 | 19050 | 1762 | 2658 | 1782 | 2752 |
---|
2 | 23464 | 2728 | 3337 | 2973 | 1999 | 2921 | 3297 | 3553 |
---|
3 | 22907 | 2700 | 3384 | 2972 | 2027 | 2889 | 3316 | 3576 |
---|
4 | 22991 | 2879 | 3204 | 3034 | 2025 | 2766 | 3281 | 3320 |
---|
5 | 22996 | 2898 | 3369 | 3006 | 2031 | 2818 | 3323 | 3576 |
---|
6 | 22672 | 2524 | 3294 | 2990 | 2031 | 2938 | 3303 | 3476 |
---|
7 | 22807 | 2637 | 3347 | 2981 | 2051 | 2836 | 3302 | 3532 |
---|
8 | 22697 | 6913 | 3261 | 2961 | 2047 | 2841 | 3329 | 3530 |
---|
9 | 22660 | 2286 | 3196 | 2990 | 2043 | 2648 | 1612 | 3414 |
---|
10 | 22493 | 2684 | 3259 | 3029 | 2044 | 2803 | 3259 | 3451 |
---|
|
最小値 | 22493 | 2286 | 3122 | 2961 | 1762 | 2648 | 1612 | 2752 |
---|
最大値 | 26662 | 11516 | 3384 | 19050 | 2051 | 2938 | 3329 | 3576 |
---|
平均値 | 23235 | 3976 | 3277 | 4599 | 2006 | 2812 | 2980 | 3418 |
---|
中央値 | 22857 | 2714 | 3278 | 2990 | 2031 | 2827 | 3300 | 3503 |
---|
詳細表示切替
レイテンシ(ms)
回数 | お名前.com(C) (Read) | ConoHa (Read) | さくら(Read) | お名前.com(V) (Read) | お名前.com(C) (Write) | ConoHa (Write) | さくら(Write) | お名前.com(V) (Write) |
---|
1 | 1.2 | 2.8 | 10.2 | 1.7 | 18.1 | 12.0 | 18.0 | 11.6 |
---|
2 | 1.4 | 11.7 | 9.6 | 10.8 | 16.0 | 11.0 | 9.7 | 9.0 |
---|
3 | 1.4 | 11.8 | 9.5 | 10.8 | 15.8 | 11.1 | 9.6 | 8.9 |
---|
4 | 1.4 | 11.1 | 10.0 | 10.5 | 15.8 | 11.6 | 9.7 | 9.6 |
---|
5 | 1.4 | 11.0 | 9.5 | 10.6 | 15.8 | 11.3 | 9.6 | 8.9 |
---|
6 | 1.4 | 12.7 | 9.7 | 10.7 | 15.7 | 10.9 | 9.7 | 9.2 |
---|
7 | 1.4 | 12.1 | 9.6 | 10.7 | 15.6 | 11.3 | 9.7 | 9.1 |
---|
8 | 1.4 | 4.6 | 9.8 | 10.8 | 15.6 | 11.3 | 9.6 | 9.1 |
---|
9 | 1.4 | 14.0 | 10.0 | 10.7 | 15.7 | 12.1 | 19.8 | 9.4 |
---|
10 | 1.4 | 11.9 | 9.8 | 10.6 | 15.6 | 11.4 | 9.8 | 9.3 |
---|
|
最小値 | 1.2 | 2.8 | 9.5 | 1.7 | 15.6 | 10.9 | 9.6 | 8.9 |
---|
最大値 | 1.4 | 14.0 | 10.2 | 10.8 | 18.1 | 12.1 | 19.8 | 11.6 |
---|
平均値 | 1.4 | 10.4 | 9.8 | 9.8 | 16.0 | 11.4 | 11.5 | 9.4 |
---|
中央値 | 1.4 | 11.8 | 9.8 | 10.7 | 15.7 | 11.3 | 9.7 | 9.1 |
---|
VPSの各値が、かなりばらついているのに対して、お名前.com クラウドは、かなり安定していますね。
やっぱり、他の同居ユーザがいないか、まだ、本格的に利用していないのでしょうね。
また、お名前.com クラウドは、無負荷?状態というのもあると思いますが、かなり読み込みのパフォーマンスは良さそうです。
しかし、書き込みについては、各VPSにも劣る?かなぁという感じです。
ちなみに さくらのクラウドでは、以下のような値でした。( さくらのクラウドでUnixBenchとiops を計測した。ついでに、さくらのVPS SSDプランと比較してみました。 参照 )
IOPS(R) : 6,000
IOPS(W) : 1,497
レイテンシ(R) : 4 (ms)
レイテンシ(W) : 1 (ms)
|
この値からすると、読み込みは、お名前.com クラウドの方がかなり良いですが、書き込みについては、そうでもないようです。
全体的なディスクパフォーマンスは、僅差ながら、さくらのVPSが良いようです。
また、ばらつき具合も概ね落ち着いています。
お名前.com クラウドのパフォーマンス総括
最後に、お名前.com クラウド 1vCPU & 1G メモリ のパフォーマンスを、各VPS と簡単に比較してみました。
項目 |
お名前.comクラウド 1G |
ConoHa VPS 1G |
さくらのVPS 1G |
お名前.com VPS 1G |
UnixBench |
1コア |
1,133 |
1,507 |
1,069 |
1,514 |
2コア |
1,707 |
2,546 |
2,205 |
2,223 |
IOPS |
ランダムリード |
22,857 |
2,714 |
3,278 |
2,990 |
ランダムライト |
2,031 |
2,827 |
3,300 |
3,503 |
レイテンシ |
ランダムリード |
1.4 |
11.8 |
9.8 |
10.7 |
ランダムライト |
15.7 |
11.3 |
9.7 |
9.1 |
ここまで、個々に比較してきました。
そもそも、用途が異なるので、やっぱり、個々のサーバーのパフォーマンスは VPSの方が上なのは間違いありません。
クラウドは、やっぱり自動化なんだと思います。
複数のサーバーでネットワークを構成し、負荷に応じてサーバーを随時増やしたり、減らしたりすることができるのが魅力であって、
単体のサーバーとして用いることは、あまり、意味があるとは思えません。
それなら、VPSで十分です。
さらに、2,3台のサーバーで良いなら、さくらのVPS、ConoHa VPSは、無料でLAN接続が可能な点を考えても、VPSがかなりお得感はあるでしょう。
ただ、その自動化には、今(2014.11)のお名前.com クラウドは、まだまだ、対応できていないようです。
残念ながら、さくらのクラウドのようにAPIが、まだ、用意されていないようです。
オートスケールアウトなどは、まだまだという感じでしょうか。
価格面からすれば、お名前.com クラウドは、さくらのクラウドより割安な設定になっています。
しかし、上記にような機能面からすれば、さくらのクラウドが、若干、割高でも優位性はあると思います。
まあ、リリースされたばかりですから、今後に期待というところではないでしょうか。
2014.11.17にリリースされたばかりの お名前.comクラウドを、早速、使ってみました。
リリースされたばかりというのもあって、他のVPSやクラウドと比較するには、あまりにスカスカな感じは否めないというところでしょうか。
しかし、価格・サーバースペックからすれば、さくらのクラウドと良い勝負だと思います。
後発であることから、サーバーのスペック的には、さくらのクラウドより良さそうなのは想像できます。
ただ、やっぱりAPIが、これから、どれだけ提供されていくか、オートスケーリングなどのサービスが提供されるのか、などが、ポイントになってくるでしょうね。
また、今回は、比較のために、久しぶりに お名前.com VPS(KVM) も使ってみました。
相変わらず、1Gプランは、かなりコストパフォーマンスが良いですね。
今回当たったサーバーは、普通のサーバーのようでしたが、これでも十分、さくらのVPSに勝っていますからね、やっぱり、なんだかんだ言ってもすごいと思いますね。
ここで紹介したVPSに興味のある方は、以下からどうぞ。
お名前.comクラウドの詳しい情報や試してみたい方は、https://www.onamae-cloud.com/ からどうぞ。
ConoHa VPSの詳しい情報や試してみたい方は、http://www.conoha.jp/ からどうぞ。
さくらのVPSの詳しい情報や試してみたい方は、http://vps.sakura.ad.jp/ からどうぞ。
お名前.com VPS(KVM)の詳しい情報や試してみたい方は、http://www.onamae-server.com/vps/ からどうぞ。