ISUCONの時にやってみたらいいと思ったこと・過去の経験をまとめていきます。
リアルタイムで随時更新していきます。
基本事項(前回参加から学んだこと。)
ISUCON12に参加して学んだこと。
結局Goでいいと思う
他の言語に切り替えも可能だが、Go言語が一番点数高くなる気がする。切り替えにも時間を要するので、Goにしてしまえばいいと思う。
自分はGo勉強して望むという選択肢を取る予定。
役割分担を明確にしておく
振り分けられそうと思ったのは、
- Webサーバの設定変更の担当者
- デプロイコードや自動化担当者
- コードの修正担当者
ただ、これは適材適所
Webサーバの対策
TODO
アプリケーションの対策
デプロイ(ほぼ)自動化コードを書く
deploy.sh
git pull
make build
cp ./project ~/webapp
みたいな、コマンドを作っておく。コードの修正担当者が
deploy.sh
を実行すればデプロイできるところぐらいまでできたらベストかなと感じた。
本当はベンチ実行もできたらいいのだが、isucon12ではサイト上から実行できるという形式に変わったので、そこは次回もそうなるのではないかと見ている。
SQL構文 EXPLAIN
SQLの実行計画(SQL実行したときにインデックスがきちんと動作するかとか、どれくらい時間かかるか)を見ることができる。
-- `EXPLAIN {特定のSQL}`みたいな使い方ができる
EXPLAIN SELECT * FROM HOGE_TABLE WHARE any_column = 'xxx';