IDCFクラウドハードウェア専有「超高速マシン」のベンチマーク

IDCFクラウドから、Fusion-io社のioMemory PXを搭載したハードウェアを専有するタイプの「超高速マシン」HighIO.5XL128がリリースされました。

・IDCFクラウド「ioMemory搭載専有サーバー」他、新機能のお知らせ
http://www.idcf.jp/topics/20141119001.html

Fusion社ioMemoryシリーズの特徴は以下など。

・サンディスク、「Fusion ioMemory SX350」の優位性をアピール
http://www.itmedia.co.jp/pcuser/articles/1505/11/news147.html

僕はふだんはロースペックのサーバーのベンチマークをとることが多いのですが、今回はこの一番ハイスペックマシンのベンチマークをとってみました。
また、比較のため、IDCFクラウドの専有タイプではないハイスペックなサーバーと、ニフティクラウドで一番ハイスペックなサーバーも合わせてベンチマークをとりました。

ベンチマークツールは、僕がいつも使っているunixbench, dbenchのほか、今回はfio, sysbenchも使ってみました。

ベンチマーク対象のサーバータイプ、スペックと対象ディスクは次のとおりです。

サーバータイプ スペック 対象ディスク 月額料金(税抜)
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB ローカルディスク800GB 179,300円
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 追加データディスク100GB 62,300円
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 追加データディスク100GB 75,500円
ニフティクラウド wlarge64 8vCPU, メモリ64GB 追加Disk200 100GB 244,100円

 

※上記の月額料金は、ルートディスク、追加ディスク分を含みます。

isdベンチマークテストの基本的な条件

  • 使用ゾーンは、IDCFクラウドがtesla、ニフティクラウドが東日本リージョンeast-14
  • 計測対象のサーバーOSは、CentOS 6.5 (64bit)
  • IDCFクラウド 5XL128は800GBのローカルディスク、それ以外のサーバーは、100GBの追加ディスクに対してベンチマークをとる。
  • ベンチマークツールは、サーバー(CPU)性能計測のunixbench、ディスク性能計測のdbenchとfio、データベース性能計測のsysbench
  • 計測日時は、2014年11月25日14時50分から18時にかけて。全サーバー同時に実施した。

※念のため、翌11月26日のほぼ同じ時間帯でも計測しましたが、fioの一部テストを除き、大きな違いはありませんでした。

isdサーバー性能(CPU性能)unixbench比較

System Benchmarks Index Score

unixbenchの全テスト項目のスコアは次のとおりです。

サーバータイプ スペック single cpu multi cpu
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 1592.6 10114.0
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 1748.8 5660.2
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 1721.1 7613.5
ニフティクラウド wlarge64 8vCPU, メモリ64GB 1912.5 7646.0

 

グラフはこちら(図をクリックすると大きく表示されます)。

unixbench system benchmarks index score

unixbench system benchmarks index score

Dhrystone 2 Index Score

unixbenchのテスト項目の中で、整数演算処理を行い、とくにCPU性能を表す「Dhrystone 2 using register variables」のスコアを比較してみます。

サーバータイプ スペック single cpu multi cpu
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 2792.9 65508.3
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 2995.7 17752.8
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 2997.3 40719.2
ニフティクラウド wlarge64 8vCPU, メモリ64GB 3192.5 25477.9

 

グラフはこちら(図をクリックすると大きく表示されます)。

unixbench dhrystone 2 index score

unixbench dhrystone 2 index score

unixbenchのスコアはCPU性能によるところが大きく、また、Dhrystone 2のmulti cpuのスコアはCPU数に比例して大きくなるそうで、40CPUのIDCFクラウド 5XL128の値がダントツでよいですね。
ニフティクラウド wlarge64, IDCFクラウド 2XL32もCPU数8の割には健闘しているといえます。

isdディスク性能 dbench比較

サーバータイプ スペック dbench 1(MB/s) dbench 4(MB/s)
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 556.574 1403.34
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 163.503 403.546
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 157.976 389.762
ニフティクラウド wlarge64 8vCPU, メモリ64GB 310.097 819.501

 

グラフはこちら(図をクリックすると大きく表示されます)。

dbench throughput

dbench throughput

dbenchの結果も、IDCFクラウド 5XL128がダントツでよいですね。
ニフティクラウド wlarge64も、同じCPU数、メモリのIDCFクラウド XL64と比べると2倍近い値で、よい値といえます。

また、dbenchは1秒ごとにレイテンシが見れるのですが、IDCFクラウド 5XL128はdbench 1ではほぼ1msec未満で安定していました。
低レイテンシだというioMemoryの特徴が出ているといえます。
ニフティクラウド wlarge64は10msec前後で安定、IDCFクラウド XL64,2XL32は5msecから250msecでばらつきがありました。

isdディスク性能 fio比較

