gracetory’s blog

東池袋にある合同会社グレストリのエンジニアブログです

IaaSベンチマークVer2018.10

f:id:grnishi:20181015114549j:plain

はじめに

どうも。インフラ担当のgrnishiです。割とクイズ好きです。

実は週末はパネルクイズアタック25の予選会に参加します。一説によると予選会に参加できるのは応募者の約4分の1との事。

予選は8分で30問の筆記テストとプロフィールシートから面接に進めるかどうか決まるとか。これが約5分の1ぐらいらしい。

私はテレビ的に見栄えが悪いのでやや不利だとは思いますが、全力でがんばりたいと思います!

さて、前回IaaSベンチマークを取ったのが1年前。あれから1年経ったという事なので、最新版をまた計測してみようと思います。

techblog.gracetory.co.jp

大事なことなので今回も(前回のコピペ)

本エントリは特定のIaaS業者をよいしょしたり否定したりするものではありません。

サーバの性能はインフラを選定する上で重要な情報ではありますが、それだけが全てでは無いと思っております。

金額、障害の有無、サポート、提供されている機能、管理コンソールの使い勝手、営業担当の対応、APIの有無、ロケーション、規模の大小、今後の成長性などなど挙げればキリが無いほど選定に関わる情報が多いと思います。

また、単純なコマンドによる測定をしているだけですので、スペックとしてこれが全てではありませんし、実運用環境にてそのままこの結果が当てはまるものではありません。お使いのアプリケーションによってどのような計測方法が最適なのか?というのはしっかりと認識する必要はあります。

ですので本エントリは選定の際の材料というよりは、数ある比較項目の一つとして参考程度に捉えてもらえれば幸いです。

計測する対象IaaSとインスタンスタイプ

基本的な対象は前回と同じですが、今回はいくつか変更しております。

  • Alibaba cloudを追加
  • IBM Cloudを追加
  • Cloud nを削除
ベンダー リージョン サーバタイプ OS CPU メモリ ストレージ
Google Cloud Platform asia-northeast1-a n1-standard-1 CentOS 6.9 1vCPU (Xeon @ 2.20GHz) 3.75 GB SSD 15GB
Google Cloud Platform asia-northeast1-a n1-standard-4 CentOS 6.9 4vCPU (Xeon @ 2.20GHz) 15 GB SSD 15GB
amazon web service 東京 t2.micro Amazon Linux 1vCPU (E5-2676 v3 @ 2.40GHz) 1 GB 汎用SSD(GP2) 8GiB
amazon web service 東京 t2.xlarge Amazon Linux 4vCPU (E5-2686 v4 @ 2.30GHz) 16 GB 汎用SSD(GP2) 8GiB
azure 東日本 B1s CentOS 6.9 1vCPU (E5-2673 v4 @ 2.30GHz) 1 GB 32GiB
azure 東日本 B4ms CentOS 6.9 4vCPU (E5-2673 v4 @ 2.30GHz) 16 GB 32 GiB
さくらのクラウド 東京 - CentOS 6.10 1vCPU (E5-2650 v3 @ 2.30GHz) 1 GB SSD 20GB
さくらのクラウド 東京 - CentOS 6.10 4vCPU (E5-2650 v3 @ 2.30GHz) 16 GB SSD 20GB
IDCF Cloud 東日本2 Light.S1 CentOS 6.10 1vCPU (E5-2697A v4 @ 2.60GHz) 1 GB フラッシュディスク15GB
IDCF Cloud 東日本2 standard.L16 CentOS 6.10 4vCPU (E5-2697A v4 @ 2.60GHz) 16 GB フラッシュディスク15GB
ニフクラ east12 small CentOS 6.9 1vCPU (E5-2697A v4 @ 2.60GHz) 1 GB フラッシュディスク30GB
ニフクラ east12 large16 CentOS 6.9 4vCPU (E5-2697A v4 @ 2.60GHz) 16 GB フラッシュディスク30GB
Alibaba Cloud アジア東北1(東京) xn4.small 1vCPU (E5-2682 v4 @ 2.50GHz) 1 GB SSD 40GiB
Alibaba Cloud アジア東北1(東京) sn2ne.xlarge 4vCPU 16 GB SSD 40GiB
IBM Cloud Tokyo2 C1.1x1 CentOS6.10 1vCPU (E5-2683 v3 @ 2.00GHz) 1GB 25GB
IBM Cloud Tokyo2 B1.4x16 CentOS6.10 4vCPU (E5-2683 v4 @ 2.10GHz) 16GB 25GB

