学生さん限定のイベント「ISUCON 夏期講習」今年もやりました。イベントは、tagomorisからISUCONやWebアプリケーションについての座学を行ったあとに、ISUCON3の予選問題にチャレンジをしてもらいました。またチャレンジをしてもらいながら、どのようにWebアプリケーションのパフォーマンスをあげていったらよいのか、自分の方から説明をしました。今年はスコアをあげることができる参加者が多く、驚きました。
去年と同じようにISUCONの問題にチャレンジする環境としてEC2を使いましたので、そのAMIを公開します。
AMI ID:ami-e796b3e6
AMI Name: isucon_summer_class_2014
Region: Asia Pacific (Tokyo)
「ISUCON 夏期講習 2014」サーバのつくりかた
EC2のインスタンスを起動する際に、上記のAMIを指定して起動してください。HVM対応のインスタンスが必要になります。夏期講習では「c3.xlarge」を使いました。スポットインスタンスを活用するとリーズナブルに試す事ができると思われます。
ベンチマークツールにポート5043が必要になるので、ssh、http、tcpの5043をセキュリティグループの設定をつかってアクセス可能にする必要があります。
サーバが起動したら、「ec2-user」でログインしてください。
$ ssh -i keyfile.pem ec2-....amazonaws.com
ISUCON2の環境は「isu-user」ユーザにて構築してあります。
$ sudo su - isu-user
パスワードが設定されてないので、適宜設定するなりsshの公開鍵を設置すると作業がしやすいですね。
ベンチマークツールはWebUIを用意してあります。ブラウザでサーバのtcp 5043にアクセスします
http://ec2-....amazonaws.com:5043/
と
こんな画面になります。説明が下の方にありますので、読んでください。
ベンチマークツールですが、去年の予選とは若干異なり、時間は30秒。workloadは「1」に固定されています。よりチャレンジしたい場合はソースコード見て変更してみてください。
「Webアプリケーションの パフォーマンス向上のコツ」の発表資料
夏期講習の座学用に用意した資料となります。Webアプリケーションのパフォーマンスをあげるにはどんなことを考えて、やればいいのかについて簡単に解説しています。資料は2つに分かれていて、一つ目が「概要編」、二つ目が「実践編」となっています。
実践編は途中で力尽きている感じですが、ちゃんと書けば仕事でも役に立ちそうなので、あとで完全版にしたいと思っております。
<追記>
完全版公開しました
「ISUCONで学ぶ
Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版」を公開しました
</追記>
学生のみなさまのISUCON4への参加と活躍を楽しみにしております。
追記(2014/08/22)と謝辞
実践編の資料を作るにあたり、@acidlemon さんの記事を参考にしました
「ざっくりと #isucon
2013年予選問題の解き方教えます」
サーバ環境の構築にあたっては「オンライン予選で使用した問題が手元で再現できるAMIを公開しました」で紹介されているAMIも参考にしています。
改めて出題の @fujiwaraさん @acidlemonさんをはじめKAYACの皆様に感謝しております。
追記2
ISUCON4 オンライン予選の参加登録が開始されています!!!Webアプリケーションを書いている方もインフラを扱っているエンジニアも運用エンジニアも、ぜひチャレンジしてください!!私もでます!!
参加はこちらから↓↓↓↓