ディスク性能については、dbenchだけではなく、fioでもベンチマークをとりました。
fioの条件は次のとおりです。

  • データサイズは1GBと10GBの2タイプで実施する。
  • Seaquential Accessのテストで帯域幅を確認する。ブロックサイズは1MBとする。
  • Random AccessのテストでIOPSを確認する。Read, Writeのほか、Read 50%&Write 50%のMixテストを行う。ブロックサイズは4KBとする。
  • fio共通パラメータ
    • direct=1(IOバッファは使用しない)
    • ioengine=libio(IOエンジンは非同期)
    • iodepth=32(非同期の多重度は32)
    • numjobs=1(同時実行ジョブ数は1)
    • runtime=300(実行時間は300秒)

Seaquential Read/Sequential Write, data size:1GB

サーバータイプ スペック Seaquential Read BandWidth(KB/sec) Seaquential Write BandWidth(KB/sec)
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 1663078 1335398
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 230866 149121
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 326041 175303
ニフティクラウド wlarge64 8vCPU, メモリ64GB 291544 269893

 

グラフはこちら(図をクリックすると大きく表示されます)。

fio sequential access bandwidth, data size: 1GB, block size; 1MB

fio sequential access bandwidth, data size: 1GB, block size; 1MB

Random Read/Random Write, data size:1GB

サーバータイプ スペック Random Read IOPS Random Write IOPS
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 32951 26078
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 28187 13391
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 3253 13934
ニフティクラウド wlarge64 8vCPU, メモリ64GB 60119 36207

 

グラフはこちら(図をクリックすると大きく表示されます)。

fio random access IOPS, data size: 1GB, block size: 4KB

fio random access IOPS, data size: 1GB, block size: 4KB

Random Read50% & Write50% Mixed, data size:1GB

サーバータイプ スペック Read IOPS Write IOPS
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 14661 14638
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 1228 1227
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 2785 2781
ニフティクラウド wlarge64 8vCPU, メモリ64GB 24500 24461

 

グラフはこちら(図をクリックすると大きく表示されます)。

fio random read 50%&write 50% mixed access IOPS, data size: 1GB, block size: 4KB

fio random read 50%&write 50% mixed access IOPS, data size: 1GB, block size: 4KB

Seaquential Read/Sequential Write, data size:10GB

サーバータイプ スペック Seaquential Read BandWidth(KB/sec) Seaquential Write BandWidth(KB/sec)
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 1755750 1263104
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 89090 161921
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 245077 147823
ニフティクラウド wlarge64 8vCPU, メモリ64GB 241860 260942

 

グラフはこちら(図をクリックすると大きく表示されます)。

fio sequential access bandwidth, data size: 10GB, block size: 1MB

fio sequential access bandwidth, data size: 10GB, block size: 1MB

Random Read/Random Write, data size:10GB

サーバータイプ スペック Random Read IOPS Random Write IOPS
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 32371 23269
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 2955 3485
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 3110 5503
ニフティクラウド wlarge64 8vCPU, メモリ64GB 10099 24279

 

グラフはこちら(図をクリックすると大きく表示されます)。

fio random access IOPS, data size: 10GB, block size: 4KB

fio random access IOPS, data size: 10GB, block size: 4KB

Random Read50% & Write50% Mixed, data size:10GB

サーバータイプ スペック Read IOPS Write IOPS
IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 14485 14478
IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 1527 1528
IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 2043 2042
ニフティクラウド wlarge64 8vCPU, メモリ64GB 9383 9377

 

グラフはこちら(図をクリックすると大きく表示されます)。

fio random access read 50%&write 50% mixed access IOPS, data size 10GB, block size: 4KB

fio random access read 50%&write 50% mixed access IOPS, data size 10GB, block size: 4KB

Seaquential Accessによる帯域幅はIDCFクラウド 5XL128が1Gbps超の桁違いの値が出ました。

Random Accessについては、ioMemoryがとくに得意とするはずなのですが、データサイズ1GBでは、ニフティクラウド wlarge64がIDCFクラウド 5XL128を上回りました。
データサイズ10GBでは、ReadはIDCFクラウド 5XL128が、Writeはニフティクラウド wlarge64が勝る形となり、Read/WriteのMixed Accessでは、IDCFクラウド 5XL128が勝りました。

といいますか、IDCFクラウド 5XL128はデータサイズが1GBでも10GBでもほぼ同じな値なのですが、ニフティクラウド wlarge64は(IDCFクラウド XL64, 2XL32も)データサイズが10GBになると値がかなり落ち込んでいます。
このような結果となった原因はよくわかりませんが、ニフティクラウドのほうはデータサイズが大きいとキャッシュからあふれてその効果がなくなる、などが考えられるでしょうか?

なお、IDCFクラウド XL64については、Random Read 1GBで極端に低い値となりました。
翌日計測したときは他のサーバータイプと同じ桁の値となりましたが、XL64, 2LX32のRandom Read, Random Writeは2日間の計測値に少しばらつきが出ました。

isdデータベース性能 sysbench比較