計測する項目

前回の項目に、MySQLの処理とPHPの実行時間を加えてみました。

  • unixbench
  • stream
  • dbench
  • speedtest-cli
  • sysbench(oltpのみ)
  • PHP7.2の実行時間(フィボナッチ数列、素数判定、md5算出
    • 40番目のフィボナッチ数列を求める
    • 500000まで素数判定
    • 5000000回md5算出

インストールとセットアップ

各インスタンスを立ち上げて、下記インストールだけ行ってから計測しております。

下準備のインストール

yum install -y gcc perl-Time-HiRes popt-devel autoconf git

unixbenchのインストール

cd /usr/local/src/
git clone https://github.com/kdlucas/byte-unixbench

streamのインストール

cd /usr/local/src/
mkdir stream
cd stream
wget http://www.cs.virginia.edu/stream/FTP/Code/stream.c
gcc -O stream.c -o stream

dbenchのインストール

cd /usr/local/src/
wget http://samba.org/ftp/tridge/dbench/dbench-4.0.tar.gz
tar zxvf dbench-4.0.tar.gz
cd dbench-4.0
./autogen.sh
./configure
make
make install

speedtest-cliのインストール

cd /usr/local/src/
mkdir speedtest
cd speedtest/
wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli

sysbenchのインストール

yum -y install sysbench

mysqlのインストール

rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
yum install -y mysql-community-server
/etc/rc.d/init.d/mysqld start
less /var/log/mysqld.log | grep password  # 初期パスワード調べる
mysql_secure_installation
mysql -u root -p
mysql > create database sbtest;
mysql > GRANT ALL ON sbtest.* TO 'sbtest'@'localhost' IDENTIFIED BY '********';
sysbench /usr/share/sysbench/oltp_read_write.lua --db-driver=mysql --table-size=1000000 --mysql-host=localhost --mysql-password=******** --time=60 --db-ps-mode=disable prepare

phpのインストール

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum install -y --enablerepo=remi,remi-php72 php php-devel
<?php
$fib_number = 40;
$prime_number = 500000;
$md5_number = 5000000;

function bench() {
  return microtime(true);
}
function fib($n) {
  if ($n <= 1) {
     return $n;
  }
  return fib($n - 1) + fib($n - 2);
}
function is_prime($i, $arr){
  foreach($arr as $value){
    $mod = $i % $value;
    if($mod === 0){return false;}
  }
  return true;
}
$start = bench();
$fib = fib($fib_number);
$time = bench() - $start;
echo "fib = " . (bench() - $start) . " sec.\n";

$start = bench();
$arr = [2];
for ($i = 3; $i < $prime_number; $i++) {
  if (is_prime($i, $arr)) {
    $arr[] = $i;
  }
}
echo "prime = " . (bench() - $start) . " sec.\n";

$str = bin2hex(random_bytes(2048));
$start = bench();
for ($i = 0; $i <  $md5_number; $i++) {
  md5($str);
}
echo "md5 = " . (bench() - $start) . " sec.\n";

結果

unixbench

実行コマンド

cd /usr/local/src/byte-unixbench/UnixBench/
./Run
ベンダー リージョン サーバタイプ Single Multi
Google Cloud Platform asia-northeast1-a n1-standard-1 1006.0 -
Google Cloud Platform asia-northeast1-a n1-standard-4 839.8 2172.2
amazon web service 東京 t2.micro 1319.0 -
amazon web service 東京 t2.xlarge 1180.9 3512.4
microsoft azure 東日本 B1s 977.8 -
microsoft azure 東日本 B4ms 836.0 2722.4
さくらのクラウド 東京 1仮想コア 958.7 -
さくらのクラウド 東京 4仮想コア 880.1 2704.9
IDCF Cloud 東日本2 light.S1 348.7 -
IDCF Cloud 東日本2 standard.L16 2965.0 2965.0
ニフクラ east12 small 143.9 -
ニフクラ east12 large16 1885.9 4486.0
Alibaba Cloud アジア東北1(東京) xn4.small 1637.1 -
Alibaba Cloud アジア東北1(東京) sn2ne.xlarge 1473.7 3133.7
IBM Cloud Tokyo2 C1.1x1 210.0 -
IBM Cloud Tokyo2 B1.4x16 267.4 879.3

f:id:grnishi:20181016105112p:plain

stream

実行コマンド

cd /usr/local/src/stream/
./stream

※単位:MB/s

ベンダー リージョン サーバタイプ Copy Scale Add Triad
Google Cloud Platform asia-northeast1-a n1-standard-1 8203.0 8063.4 8830.3 8738.7
Google Cloud Platform asia-northeast1-a n1-standard-4 9514.8 9035.4 10297.3 10213.6
amazon web service 東京 t2.micro 10556.9 10834.3 11614.4 11742.2
amazon web service 東京 t2.xlarge 10615.0 10499.4 10855.3 11013.2
microsoft azure 東日本 B1s 9345.2 8999.9 9872.0 9578.1
microsoft azure 東日本 B4ms 9474.2 9603.9 10382.9 9973.9
さくらのクラウド 東京 1コア1GB 10217.1 10232.7 11574.1 11126.6
さくらのクラウド 東京 4コア16GB 8466.5 8483.9 9542.0 9133.1
IDCF Cloud 東日本2 light.S1 9095.6 8926.5 9473.1 9352.7
IDCF Cloud 東日本2 standard.L16 8889.9 8572.6 9332.3 9154.4
ニフクラ east12 small 10037.7 9824.9 10509.7 10393.6
ニフクラ east12 large16 10085.0 9942.9 10486.7 10186.3
Alibaba Cloud アジア東北1(東京) xn4.small 8172.4 8152.5 8927.2 8811.2
Alibaba Cloud アジア東北1(東京) sn2ne.xlarge 8461.6 8356.4 9066.2 8810.6
IBM Cloud Tokyo2 C1.1x1 8767.1 8829.5 9878.2 9549.6
IBM Cloud Tokyo2 B1.4x16 7178.7 7110.5 7759.1 7691.0

f:id:grnishi:20181016105116p:plain

dbench

cd /usr/local/src/dbench-4.0/
./dbench 1
./dbench 4

※単位:MB/s

ベンダー リージョン サーバタイプ Process 1 Process2
Google Cloud Platform asia-northeast1-a n1-standard-1 135.903 303.111
Google Cloud Platform asia-northeast1-a n1-standard-4 117.749 340.345
amazon web service 東京 t2.micro 199.801 439.751
amazon web service 東京 t2.xlarge 210.446 654.293
microsoft azure 東日本 B1s 17.874 27.393
microsoft azure 東日本 B4ms 17.990 26.564
さくらのクラウド 東京 1コア1GB 79.285 201.731
さくらのクラウド 東京 4コア16GB 69.348 209.001
IDCF Cloud 東日本2 light.S1 135.566 172.810
IDCF Cloud 東日本2 standard.L16 667.941 466.466
ニフクラ east12 small 171.544 745.366
ニフクラ east12 large16 344.514 984.614
Alibaba Cloud アジア東北1(東京) xn4.small 139.343 316.264
Alibaba Cloud アジア東北1(東京) sn2ne.xlarge 132.621 292.973
IBM Cloud Tokyo2 C1.1x1 62.043 106.527
IBM Cloud Tokyo2 B1.4x16 54.073 121.028

f:id:grnishi:20181016105119p:plain

speedtest-cli

実行コマンド

cd /usr/local/src/speedtest/
./speedtest-cli --list | grep Tokyo
./speedtest-cli --server 15047 --simple

※15047というのはリストからTokyoを探して選んでいます。

※単位: ms(ping)、Mbit/s(download,upload)

ベンダー リージョン サーバタイプ ping download upload
Google Cloud Platform asia-northeast1-a n1-standard-1 13.652 3363.17 1384.48
Google Cloud Platform asia-northeast1-a n1-standard-4 3.995 2390.95 669.17
amazon web service 東京 t2.micro 5.995 413.77 561.61
amazon web service 東京 t2.xlarge 5.095 810.86 697.72
microsoft azure 東日本 B1s 11.717 1344.76 777.78
microsoft azure 東日本 B4ms 4.320 2071.02 854.73
さくらのクラウド 東京 1コア1GB 32.830 1240.16 95.70
さくらのクラウド 東京 4コア16GB 41.928 1956.74 97.05
IDCF Cloud 東日本2 light.S1 6.377 2291.06 1549.71
IDCF Cloud 東日本2 standard.L16 5.000 2152.99 1637.42
ニフクラ east12 small 29.866 2335.56 1717.54
ニフクラ east12 large16 30.571 3379.91 1804.03
Alibaba Cloud アジア東北1(東京) xn4.small 7.125 392.64 5.73
Alibaba Cloud アジア東北1(東京) sn2ne.xlarge 2.770 316.42 4.57
IBM Cloud Tokyo2 C1.1x1 4.155 1117.77 950.46
IBM Cloud Tokyo2 B1.4x16 27.668 1723.54 886.22

f:id:grnishi:20181016105123p:plain

1す

実行コマンド

sysbench /usr/share/sysbench/oltp_read_write.lua --db-driver=mysql --table-size=100000 --mysql-host=localhost --mysql-password=******** --time=60 --db-ps-mode=disable --threads=1 run
sysbench /usr/share/sysbench/oltp_read_write.lua --db-driver=mysql --table-size=100000 --mysql-host=localhost --mysql-password=******** --time=60 --db-ps-mode=disable --threads=8 run
sysbench /usr/share/sysbench/oltp_read_write.lua --db-driver=mysql --table-size=100000 --mysql-host=localhost --mysql-password=******** --time=60 --db-ps-mode=disable --threads=64 run

※単位: トランザクション数/分

※my.cnfはデフォルトのまま

ベンダー リージョン サーバタイプ thread1 thread8 thread64
Google Cloud Platform asia-northeast1-a n1-standard-1 9603 19983 20495
Google Cloud Platform asia-northeast1-a n1-standard-4 10016 59815 73893
amazon web service 東京 t2.micro 14907 26555 24585
amazon web service 東京 t2.xlarge 15703 81527 92483
microsoft azure 東日本 B1s 1588 8120 16994
microsoft azure 東日本 B4ms 1652 8469 47198
さくらのクラウド 東京 1コア1GB 6942 15765 16492
さくらのクラウド 東京 4コア16GB 5797 36659 73971
IDCF Cloud 東日本2 light.S1 6697 7690 7785
IDCF Cloud 東日本2 standard.L16 13359 64438 88165
ニフクラ east12 small 19921 28747 27323
ニフクラ east12 large16 21148 91336 113294
Alibaba Cloud アジア東北1(東京) xn4.small 12925 24494 23668
Alibaba Cloud アジア東北1(東京) sn2ne.xlarge 11413 54379 75957
IBM Cloud Tokyo2 C1.1x1 5979 8411 8097
IBM Cloud Tokyo2 B1.4x16 5985 34475 36995

f:id:grnishi:20181016105127p:plain

php

実行コマンド

php bench.php

※単位: 秒

ベンダー リージョン サーバタイプ fib prime md5
Google Cloud Platform asia-northeast1-a n1-standard-1 14.66 34.88 42.54
Google Cloud Platform asia-northeast1-a n1-standard-4 15.41 34.56 42.30
amazon web service 東京 t2.micro 15.27 224.74 430.18
amazon web service 東京 t2.xlarge 14.10 41.08 41.24
microsoft azure 東日本 B1s 14.12 32.76 42.14
microsoft azure 東日本 B4ms 14.51 33.13 42.01
さくらのクラウド 東京 1コア1GB 15.77 36.12 43.85
さくらのクラウド 東京 4コア16GB 15.70 36.26 43.47
IDCF Cloud 東日本2 light.S1 35.07 109.25 135.25
IDCF Cloud 東日本2 standard.L16 12.35 28.56 36.17
ニフクラ east12 small 12.47 28.63 36.44
ニフクラ east12 large16 12.71 29.02 36.24
Alibaba Cloud アジア東北1(東京) xn4.small 32.19 62.90 39.19
Alibaba Cloud アジア東北1(東京) sn2ne.xlarge 31.61 62.71 39.15
IBM Cloud Tokyo2 C1.1x1 20.42 46.64 56.74
IBM Cloud Tokyo2 B1.4x16 18.30 44.47 53.32

f:id:grnishi:20181016105109p:plain

さいごに

前回も書きましたが、本結果は各IaaSを選択する際の一つの指標にするものであり、どこが良いとか悪いとかそういう話ではありません。

次回はいつになるかわかりませんが、もう少し検証ベンダーを増やしたいと思います。

それでは良きクラウドライフを。