Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
JAWS北陸 第5回勉強会クラウド破産しないためのEBS入門     2013年4月13日       植木 和樹
本日の内容EBSについていろいろ調べてみました  いわゆる学習成果発表会です      人生初LTです    よろしくお願いします
自己紹介名前:植木和樹年齢:36歳出身:新潟県妙高市(現在は富山県単身赴任中)独立系SIerに勤務製造業情報システムG常駐     緑色のオニ                 の人主にサーバエンジニア                 @czku...
AWS歴      約70日前回(2月2日)第4回JAWS北陸の  ハンズオンがほぼ初めて(仕事はクラウドと全く無関係です)
好きなAWSサービス          SQS (Simple Queue Service)シンプルだけど自在なサービス連携  地味で裏方的な感じがイイ
得意な技術     方眼紙エクセル見積書から手順書まで全部エクセル♡
もう一度 本日の内容    クラウド破産が怖いのでEBSについていろいろ調べてみました
はじまり      2月のある日AWSについて調べものをしていると    「クラウド破産」という穏やかでない単語に出会う
http://togetter.com/li/21972
5日で25万て・・・
http://togetter.com/li/21972
I/Oの課金?
AWSの主な課金単位●  時間(EC2、ELB)●  容量(EBS、S3、RDS)●  APIリクエスト数(S3、SNS、SQS)●  データ転送量(ELB)●  I/Oリクエスト数(EBS)●  Provisioned IOPS(EBS)
I/Oリクエスト数?  IOPS?
見積りたいけど 時間やデータ量、APIリクエスト数は利用頻度の前提があればどうにかなるかも ・・・でもI/Oリクエスト数って   どうやって見積もるの?
見積り方法ついて考える前にまずはIOPSについておさらい
I/O request数とは?               IOPSとは?IOPS【Input/Output Per Second】ハードディスクなどの記憶装置の性能指標の一つで、ある条件の元で1秒間に読み込み・書き込みできる回数のこと。1回の...
EBSのIOPS「スタンダードボリュームの平均パフォーマンスは約 100 IOPS」・・・だそうですが計測条件がわからない                http://aws.amazon.com/jp/ebs/
【疑問】AWSがIOPSを計測する際のデータサイズってどれくらい?4KBのデータ書き込みと1MBのデータ書き込みはどちらも1 I/Oなの?
検証してみたブロックサイズを指定できるベンチマークツールを使って60秒間に読み書きしたデータ量・IOPSを計測するその結果とAWSの計測結果を比較するついでにvmstatでも計測してみる                             ...
比較した内容●    ベンチマークツールのIOPS x 60秒     ブロックサイズ:      4、8、16、32、64、128、256、      512KB、1MBの9種類     読み書き割合:      100%読み取り      ...
使用したEC2環境リージョン:Tokyoインスタンスタイプ:t1.microOS:Amazon Linux 2013.03 64bitカーネル:2.6.18EBS:スタンダード 32GBファイルシステム:ext4
準備●  Vagrant 1.1 + AWSプラグインでEC2イン  スタンス起動●  Berkshelfで必要パッケージ導入●  aws-cli でEBS Volume作成し、EC2インス  タンスにアサイン●  Volumeをext4でフォ...
結果                           単位:IOPSブロック                Read                        Write サイズ        fio        vmstat   C...
(fioのIOPSを1とした場合)ブロック               Read                           Write サイズ         fio       vmstat     Cloud     fio   ...
結論:アプリのブロックサイズとAWSのデータ転送サイズは異なる●    EBSでは最大64〜85KBを目安に転送ブ    ロックが分割される●    CloudWatchの値はvmstat のread/write    の計測結果とは異なる● ...
つまり、こういうこと? データブロック   256KB       16KB                         fioアプリケーション                              EBS               ...
EBSの転送速度???「スタンダードボリュームの平均パフォーマンスは約 100 IOPS」     http://aws.amazon.com/jp/ebs/1 I/O = 64KB〜85KBつまり6,400〜8,500KB/secの転送速度が...
【次の疑問】「スタンダードボリュームの平均パフォーマンスは約 100 IOPS」Provisioned IOPSはIOPSで月固定料金  1IOPS = 0.12$ = 約12円(Tokyo)なら100 PIOPSなら月12円で読み書きし放題?
検証してみた100PIOPSのEBSに対して先ほどと同じ試験を実施する ●     ベンチマークツールのIOPS x 60秒      ブロックサイズ:        4、8、16、32、64、128、256、        512KB、1MB...
ついでにこれについても確認してみ       る「Provisioned IOPS ボリュームはアプリケーションの読み込み、書き込みを16KBかそれ以下のI/Oブロックサイズで処理します。16KB以上にI/Oサイズを増やすと、同じIOPSの速度...
結果                           単位:IOPSブロックサイ  ズ                     Read                         Write         fio        vm...
なんか予想と違うブロックサイズを16KB以上にしてもfioのIOPSとCloudWatchのIOPSに差がでてこない16KB以上にI/Oサイズを増やすと、fioのIOPSが低下していく⇒ 解釈か検証方法間違ってるのかも・・・
ともあれ結論:       Provisioned IOPSの特徴●    Provisioned IOPSボリュームはIOPSが指定    値に制限される    ※スタンダードは数百IOPSまでバースト可能●    PIOPSもスタンダートと...
EBSの(超概算)I/O見積方法●    ブロックサイズが64KBまで    ⇒ I/Oリクエスト数 = アプリI/O回数●    ブロックサイズが64KB以上    ⇒ I/Oリクエスト数 =      ブロックサイズ/64KB x アプリI...
ところで何調べてたんだっけ?
三度目 本日の内容    クラウド破産が怖いのでEBSについていろいろ調べていました
どれだけ使ったら5日で25万円になるのか?
Amazon Simple Monthly Calculator         で計算してみた
5日で25万円ってどんだけ?                                 30日で140                                 万円なので                              ...
クラウド破産が怖いのでEBSについていろいろ調べてみました       本日のまとめ スタンダードEBSはバーストしても      600IOPSくらい数台のEBSを使う程度なら全く問題ない     負荷テストするなら  Provisioned...
ご清聴ありがとうございました!
JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門
Upcoming SlideShare
Loading in …5
×

JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門

8,963 views

Published on

2013/04/13 金沢で開催された第5回勉強会のライトニングトーク資料です。

AWS EBSのI/OとIOPSについてベンチマークツールを使っていろいろ計測した結果をまとめました。間違いなどあればご遠慮なくご指摘ください。

Published in: Technology

JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門

  1. 1. JAWS北陸 第5回勉強会クラウド破産しないためのEBS入門 2013年4月13日 植木 和樹
  2. 2. 本日の内容EBSについていろいろ調べてみました いわゆる学習成果発表会です 人生初LTです よろしくお願いします
  3. 3. 自己紹介名前:植木和樹年齢:36歳出身:新潟県妙高市(現在は富山県単身赴任中)独立系SIerに勤務製造業情報システムG常駐 緑色のオニ の人主にサーバエンジニア @czkuk資格:ITサービスマネージャ   システムアーキテクト
  4. 4. AWS歴 約70日前回(2月2日)第4回JAWS北陸の ハンズオンがほぼ初めて(仕事はクラウドと全く無関係です)
  5. 5. 好きなAWSサービス SQS (Simple Queue Service)シンプルだけど自在なサービス連携 地味で裏方的な感じがイイ
  6. 6. 得意な技術 方眼紙エクセル見積書から手順書まで全部エクセル♡
  7. 7. もう一度 本日の内容 クラウド破産が怖いのでEBSについていろいろ調べてみました
  8. 8. はじまり 2月のある日AWSについて調べものをしていると 「クラウド破産」という穏やかでない単語に出会う
  9. 9. http://togetter.com/li/21972
  10. 10. 5日で25万て・・・
  11. 11. http://togetter.com/li/21972
  12. 12. I/Oの課金?
  13. 13. AWSの主な課金単位● 時間(EC2、ELB)● 容量(EBS、S3、RDS)● APIリクエスト数(S3、SNS、SQS)● データ転送量(ELB)● I/Oリクエスト数(EBS)● Provisioned IOPS(EBS)
  14. 14. I/Oリクエスト数? IOPS?
  15. 15. 見積りたいけど 時間やデータ量、APIリクエスト数は利用頻度の前提があればどうにかなるかも ・・・でもI/Oリクエスト数って どうやって見積もるの?
  16. 16. 見積り方法ついて考える前にまずはIOPSについておさらい
  17. 17. I/O request数とは? IOPSとは?IOPS【Input/Output Per Second】ハードディスクなどの記憶装置の性能指標の一つで、ある条件の元で1秒間に読み込み・書き込みできる回数のこと。1回の読み書きにかかる時間の逆数で、ハードディスクの場合はシークタイムと回転待ち時間、データ転送時間の和の逆数となる。実際には、読み込み(リード)か書き込み(ライト)か、シーケンシャルアクセスかランダムアクセスか、転送するデータの量がどれくらいかによって1回の動作に要する時間が異なるため、「4KBランダムライトIOPS」(4KBのデータをランダムに書き込んだ時のIOPS)のように計測条件を明示することが多い。 e-Wordsより http://e-words.jp/w/IOPS.html
  18. 18. EBSのIOPS「スタンダードボリュームの平均パフォーマンスは約 100 IOPS」・・・だそうですが計測条件がわからない http://aws.amazon.com/jp/ebs/
  19. 19. 【疑問】AWSがIOPSを計測する際のデータサイズってどれくらい?4KBのデータ書き込みと1MBのデータ書き込みはどちらも1 I/Oなの?
  20. 20. 検証してみたブロックサイズを指定できるベンチマークツールを使って60秒間に読み書きしたデータ量・IOPSを計測するその結果とAWSの計測結果を比較するついでにvmstatでも計測してみる ベンチマークには fio を利用 参考にさせてもらったサイト:  Provisioned IOPSの検討 - JPOUG Advent Calendar 2012 http://d.hatena.ne.jp/sh2/20121217
  21. 21. 比較した内容● ベンチマークツールのIOPS x 60秒 ブロックサイズ: 4、8、16、32、64、128、256、 512KB、1MBの9種類 読み書き割合: 100%読み取り 100%書き込みの2種類 多重度:1 計測時間:60秒● CloudWatchのAWS/EBS VolumeReadOps/VolumeWriteOpsの時間合計● vmstat -dの「成功した読み込み/書き込みの総 数」の時間増加量
  22. 22. 使用したEC2環境リージョン:Tokyoインスタンスタイプ:t1.microOS:Amazon Linux 2013.03 64bitカーネル:2.6.18EBS:スタンダード 32GBファイルシステム:ext4
  23. 23. 準備● Vagrant 1.1 + AWSプラグインでEC2イン スタンス起動● Berkshelfで必要パッケージ導入● aws-cli でEBS Volume作成し、EC2インス タンスにアサイン● Volumeをext4でフォーマット● EC2でVolumeマウント● fio-2.0.14 をconfigure; make && make install● fioベンチ実行 + 裏でvmstat実行● AWS SDK for rubyでCloudWatchから値 を取得してCSV出力● Excelで集計!!
  24. 24. 結果 単位:IOPSブロック Read Write サイズ fio vmstat Cloud fio vmstat Cloud Watch Watch4KB 101 101 101 273 274 2748KB 91 92 92 229 230 23016KB 99 100 100 258 259 25932KB 89 90 90 242 243 24364KB 47 96 48 225 452 226128KB 75 227 152 173 520 347256KB 71 430 215 86 517 259512KB 54 658 329 48 587 2941MB 40 967 564 32 792 462
  25. 25. (fioのIOPSを1とした場合)ブロック Read Write サイズ fio vmstat Cloud fio vmstat Cloud Watch Watch4KB 1 1 1 1 1 18KB 1 1 1 1 1 116KB 1 1 1 1 1 132KB 1 1 1 1 1 164KB 1 2 1 1 2 1128KB 1 3 2 1 3 2256KB 1 6 3 1 6 3512KB 1 12 6 1 12 61MB 1 24 14 1 25 14
  26. 26. 結論:アプリのブロックサイズとAWSのデータ転送サイズは異なる● EBSでは最大64〜85KBを目安に転送ブ ロックが分割される● CloudWatchの値はvmstat のread/write の計測結果とは異なる● EBSのI/Oリクエスト数はCloudWatchで なければ計測できない(っぽい)
  27. 27. つまり、こういうこと? データブロック 256KB 16KB fioアプリケーション EBS ストレージプール OS vmstat ③ 85KB ② 85KB ① 85KB CloudWatch I/Oリクエスト計測 16KB積載量 最大85KB
  28. 28. EBSの転送速度???「スタンダードボリュームの平均パフォーマンスは約 100 IOPS」 http://aws.amazon.com/jp/ebs/1 I/O = 64KB〜85KBつまり6,400〜8,500KB/secの転送速度がでるということ???
  29. 29. 【次の疑問】「スタンダードボリュームの平均パフォーマンスは約 100 IOPS」Provisioned IOPSはIOPSで月固定料金 1IOPS = 0.12$ = 約12円(Tokyo)なら100 PIOPSなら月12円で読み書きし放題?
  30. 30. 検証してみた100PIOPSのEBSに対して先ほどと同じ試験を実施する ● ベンチマークツールのIOPS x 60秒 ブロックサイズ: 4、8、16、32、64、128、256、 512KB、1MBの9種類 読み書き割合: 100%読み取り 100%書き込みの2種類 多重度:1 計測時間:60秒 ● CloudWatchのAWS/EBS VolumeReadOps/VolumeWriteOpsの時 間合計 ● vmstat -dの「成功した読み込み/書き込みの総数」の時間増加量
  31. 31. ついでにこれについても確認してみ る「Provisioned IOPS ボリュームはアプリケーションの読み込み、書き込みを16KBかそれ以下のI/Oブロックサイズで処理します。16KB以上にI/Oサイズを増やすと、同じIOPSの速度を達成するために必要なリソースが線形に増加します。」 http://aws.typepad.com/aws_japan/2012/11/ebs-volume-status-checks.html⇒ ブロックサイズが16KBより大きくなるとアプリのI/O数と差が出てくるはず
  32. 32. 結果 単位:IOPSブロックサイ ズ Read Write fio vmstat Cloud fio vmstat Cloud Watch Watch 4KB 102 102 102 101 102 102 8KB 102 102 102 101 102 10216KB 102 102 102 101 102 10232KB 102 102 102 101 102 10264KB 101 203 102 101 204 102128KB 50 152 101 50 153 102256KB 33 200 100 33 204 102512KB 16 204 102 16 204 102 1MB 7 176 102 7 175 102
  33. 33. なんか予想と違うブロックサイズを16KB以上にしてもfioのIOPSとCloudWatchのIOPSに差がでてこない16KB以上にI/Oサイズを増やすと、fioのIOPSが低下していく⇒ 解釈か検証方法間違ってるのかも・・・
  34. 34. ともあれ結論: Provisioned IOPSの特徴● Provisioned IOPSボリュームはIOPSが指定 値に制限される ※スタンダードは数百IOPSまでバースト可能● PIOPSもスタンダートと同じく64〜85KBく らいで処理しているようにみえる(?)
  35. 35. EBSの(超概算)I/O見積方法● ブロックサイズが64KBまで ⇒ I/Oリクエスト数 = アプリI/O回数● ブロックサイズが64KB以上 ⇒ I/Oリクエスト数 =   ブロックサイズ/64KB x アプリI/O数● 100IOPS以下の(バーストしない)I/Oが定 常的に発生する場合は Provisioned IOPSを検討する
  36. 36. ところで何調べてたんだっけ?
  37. 37. 三度目 本日の内容 クラウド破産が怖いのでEBSについていろいろ調べていました
  38. 38. どれだけ使ったら5日で25万円になるのか?
  39. 39. Amazon Simple Monthly Calculator で計算してみた
  40. 40. 5日で25万円ってどんだけ? 30日で140 万円なので 5日で20万 ちょっと 20個!のスタンダードボリュームを それぞれ2000 IOPS!!でぶんまわす http://calculator.s3.amazonaws.com/calc5.html?lng=ja_JP
  41. 41. クラウド破産が怖いのでEBSについていろいろ調べてみました 本日のまとめ スタンダードEBSはバーストしても 600IOPSくらい数台のEBSを使う程度なら全く問題ない 負荷テストするなら Provisioned IOPSにすれば 料金が月額固定になって ちょっと安心
  42. 42. ご清聴ありがとうございました!

×