sysbenchでMySQLサーバーの性能を計測しました。
条件は次のとおりです。

  • スレッド数4, 16, 300, 1000のそれぞれについて、読み込みのみ(Read Only)と読み書き(Read-Write)の2パターンのテストを行う。
  • テストパターンごとに、データレコードの作成、ウォームアップのため、スレッド数16 (Read Only)のテストを実行、テストパターンの実行、データレコードの削除を行う。
  • MySQLサーバーは、MySQL Community Server 5.6.19(少し古い)。
  • データベースエンジンはInnoDB。
  • テスト用レコード数は100万、最大実行時間は2分。
  • コンフィグ/etc/my.cnfは次のとおり。
  • [mysqld]
    datadir=/var/lib/mysql
    user=mysql
    max_connections = 1500
    thread_cache_size = 1500
    innodb_buffer_pool_size = 64G // 搭載メモリの半分に変更
    innodb_log_file_size = 512M
    skip-name-resolve
    

    テスト実行コマンド例は次のとおりです(スレッド数4)。

    $ sysbench --test=oltp \
    --oltp-test-mode=complex --oltp-table-size=1000000 \
    --num-threads=4 --max-time=120 \
    --mysql-host=localhost --mysql-table-engine=innodb \
    --mysql-user=test --mysql-password=test run
    

    Read Only

    値はTransactions per secです。

    サーバータイプ スペック 4スレッド 16スレッド 300スレッド 1000スレッド
    IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 2618.28 8687.09 10016.92 6824.14
    IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 2911.00 4888.04 5001.79 4537.5
    IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 2834.67 9811.2 8024.74 6503.2
    ニフティクラウド wlarge64 8vCPU, メモリ64GB 3084.13 5908.65 5431.27 4948.12

     

    グラフはこちら(図をクリックすると大きく表示されます)。

    sysbench (Read Only) transactions per sec

    sysbench (Read Only) transactions per sec

    Read-Write

    値はTransactions per secです。

    サーバータイプ スペック 4スレッド 16スレッド 300スレッド 1000スレッド
    IDCFクラウド 5XL128 2.492GHz x 40CPU, メモリ128GB 1654.03 8687.09 6018.55 1854.69
    IDCFクラウド XL64 2.24GHz x 8CPU, メモリ64GB 812.07 4888.04 3706.23 2366.23
    IDCFクラウド 2XL32 2.6GHz x 16CPU, メモリ32GB 885.62 9811.20 5508.74 2523.77
    ニフティクラウド wlarge64 8vCPU, メモリ64GB 1198.00 5908.65 3839.58 2583.58

     

    グラフはこちら(図をクリックすると大きく表示されます)。

    sysbench (Read-Write) transactions per sec

    sysbench (Read-Write) transactions per sec

    IDCFクラウド 5XL128(CPU数40)と2LX32(CPU数16)が同じような値となりました。
    また、CPU数8のニフティクラウド wlarge64とIDCFクラウド XL64が同じような値となりました。
    今回の条件では、sysbenchの結果はCPU数に大きく影響を受けているといえます。

    データサイズ(レコード数)が少なすぎて、IDCFクラウド 5XL128のポテンシャルを引き出せなかったのかもしれません。。
    また、MySQLのパラメーターも今回はすごくシンプルにしたのですが、ハイスペックマシンの性能をより引き出すようなチューニングの余地があるでしょう。

    isdまとめ

    IDCFクラウドのハードウェア専有「超高速マシン」HighIO.5XL128に対して、unixbench, dbench, fio, sysbenchによるベンチマークテストを行い、IDCFクラウドやニフティクラウドのハイスペックサーバータイプと比較しました。

    一部テストでは、ニフティクラウド wlarge64が上回りましたが、おおむね、IDCFクラウド 5XL128が一番よい値となりました。
    また、2日間のテストでも、ハードウェア専有タイプということもあってか、値が安定している印象を受けました(この点は、ニフティクラウドのwlarge64も同様です)。

    IDCFクラウド 5XL128はローカルディスクサイズ800GB、CPUを40、メモリを128GB搭載しているので、大容量のデータを扱う場合に真価を発揮することでしょう。

    なお、今回のテスト1回あたりにかかった料金は、

    IDCFクラウドは、5XL128, XL64, 2XL128の3台合計で約3,300円。
    ニフティクラウドは、wlarge64の1台で約1,900円。

    です。
    どちらも、キャンペーンの無料クーポン分でまかなえました。

    ※ベンチマークツールがインストール済みのテンプレートOSの料金は含んでいません。

    高性能のサーバーを簡単に調達して短時間だけ利用できるのも、クラウドサービスの利点ですね。
    オンプレミスからクラウドへの移行などで性能が出るかどうか気になる場合は、システム(の一部)を実際に載せてみて確認するとよいと思います。

    (関連記事)
    ・新サービスIDCFクラウドのベンチマーク~IDCF従来のサービスやニフティクラウドType-eとの比較
    https://inaba-serverdesign.jp/blog/20141031/idcfcloud_benchmark_vs_nifty.html

    Follow me!