ISUCON7 予選に出場した
ISUCON7
ついに ISUCON に参戦してきました。Rising sun チームの sun です。
結論から言いますと、結果は散々たるもので(最終スコア8,037)、こんなに悔しいのかと思うくらい頭を抱えました。参加する前まで大げさなと思っていましたが、みなさんの言う通りになりました。
社内IUSCONに参戦したことはあったのですが、本物は初だったのでとても楽しみにしていました。
準備
一ヶ月前に有志で集まって、ISUCON5 の予選問題を練習しました。そこから浮かび上がった以下の問題点を解決していきました。
- 何から手をつければいいかわからない
- マニュアルの作成
- よくやるチューニングを調べながら実行
- 予めチートシートを作成
- 根拠もなしに予測で改善していた
- alp, percona-tools の導入
これらのツールを実際に手を動かして使い、マニュアル化して練習しました。Varnish とかも練習したけど、設定があまり理解できず断念。
当日
開始30分前に会社に集合し、セッティングを開始しました。(僕はそこで12:00 に延期されたことを知った...
スタート前は、ひたすらスクリプトのチェックや手順の見直しを行いました。デプロイスクリプトのバグにも気づき直す時間ができたのがよかったです。
会議室のディスプレイに twitter, netdata を表示しました。この netdata はリソースを表示してくれ便利君なのですが、競技中にもっと活用したかったのが心残りでした。
当日よかったところ
- マニュアルを徹底してつくったので、始めはスピード感があった
- 時間の見積もりが以外とちゃんとできた
/etc
以下を git で管理したのはよかった
当日のミス
- ベンチが走らせられない
- 最適なアーキテクチャを考えられなかったところ
- 少ないリソースなのはわかっていたが何もできず...
- オペミスにより全ての webapp を消す
- デプロイスクリプトにバグがあった
- ベンチの結果が安定しなかった
- アプリケーションも安定しなかった
- 謎の調査を繰り返し行うはめになった
- その他色々あるけど思い出せない...
感想
雑ですが、今思い出せることを書き出しました。 あわよくば予選突破、そんな思いを抱いたこともありました。今年は叶いませんでしたが、この悔しさをバネに来年に繋いでいきたいと思います。
今後できそうな事としては、以下の感じです(もっとあると思いますが今は出てきません。
- 入れるツールを構成管理ツールで適用する
- 今あるリソースから落ち着いて考える
- 小さい構成から考えて行く
- http への理解
最後に運営ボランティアの皆様本当にありがとうございました。とてもいい思い出になりました!
追記
同じチームの @hypermkt さんのレポートはこちらです
ISUCON7予選にチーム「Rising Sun」で参加しました https://t.co/oVY6pL45dk #isucon
— MKT (@hypermkt) 2017年10月23日