zoetics / isucon-template Public
0. やること
Z.O.E edited this page Sep 12, 2020
·
9 revisions
事前準備(~ 10:00)
- 前日は早く寝る
チームメンバの鍵をもらっとく- 頑張って朝起きる
- 朝ごはんと昼ごはん購入
- 集まって作業できる環境を整えておく
- プロジェクター(infra)
- ディスプレイ(appli,analyse)
- できればホワイトボード
- 作業用レポジトリを準備しておく
- やること読み合わせ
- レギュレーション読み合わせ
初期準備(10:00 ~ 11:00)
- [all]当日マニュアル読み合わせ、理解
- [infra]チームメンバのアカウント作成
- [infra]リポジトリをクローンしてくる
- [infra]gitの設定をしておく
- [infra]初期状態をリポジトリにバックアップしておく
- [infra]ベンチマーク実行、初期状態の確認
- [appli&analyse]アプリケーションを触ってみる、アプリ仕様理解
アプリチューニング準備(11:00 ~ 12:00)
- [infra]使用ミドルウェアの確認
- [infra]設定ファイルのバックアップ(例: cp --parents -v /etc/systemd/system/isuxi.go.service .)
- [infra]分析ツール入れる(dstat, slowquery, pprof, kataribe)
- [appli]エンドポイントを書き出す
- [appli]モデルとテーブルのER図
- [appli]アプリのコードを読んでコメント書く、関数分け
- [analyse]APIの魚拓をとる(レスポンスの情報が正しいか確認するため)
- [analyse]レコード数を書き出す
- [analyse]分析ツールを使って分析(dstat, slowquery, pprof, kataribe)
アプリチューニング(12:00 ~ 16:00)
- [all]ボトルネックを共有(issue立てるなど)し、どういうアプローチで攻めるか飯食べながら皆で決定
- 以下を30分ごとに繰り返す(ポモドーロ・テクニック)
- [appli&analyse]どちらが何を担当するか決めて、着手する 25分
- ログはissueに書く
- [infra]アプリのチューニングに合わせて、サーバ構成を変えていく 25分
- ログはissueに書く
- [all]5分でそれぞれやったことと次やることを共有する
- [appli&analyse]どちらが何を担当するか決めて、着手する 25分
終了2時間前(16:00 ~ 17:00)
- [all]pprofやログ出力などを全てシャットアウトする
- [all]ベンチマークが安定するようにエラー解消・チューニングする。新しい施策はしない
終了1時間前(17:00 ~ 18:00)
- [all]コードフリーズ
- [all]再起動2回ぐらいする