本文へジャンプします。

オブジェクトストレージをベンチマークしてみた

こんにちは、はじめまして、ニフティクラウド ストレージサービスチームの湊と申します。

ニフティクラウド オブジェクトストレージ」が6月29日にリリースされました。

ニフティクラウド オブジェクトストレージ」は、
インターフェイスとしてREST API(AmazonS3互換)を提供する、容量無制限のストレージサービスです。

詳しい仕様については下記ページをご覧ください。
>ニフティクラウド オブジェクトストレージ

この「オブジェクトストレージ」、はたしてどれぐらいの性能が出るのか、気になるところです。
そこで、リリース間もない「オブジェクトストレージ」の性能測定を行い、具体的な数字を出してみたいと思います。

ニフティクラウド オブジェクトストレージ イメージ

ベンチマークツールについて

性能測定、つまり負荷掛けを行うツールとして「cosbench」を利用します。
S3リクエストによる大量かつマルチな負荷掛けをGUIベースで簡単に行えるツールです。
ご利用は自己責任でお願いいたします。

導入方法

CentOS環境への導入手順を簡単に説明させていただきます。
以下は、cosbenchコントローラー・ドライバーともに共通です。

# wget https://github.com/intel-cloud/cosbench/archive/master.zip
# unzip master.zip
# ln -s cosbench-master cos

cosbenchコントローラー

cosbenchドライバーに負荷掛けを行うよう命令を出すノードです。
一台のみです。

コントローラーとドライバーの設定を行います。
今回はドライバーを7台用いますので、[driver*]セクションを7つ記述する必要があります。

# cd cos/conf
# vi controller.conf
[controller]
drivers = 7...利用するcosbenchドライバーノードの台数。
log_level = DEBUG...ログの出力をデバッグレベルに変更。
log_file = log/system.log...デフォルト。
archive_dir = archive...デフォルト。

[driver1]
name = driver1...ドライバー名。ほかのドライバーと重複しない名前。
url = http://*****:18088/driver...cosbenchドライバーノードのIP。

コントローラーのユーザー設定を行います。
ブラウザーから利用するときのログインアカウントになります。

# cd cos/conf
# vi cosbench-users.xml
user username="*****" password="*****" roles="cosbench"

コントローラーの起動を行います。
今回は、コントローラーノードもドライバーとして利用するため、コントローラーとドライバーを両方起動します。

# cd cos
# sh start-all.sh

cosbenchドライバー

cosbenchコントローラーからの命令を受け、実際に負荷を掛けるノードです。
このノードの数が多いほど、より多くの負荷掛けを行うことができます。

ドライバーの設定を行います。
以下の記述はすべてのドライバーで共通です。

# cd cos/conf
# vi controller.conf
[controller]
drivers = 1
log_level = INFO
log_file = log/system.log
archive_dir = archive

[driver1]
name = driver1
url = http://127.0.0.1:18088/driver

ドライバーの起動を行います。

# cd cos
# sh start-driver.sh

ポート開放

以下のポート開放が必要となります。

  • ドライバーノード→コントローラーノード:19088
  • コントローラーノード→ドライバーノード:18088
  • コントローラーノード→ドライバーノード:icmp

確認

おつかれさまです。
以下cosbenchコントローラーノードのURLにアクセスしてください。

  • http://cosbenchコントローラーノードのIP:19088/controller/

「IsAlive」がすべてグリーンになっていれば正しく設定完了しています。

計測環境

負荷掛けを行う環境です。
より高い負荷をかけるため、スペック・台数ともに規模を大きくしました。

クライアントサーバー

cosbenchコントローラーとドライバーが搭載されるサーバーです。
すべてニフティクラウド上のサーバーになります。

項目
OS CentOS 6.6
サーバータイプ medium4
リージョン east-2
台数 7(コントローラーノード×1・ドライバーノード×7)

実施方法

cosbenchは「ワークロードファイル」というXML形式のファイルに書かれた負荷条件にしたがって、負荷掛けを行います。

