# R-ISUCON 2020 Summer ## 参考 - [リンク集](https://hackmd.io/2WboiKOHQRKykaCmozoVpg) ## 事前準備 - [x] チーム全員の全員のgithubアカウントを確認する - [x] ISUCON問題をホストするgithubリポジトリを作成 - [ ] 監視ツールを導入する手順を確認する(mackerel) - [ ] ルールの理解 (前回のルールとの diff を見る) ## 開始後 - [x] 全員リモートサーバにSSH接続できるようにする - [ ] goに切り替えた後ベンチマークを回す - [x] インスタンス構成のスペック確認(CPU, メモリ) -> Slack - [ ] 問題をgithubリポジトリにアップロード - [ ] インフラ構成のファイルをgithubリポジトリにアップロード - [ ] nginx.conf - [ ] DBのconfigファイル ## 計測ツールの設定 - StackDriver Trace - netdata ### netdata使い方 - http://chair-con-{インスタンス番号}.r-isucon.blue/netdata/ - にアクセスする - ドキュメント - ### アプリ (go) のプロファイリング pprof * https://inatonix.hateblo.jp/entry/2018/08/30/000237 ### リソース監視 netdata <- すでにある * CPU と IO どちらがボトルネックになっているか ### スロークエリログ pt-query-digest - [ ] sqlのバックアップファイル(dump)ファイルを作成しリポジトリ管理する => すでにsqlが用意されている場合は不要 ### StackDriver Trace, StackDriver Profile # ToDo - [ ] Fail を直す # 過去 - [ ] 冗長構成のやり方を確認 - [ ] deploy用のコピペコマンドを作成 - [ ] Redisをインストールする(sudo apt-get install redis-server) ### それ以外 - [ ] mackerelの外形監視設定 - [ ] インフラ構成を紙に書き出す ## アプリ担当 - [ ] ローカル環境構築(DB含む) - [ ] DBにログインしてテーブル構成を紙に書き出す - [ ] アプリケーション構成を紙に書き出す - [ ] キャッシュできるものをキャッシュする - [ ] SQL職人 ## 定常的に行うこと 1. PRを出しレビュー、masterブランチにマージ 2. 再デプロイ(nginx、dbの再起動も行う) 3. ベンチマークを実行 4. kataribeでログを共有 5. SQLのスロークエリログを共有 ## ISUCON終了直前 - [ ] nginxのログ出力を切る - [ ] DBのログの出力を切る - [ ] サーバの再起動を行い問題なく立ち上がるか確認する ## 気をつける - なるべくログを残す。後で学びにしやすくするため。LT作りやすくするため - 寝る # チートシート CPU のスペック確認 ``` sh cat /proc/cpuinfo ``` メモリのスペック確認 ``` sh cat /proc/meminfo` ``` # コマンド集(当日)