ISUCON6裏話Nightで気になったツイート集―そして来年の出題は…?
12月からCTOになることになりました、ISUCON6本選出題担当の@edvakfです。
11月22日に開催されたISUCON6裏話Nightで、ようやく自分の中でのISUCON6が終了しました。
当日の発表では試行錯誤したけどボツになったネタなども盛り込めたので、良い供養になりました。そのスライドを公開しつつ、当日のツイートのいくつかにコメントしていきます。
edvakfの発表スライド
ISUCON6本選の裏話 @ ISUCON6裏話Night // Speaker Deck
catatsuyの発表スライド
ISUCON6本選のベンチマークでconsulを使用してクラスタを構築した話 / isucon6-night // Speaker Deck
気になったツイート
運営は大変なので小言を言わず優しくしてあげてね
TLの小言は堪える。ほんと #isucon
— fujiwara (@fujiwara) November 22, 2016
TLでの小言、ほんとにつらいので、みなさん運営や出題は本業のかたわらでやっているという親切な心を忘れずにですね…… #isucon
— tagomoris (@tagomoris) November 22, 2016
自分も本選の後は1日ぐらいTwitter怖くて見られなかったですね…ボロクソ書かれてたらどうしようと思って。
予選アイデアかぶり
予選案でwikipediaかぶりしてたの面白い #isucon
— songmu (@songmu) November 22, 2016
ISUCON6予選の問題はWikipediaから初期データを作っていたのですが、我々も予選をやることになっていたらwikiっぽい題材にしようと考えていました。初期データを用意するのがけっこう面倒なので、Wikipediaはちょうど良いのです。
HTTPS前提
httpsは2013年にISUCON 3で題材にしようとしてやめたんだけど3年で時代が変わった感じする #isucon
— fujiwara (@fujiwara) November 22, 2016
HTTPSは、そこが問題のキーになるかどうかをあまり気にせずに、そろそろHTTPSが基本になるべきだろう、ということで作りました。GoのHTTPクライアントが、InsecureSkipVerifyを使うとHTTP/2になってくれない問題にハマったのですが、これについては別の機会にcatatsuyが書いてくれるはず!
ソフトタイムアウトとハードタイムアウト
ソフトタイムアウトとハードタイムアウトは予選でもやってて、 https://t.co/Vz6iV6qUQl 書いてて良かったなーって思った。 #isucon
— songmu (@songmu) November 22, 2016
Songmu/timeoutが作られたのは2015年で、予選のコード読んでてこれを見つけたときはSongmuさんGJと思いました。社内ISUCONのときはtimeoutコマンドを使っていたのですが、せっかくなので本選ではSongmu/timeout版実装を踏襲しました。
複数台構成にする必然性が無い
50台ISUCON別の戦いになっておもしろそう #isucon
— tatsuru (@tatsuru) November 22, 2016
来年の本線に複数台構成の課題が期待されている! #isucon
— ※遺伝子検査済み (@kizkoh) November 22, 2016
これは僕のスライドの「複数台構成にする必然性が無い」というところについて、僕が「1台に集約できるなら複数台構成を考える必要ない。50台とかの戦いになっていくのでは」みたいな発言をしたのを受けてです。
すげー適当に言いますけど次回以降、コア数とメモリ数だけ上限決めて使い方自由みたいに出来たら面白いかもですね。どう実現するかはアレ #isucon
— Tsunematsu Shinya (@tnmt) November 22, 2016
これも考えましたが、結局2コアx16台より32コアx1台のほうがISUCONには有利なんですよね。
consulを活用したベンチマーカークラスタ
ベンチマーカーのスケールアウトの話すげー面白いな #isucon
— Tsunematsu Shinya (@tnmt) November 22, 2016
めっちゃカッコいい構成 #isucon
— songmu (@songmu) November 22, 2016
ナイスなconsulの使い方だなー #isucon
— tagomoris (@tagomoris) November 22, 2016
consul活用されたベンチマーカークラスタかっこいい #isucon
— fujiwara (@fujiwara) November 22, 2016
普段使わない技術使えるのが #isucon 作問の面白い点でしたね
— songmu (@songmu) November 22, 2016
catatsuyの発表に対してです。内部DNSを立てるという方針もあったのですが、せっかくだしconsul使ってみようよ、と言ってやった甲斐がありました。
ベンチマーカーのスケールアウトという普段仕事では扱っていない問題を解決するために構成を考えて設計する、という経験ができるのは出題者にとっては大きな財産になります。みんなISUCON出題やってみると実感できると思いますよ!
負荷設計
快適にサービス提供できてればユーザーも増えてアクセス増えるってシナリオかなー #isucon
— tatsuru (@tatsuru) November 22, 2016
エラーレートが下がればアクセスも増えるというのも自然だと思うので、ベンチマーカーの挙動でそれもありなんじゃないかなー #isucon
— Tsunematsu Shinya (@tnmt) November 22, 2016
エラーが多いと広告出稿を止めるのでアクセスが減るという設定にすれば... #isucon
— よしみん@チームフリー素材+α (@walf443) November 22, 2016
初期実装状態でも最適化された後でも適切に動くベンチマーカーを作るのが難しいという話の流れです。
本選はアプリケーションが速くなればなるほどベンチマーカーが負荷を上げるようにしたのですが、それが現実味がないという意見があったことに対してです。最初から「これだけの負荷がかかってるからそれに対して最適化する」という競技にするべきという話です。
これについてはその通りで、「8時間でベンチマークを実行できる回数には限りがあるので、アチコチよそ見をしている時間は無い」ということを意識するべきと思いました。今後の出題者への教訓ですね。
競技プログラミング勢が躍進したことについて
今日のイベントで出題者の方が「出題方針は自分の思う #ISUCON 」と言っていたけどこれが大変ありがたいことで,この業界で求められているものが出題されるので学生が最新の実践的な技術を学ぶ機会ができ,この業界が今後も活性化し続けるのではないかと.というわけでとても応援しています.
— いもす (@imos) November 22, 2016
#ISUCON に競プロ勢が流れて来ると別の競技になってしまうのではないかという懸念も少し出ていたけど、プログラミングは出来るけどWebの知識のない競プロ勢がWebの知識をつける良い機会になって将来Web業界で活躍すると自分は思っているので純粋に期待している
— いもす (@imos) November 22, 2016
mirakuiさんが「競技プログラミングのように、時間のある学生が強すぎて、お仕事でやってる俺らは出番なくなる」のようなことを言っていたことに対してです。
imosさんと話したのですが、競技プログラミング界隈には「コードは書けるけどお仕事できるかはまた別」みたいなジレンマがあるらしく、ISUCONというものを通してWeb業界で必要とされる知識を吸収できたり、自信になったりするので、良い大会だと言っていました。
そういうわけでISUCONはこれからも競技プログラミング勢には媚びずに(煽っているわけではないですよ)Webで必要とされる技術が求められる問題を出し続けていくべきと思いました。
来年の出題担当?
来年はKlabさんとペパボさんで決まりかー #isucon
— songmu (@songmu) November 22, 2016
おやおや…?
最後に
出題を通じて普段できないような経験をさせてもらったISUCONにはとても感謝しています。ベンチマーカークラスタというサーバーアーキテクチャの設計に頭を悩ませられる経験なんて他にありません。
ISUCONが今後続くかどうかは、出題をしたい人(会社さん)がいるかどうかにかかってますので、皆さんこぞって出題しましょう。
宣伝
来年のピクシブ社内ISUCONに参加したい方は↓こちらから応募!