Calenderの12月22日分です。COPSBenchとは世の中、ベンチマークソフトウェアであふれています。その目的は様々ですが、S3に代表されるオブジェクトストレージのベンチマークソフトウェアは、POSIXなファイルシステムのベンチマークとちがってほとんど普及していません。S3のパフォーマンスをあげるコツという記事にあるとおり、S3は使い方によってパフォーマンスが異なります。そのため、実際のワークロードを模擬することで初めて意味のある性能指標を得ることが出来ます。COSBenchは万能ではありませんが、様々なワークロードをXMLで記述することで、模擬実行できるApache2ライセンスのソフトです。Intelの中国の方を中心に開発がすすめられています。概要があるので、時間があるかた、興味のあるかたはこちらをご覧ください。構成は、Controllerが複数のDriverに対して測定対象に負荷をかけるように指令する作りです。つかってみる本記事では、そのごちゃごちゃした話はさておき、COSBenchを使って、結果を得るところまでみてみることにしましょう。LTSがメインサポートなので、まずはubuntsu12.03を用意します。mode).(以下略)という具合で、openjdkがはいればOKです。入手とインストール入手先はgithub上にあります。*.sh展開した結果はとりあえず動作確認まずは、start-allをしてみます。1)ここまでくれば、ポートが動いているかどうかをcurlかなにかで試します。動いていれば、ワークロードファイルを登録してみます。Workloadsにw1がみえているはずなので、適当にいじってみるといいです。実際に使ってみるControllerの設定を確認する。Controllerの設定はcontroller.confで行います。制御対象のdriverのURLも忘れずに。http://127.0.0.1:18088/driverはDriverを動かすControllerを動かす前に、Driverを動かします。start-driver.shを走らせるだけ。!!!というようになれば、OKです。つくりたてのほやほやなので何も登録はありませんが。start-controller.shでOKです。workloadsとありますが、ここから負荷ルールファイルを登録します。これは、オレゴンのS3に対して、64KBのファイルを複数回、80%readでのテストしてみるときのルールです。該当のバケットを指定します。あとは結果を待つ!ルールを登録すると、すぐに測定が始まります。数分後には次のような結果をみることになるでしょう。N/Aとなったので、次にアイルランドでも試してみる。N/Aついでに東京も。N/Aおわりに「パフォーマンス計測」という意味で「ベンチマーク」という言葉が使われる事自体に違和感を感じるのは私だけでしょうか。ベンチマークは比較の対象があってはじめてベンチマークであるはずなのですが、巷では比較対象がなくてもその言葉が使われることが多いようです。本記事では巷で使われる「ベンチマーク」のほうがキャッチーで、ググラビリティ高いためにこの言葉を使いました。Calenderの12月22日分です。COPSBenchとは世の中、ベンチマークソフトウェアであふれています。その目的は様々ですが、S3に代表されるオブジェクトストレージのベンチマークソフトウェアは、POSIXなファイルシステムのベンチマークとちがってほとんど普及していません。S3のパフォーマンスをあげるコツという記事にあるとおり、S3は使い方によってパフォーマンスが異なります。そのため、実際のワークロードを模擬することで初めて意味のある性能指標を得ることが出来ます。COSBenchは万能ではありませんが、様々なワークロードをXMLで記述することで、模擬実行できるApache2ライセンスのソフトです。Intelの中国の方を中心に開発がすすめられています。概要があるので、時間があるかた、興味のあるかたはこちらをご覧ください。構成は、Controllerが複数のDriverに対して測定対象に負荷をかけるように指令する作りです。つかってみる本記事では、そのごちゃごちゃした話はさておき、COSBenchを使って、結果を得るところまでみてみることにしましょう。LTSがメインサポートなので、まずはubuntsu12.03を用意します。mode).(以下略)という具合で、openjdkがはいればOKです。入手とインストール入手先はgithub上にあります。*.sh展開した結果はとりあえず動作確認まずは、start-allをしてみます。1)ここまでくれば、ポートが動いているかどうかをcurlかなにかで試します。動いていれば、ワークロードファイルを登録してみます。Workloadsにw1がみえているはずなので、適当にいじってみるといいです。実際に使ってみるControllerの設定を確認する。Controllerの設定はcontroller.confで行います。制御対象のdriverのURLも忘れずに。http://127.0.0.1:18088/driverはDriverを動かすControllerを動かす前に、Driverを動かします。start-driver.shを走らせるだけ。!!!というようになれば、OKです。つくりたてのほやほやなので何も登録はありませんが。start-controller.shでOKです。workloadsとありますが、ここから負荷ルールファイルを登録します。これは、オレゴンのS3に対して、64KBのファイルを複数回、80%readでのテストしてみるときのルールです。該当のバケットを指定します。あとは結果を待つ!ルールを登録すると、すぐに測定が始まります。数分後には次のような結果をみることになるでしょう。N/Aとなったので、次にアイルランドでも試してみる。N/Aついでに東京も。N/Aおわりに「パフォーマンス計測」という意味で「ベンチマーク」という言葉が使われる事自体に違和感を感じるのは私だけでしょうか。ベンチマークは比較の対象があってはじめてベンチマークであるはずなのですが、巷では比較対象がなくてもその言葉が使われることが多いようです。本記事では巷で使われる「ベンチマーク」のほうがキャッチーで、ググラビリティ高いためにこの言葉を使いました。this:シェアFacebookTwitterAWSblogger2013年のAWSアップデートを料理にたとえるという難題へのチャレンジ。2013/12/172013.12にCookpadで行われたクラウド女子会。2013年のAWSアップデート10個を料理にたとえてみました。異論、反論があることは承知しておりますので、ぜひご意見ください。「俺ならもっとカッコイイたとえするぜ」というシリーズもいいかもしれません。soloを使ってローカルでも試したい!と思いませんか?OpsWorksそれ自体はお金はかからないとはいえ、OpsWorksから起動されるec2と付随するいくつかのサービスにはお金がかかります。使ってローカルで試行錯誤できればお金はかかりません。OpsWorksはchefで作られていることは周知の事実です。以下の通り書かれています。stack.というわけで、ちょっとやってみましょう。chefむけにかかれたルールはgitで管理するのが、よくある楽な方法です。そのため、一番ラクなのは「全てのシステム記述を一つのgitに書く」こと。soloをopsworksの代わりに使うことでほぼテストはローカルでできる。soloむけの設定には差異があるので、ちょっとしたコツが必要になります。ec2の代わりとしてvagrantの中でUbuntuを動作するようにする。SoloはあくまでもOpsWorks代わりをさせるためであり、手元のChefSoloには最低限の設定ですませること。ちなみに、bitbucketは無料でも秘密レポジトリを作れるので、OpsWorksむけにはgithubよりも楽だと思います。これから書くことはこんなかんじ。site-cookbooks作り。親レポジトリのサブモジュールとして追加vagrantでつくったubuntuにデプロイさせるrun_listに追加、実行submodule内容変更時にやることvagrantのインストール¶vagrantはhttp://downloads.vagrantup.com/から、自分の環境にあったものをインストール。昔はRubyGemをつかってインストールしていたが、今は違うので素直にパッケージを使うべきでしょう。問題なくログインできるはず。x86_64)ここまでできてればひとまずOK。すると、ラップしている情報を確認できるので、.ssh/configにつっこむ。いう名前で登録しておく。ログインできればOK。Solo環境の用意¶install¶どんな方法でもOKだと思う。chef-soloあたりでOK。SoloはあくまでもOpsWorks代わりをさせるためであり、手元のChefSoloには最低限の設定ですませること。soloの環境を作る。ここではcdn-dns-v2という名前。site-cookbooks/いったんgit登録。手元のChefSoloとOpsWorksの両方で共通で使う設定(site-cookbooks)はbitbucketに配置させる。site-cookbooks作り。あるため、可能な限りこのsite-cookbooksに詰め込むことになる。filesdnsbalance/dnsbalanceと、二段に深くなったディレクトリ構成だが、これはそういうもんだと諦めることにする。td-agent.conf.erb~という具合になる。このレポジトリをbitbucketに追加する。ssh://git@bitbucket.org/ar1/chef-cookbook-dnsbalance.gitといった具合。親レポジトリ(OpsWorksの代理として動作するレポジトリ)のディレクトリに移動。そこのトップで、submoduleとして、追加する。filesという具合になる。実行させることができる。実行させることができる。Controllerのオープンソース版。Linuxが噛んでる割にはライセンス記述がお粗末な件オブジェクトストレージのベンチマークツール、COSBenchオブジェクトストレージのベンチマークツール、COSBench2013年のAWSアップデートを料理にたとえるという難題へのチャレンジ。ELBをうまくつかうには、KeepAliveを有効にしよう。Timeoutは60秒よりだいぶ長くしよう。squidのsibling設定プレゼンの最後のスライドでは挨拶を書くな。ajaxというかXMLHttpRequestでeuc-jpを指定するのは、、いいのか?sshの問題がひとつ解決した。いわゆる理系だからって文章の読み書きがきちんとできるように学ぶべき、というのは当然で、だからすべての人が数学の証明を読み書きできるように中学生のときに数学の証明を学ぶんですよね。agoそうそうたる大企業の重役たちがConnectで自分のサービスをつくる、こんなハンズオンもしています。ago高校生のころ、入試の問題で数学と物理はどこまでむずかしくていい。東北大の入試は、ヒートポンプの計算問題だった。難しいより意味のある物理サイコーだとおもった。その後数年予備校で物理の講師してたのでそう思ってた。今でも東北大はそういう問題なのだろうか。使用に同意したとみなされます。