私とISUCONとISUCON6予選
ISUCON6 裏話Night
Nov 22nd, 2016
Profile
【宣伝】みんなのGo言語という本を書きました
- 第1章担当
- "Goで正規表現使ったら負け。strings パッケージを使え" って書きました
私とISUCON
- ISUCON 3度優勝
- ISUCON1,2,5
- チームメイトのお陰
- fujiwara/sugyan/typester
出題することになった経緯
- morisnite #3
- 2015/11/13(金)
- ISUCON5打ち上げ会
- pixivさんが乗り気だった
- 話が来たら受けるしか無いなとは思っていた
- 幸い、 id:motemen と id:wtatsuru が乗り気になってくれた
ISUCONに思うこと
- インフラエンジニアのコンテスト 「ではない」
- Webアプリケーションのチューニングコンテスト
- OSやミドルウェア周りをチューニングしていれば勝てるわけではない
- アプリケーションエンジニアとしての挟持
時系列
- 4月末 アイデア出し開始 (GW進捗なし)
- 5月末 コンセプト決定
- 7月上旬 コンセプト実装 (By motemen)
本格実装期
このあたりでCTO交代を知る。
- 7/14(木)-7/18(月) Songmu夏休み #1
- 予選問題作成
- 7/13(水)-7/15(金) はホテル取ってカンヅメ
- isupam爆誕
- 8/13(土)-8/15(月) Songmu夏休み #2
- ベンチマーカー作成
- pixivさんの社内ISUCONを参考に
- 8/16(火)
妻氏呻き声ソムリエになる
僕の呻き声で何で悩んでいるかわかるようになった
- ISUCON
- 仕事(Mackerel好調)
- みんなのGo言語
- マンションクエスト
その他今年はいろいろあった
- はてな上場
- はてなJPA参画とYAPC
- CTO交代劇
予選に向けた準備
- 9/4(日)
- 9/14(水)-16(金)
- 9/17(土)-18(日)
リハーサル
- 「ボリューム少ないのでは?」
- 修正するか迷った
- しなかった
最終調整で苦しんだこと
- 正規表現遅すぎ問題
- 最低20000ワードくらい入れる予定だった
- 結局7000ワード程度に
- ボリューム調整が大変だった
- チェッカー側で誤判定する記号が含まれているワードを丁寧に除外したり…
参考実装多くて助かったこと
- 多数の参考実装・実装者
- ベンチマーカー側のバグに気づけた
感謝
- 問題アイデア出し: Songmu/motemen/wtatsuru
- コンセプト実装: motemen
- 初期実装: Songmu
- 参加者用ポータル作成: motemen
- ベンチマーカー及びワーカー: Songmu
- 予行演習解答: edvakf/catatsuy/walf443/st-cyrill
- Azureアドバイザリ: myfinder/(matsuu)
- インフラ及びプロビジョニング整備: wtatsuru/y_uuki
- 言語移植
- Go: y_uuki
- Ruby: aereal
- Scala: tarao
- Python/Node: walf443
- PHP: st-cyrill
- 予選当日のシステム運用・監視: wtatsuru/motemen/Songmu/myfinder
- その他予選当日サポート: edvakf/catatsuy/walf443/st-cyrill/y_uuki
- 採点: wtatsuru/Songmu
- アナウンス全般: 941
デスマーチ
- 「去年よりまし」だと自分に言い聞かせていた
- 最後の数日徹夜とかはなかった
オンライン予選
- 317チーム(マジか…)
- ワーカー群の設計
- 監視にMackerelを利用
ベンチマーカーワーカー群
- Deploy to Asureしたら自動的にワーカー群に入る
- 1ノード(VM)、1ワーカー専有
[ユーザー] -enqueue-> [Portal] <-> [worker群] -bench-> [対象]
ワーカーの滞留を監視
- 初日は思ったより滞留があった(すみません…)
- 手動オペレーションで修正
- 競技中にALTER(JSONカラムをTEXT -> MEDIUMTEXTに)
キューの状況
状況に応じてスケールアウト
キューの数
二日目のほうがベンチ回数が多かった
ワーカー群のCPU利用率積み上げ
二日目は落ち着いた立ち上がり(Azure猛者が多かった)
良かったこと
- 無事終わった
- 参加者の温かさに触れた
- Goたくさんかけた
- Perlも書けた
- systemdとちょっと仲良くなれた
以上
【急募】We are Hiring
- はてなではエンジニアを募集しています
- Mackerelのセールスエンジニアも急募
- Webオペレーションエンジニア
- アプリケーションエンジニア
- 東京でも採用中
- もちろん京都にもおいでやす