はじめに
IBM Cloudで提供しているICOSについてTier別のスループットについてDocsに記載がなかったため、本稿にて検証しました。
結論から記載しますと、Smart・Standard・Vault・Cold Vault全てでほとんどスループットに変化がないことが確認できました。
本稿ではそれぞれのTierのバケットを作成し、VPCの仮想サーバーから同容量のファイルをアップロード、ダウンロードを実施してバケットのスループットを計測した結果を記載しています。
使用するコマンドラインについてはdocs : cURL の使用に記載がありますので参照ください。
検証手順
本稿の検証手順は以下の通りです。
- 10GBのダミーファイルを4種類のバケットへアップロード
- 10GBのダミーファイルを4種類のバケットからダウンロード
ICOSの処理能力を確認するために、VSIからファイルの通信を行います。
検証する構成は以下の図の通りです。
事前準備
検証環境として以下の環境を事前に用意します。
- IBM Cloud Object Storageインスタンス(jp-tok)
- 4種類のバケット(smart/standard/vault/cold vault)
- ICOSとの通信用VSI for VPC(2core 4GB, RHEL)
また、あらかじめ通信用のVSIでICOSとのやり取りができるように以下のコマンドを実行しておきます。
$ curl -fsSL https://clis.cloud.ibm.com/install/linux | sh
$ ibmcloud plugin install cos
$ ibmcloud login --sso
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | head -n 1 | awk '{print $4}'`
性能検証用に今回は10GBのダミーファイルを作成します。
$ dd if=/dev/zero of=10G.dummy bs=1M count=10000
tokenはデフォルトで有効期限が1時間となっています
有効期限が切れた場合は再度取得してください
1. 10GBのダミーファイルを4種類のバケットへアップロード
以下のコマンドを実施してICOSへ用意したダミーファイルのアップロードを実施します。
$ curl -X "PUT" "https://(endpoint)/(bucket-name)/(object-key)" -H "Authorization: bearer (token) -d "(object-contents)"
例えば、東京リージョン(s3.jp-tok.cloud-object-storage.appdomain.cloud
)のバケットstandard-bucket
にVSI上のダミーファイル10G.dummy
ファイル名10GB
としてアップロードする場合は以下のコマンドとなります。
$ curl -X "PUT" "https://s3.jp-tok.cloud-object-storage.appdomain.cloud/standard-bucket/10GB" -H "Authorization: bearer $ACCESS_TOKEN" -T "10G.dummy"
4つのStorage Tierでそれぞれアップロードを実施したところ、以下の結果になりました。
Smart Tier | Standard Tier | Vault Tier | Cold Vault Tier |
---|---|---|---|
198s | 184s | 194s | 177s |
何度か繰り返したところ、Tierに関わらず165~200s程度の転送時間となったため、アップロードの速度はStorage Tierに関わらず50~60MB/sであることが確認できました。
2. 10GBのダミーファイルを4種類のバケットからダウンロード
続いて、以下のコマンドを実施してICOSへ用意したダミーファイルのダウンロードを実施します。
$ curl "https://(endpoint)/(bucket-name)/(object-key)" -H "Authorization: bearer (token)"
例えば、東京リージョン(s3.jp-tok.cloud-object-storage.appdomain.cloud
)のバケットstandard-bucket
にあるファイル10GB
をダウンロードして、ファイル名10GB_st
で保存する場合は以下のコマンドとなります。
$ curl "https://s3.jp-tok.cloud-object-storage.appdomain.cloud/standard-bucket/10GB" -H "Authorization: bearer $ACCESS_TOKEN" --output 1GB_st
4つのStorage Tierでそれぞれダウンロードを実施したところ、以下の結果になりました。
(ダウンロードの場合、ダウンロード中の転送速度が確認できるため、Averageの転送速度で比較しています)
Smart Tier | Standard Tier | Vault Tier | Cold Vault Tier |
---|---|---|---|
203s | 204s | 203s | 203s |
こちらもアップロード同様にStorage Tierに関わらず49MB/sであることが確認できました。
(実際にダウンロード中の通信速度が確認できますが、初速が100MB程度でその後46.5MB程度に落ち着くのでさらに大きなデータをダウンロードすると平均も46.5MB/sになるかと考えられます。)
まとめ
本稿ではICOSのスループットについて確認した結果、Storage Tierによらず、アップロード/ダウンロードの速度は変化しないことがわかりました。
ストレージの種類でスループットは気にしなくて良いですが、ストレージ毎にアップロード/ダウンロードの課金が異なりますので、適切なストレージを選択するもしくはSmart Tierをご利用ください。