一度ファイルを作成すれば後は何度でも使いまわすことができ、
また事前の大量ファイル作成・不要ファイルの削除も行えますのでとても便利です。

詳しい記述方法は下記の公式ガイドをご覧ください(平易な記述ですのでわかりやすいです)。

>https://github.com/intel-cloud/cosbench/blob/master/COSBenchUserGuide.pdf

計測は、オブジェクトストレージの性能をより客観的に把握するという意味で、クラウドストレージ(旧)との比較という形で行わせていただきます。

また、リージョン間のボトルネックを考慮し、すべてのアクセスはすべて同一リージョンから行います。

  • west-1→クラウドストレージ(旧)(west-1)
  • east-2→オブジェクトストレージ(east-2)

試験概要

「ニフティクラウド オブジェクトストレージ」はどれぐらいの数のリクエストを一秒間で処理でき、どれぐらいの転送速度なのか、といった観点からの試験になります。
前者は「スループット」・後者は「帯域幅」から確認します。

計測結果

スループットと帯域幅、二つの方向から性能値を求めるため、2パターンにて検証を行いました。
純粋な性能値を求めるという観点から、すべてhttpアクセスになります。
また、試験はそれぞれ3回ずつ実施し、その平均を性能値としています。

小さなファイルへの大量アクセス

スループット(秒間でいくつのリクエストを処理できるか)を求めることに主眼を置いた検証です。
短期間(60秒)での大量アクセス(並列アクセス数が256)を想定したパターンです。

試験条件

項目
ファイルサイズ 350K
ワーカー(同時アクセス数) 256
runtime(実行時間・秒) 60

結果

90%-RT(ms・全リクエストの90%以下がこの値以下の時間で返却)

スループット(op/sec)

帯域幅(MB/sec)

すべての項目において、read・writeともにオブジェクトストレージはクラウドストレージ(旧)を大幅に上回る性能値を記録しています。
また、およそ数百/sec程度の大量アクセスになりましたが、すべてのリクエストが200応答(正常応答)となりました。

大きなファイルへの少数アクセス

巨大なファイル(1G)の転送速度を求めることに主眼を置いた検証です。
少数(10アクセス)の大きなファイルに対するアクセスを想定したパターンです。

試験条件

「runtime」は指定しません。
対象ファイルのサイズが大きい場合に指定すると負荷掛けが完了せず、正確な値の取得ができないことがあるからです。

結果

帯域幅(MB/sec)

前者の試験と同じく、read・writeともにオブジェクトストレージはクラウドストレージ(旧)を大幅に上回る結果となりました。

まとめ

  • クラウドストレージ(旧)と比較すると、今回は全体的にオブジェクトストレージの方が良好な性能値となりました。
  • クラウドストレージ(旧)をご利用のお客様も、移行の選択肢として検討できるのではないかと思います。

注意

ベンチマークの結果はクライアントやネットワークの環境によって左右されますので、
この結果は常に保障されるものでありません。
あくまでも参考値程度にとどめていただければと思います。

ニフティクラウド 導入相談窓口
ニフティクラウド 無料セミナー

閉じる

閉じる

クラウドブログ編集部

クラウドブログ編集部

ニフティクラウド ユーザーブログ編集部のアカウントです。 編集部からのお知らせや、レギュラーライター以外のゲストによる寄稿記事を掲載していきます。

浜中 慶

浜中 慶

1980年、神奈川県生まれ。2003年ニフティ入社。 ポータルサイト開発を中心に、音楽配信サービス、CGMサービスなど様々なプロジェクトに企画/デザイン/システム担当として参加。現在は@niftyのポータルサービス向けコンテンツ管理システムの企画/開発/運用を担当。

吉田 雄哉

吉田 雄哉

株式会社co-meetingの創業メンバー。「取締役&External- facing Technologist」と名乗り新しいIT技術を広く伝える活動とWebアプリケーション開発を行う毎日。パッケージベンダーでのSaaS立上げ・製造業の情報システム部門で企画やPM・受託開発と従事してきたため、ベンダーサイドとユーザサイド の両方の視点を持ち合わせる。

石田 健亮

石田 健亮

株式会社ドリーム・アーツで小売事業者向けSaaS「Shopらん」を企画、開発。メインの仕事はプログラマーだがサーバー管理や営業もこなすユーティリティプレイヤー。最近好きな事はパフォーマンスチューニング。特に並列化プログラミングがマイブーム。キライなことはデータセンターでの作業。騒音と乾燥が弱点。ニフティクラウドでデータセンターに行く必要が無くなったことが本当の利点だ と思っている。

五月女 雄一

五月女 雄一

ニフティでは「インフラを守る簡単な様で奥が深いお仕事」をしています。 夢はインフラの気持ちが読めるエンジニアになること。

わたなべ かずひろ

わたなべ かずひろ

専門学校卒業後、ソフトウェア開発会社で電力系統制御システムの開発に従事。その後、CD-ROM等マルチメディア系PCソフトの開発を経て、1998年フリーランスに。 2000年8月に株式会社イーツーの設立に参画。携帯を含む様々なWeb系のシステム開発に携わる。現在はiPhone/Androidアプリなどの開発も手がけている。

市角

市角

ニフティクラウドのコントロールパネル設計・開発をメインに、たまにインフラの運用やお手伝いもやっていたりします。コントロールパネルや新機能の活用方法、アイデアなどを中心に書いていく予定です。

仲山 昌宏

仲山 昌宏

歌って踊れるインフラエンジニア兼、PHPもRubyもJavaも書くPerl使い。 物理サーバの運用に飽きて、フルラックに格安サーバ詰めて自宅プライベートクラウドを構築中。 今年は個人的には分散処理を攻めていきます。

猪飼 賢広

猪飼 賢広

1984年、愛知県名古屋市生まれ。大学は福島県にある某大学。2008年ニフティに入社。 開発系部署に配属後、主に各種テーマサイト開発のシステム面調整、開発進行管理役などとして参加。 現在もPC・ガラケーサイトの開発まわりを担当。インフラまわりを触る案件にも携わっており、日々修行中。 好きな芸人はなかやまきんに君とレイザーラモンRG。

久江 裕之

久江 裕之

ニフティクラウドのインフラ運用、OS提供の仕事をしています。 新しいOSやイメージが出る時にこのブログでご紹介いたします。入社5年目。一流のインフラエンジニアを目指して日々勉強中。

竹内 豪

竹内 豪

ニフティクラウド エンジニア

山口

山口

ニフティクラウドの基盤設計、新サービス/アライアンス/インフラ企画、その他雑用全般を担当しています。 クラウドに欲しい機能や、こんなふうに使ってほしいという想いが共有できれば良いですね。

芳中 隆幸

芳中 隆幸

ニフティクラウドの開発、運用を担当しています。

酒井 浩平

酒井 浩平

ニフティクラウドの中にいます。 ネットワークまわりの運用・開発や自動化などに取り組んでいます。 すべてのエンジニアを幸せにすることを目指しています。

higebu

higebu

ニフティクラウド IaaSのエンジニアです。 ネットワーク、DRサービス with VMware vCloud® Air™ Technology辺りの担当をしています。

武田

武田

ニフティクラウドの開発・運用を担当しています。 各種機能の内容についてなどで執筆させていただく予定です。

福澤真

福澤真

ニフティクラウドのコンパネ開発、運用をしています。

森藤 大地

森藤 大地

データに関する仕事が好きです。

宮原徹

宮原徹

日本仮想化技術株式会社 代表取締役社長兼CEO。仮想化技術に関するコンサルタントとして長年活動しており、特にベンチマークテストによる性能評価を得意としている。

荒谷翔

荒谷翔

株式会社はてなでMackerelのセールスデベロッパーとして勤務しています

東條 望

東條 望

2014年にニフティへ中途入社。 入社後から現在まで、ニフティクラウドのサービス企画・開発を担当しています。 各サービスの紹介を執筆させていただく予定です。

世良迪夫

世良迪夫

ニフティクラウドのRDBなどを担当しています