isucon用の秘伝のMakefileとそれをDockerで確認できる環境です。 Makefileの動作確認や、各種ツールの利用確認に役立ててください。
slackcat用のトークンを準備します。slackcatの利用が初めてであれば、http://slackcat.chat/ の右上、Add to Slackからxoxpで始まるトークンを取得しておきます。
以下を実行し、コンテナにsshログインできる事を確認してください。
docker-compose build
docker-compose up -d
make ssh
以下、一通りの手順を実行後にMakefileで定義された内容を実施してください。
一番最初に実行するツール類の設定です。
以下のアプリをインストールします。
- percona-toolkit
- kataribe
- myprofiler
- slackcat
- goose
slackcatインストール時には以下を聞かれるので入力してください。
nickname for team:t (複数チームで使わないのであればなんでも良いが何か入れる必要あり)
token issued:xoxp-XXXXXXX(事前準備で準備したslackcatのトークン)
その後.slackcatファイルを変更して、default_channnelに投稿したいチャンネルを設定する。
- MakefileのDB接続設定を修正
- goose用のdb/dbconf.ymlの設定修正
ログフォーマットを以下に修正
log_format with_time '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" $request_time';
access_log /var/log/nginx/access.log with_time;
このレポジトリ内では追加ずみですが、実際の競技ではpprofの設定を追加します。
- importに追加
_ "net/http/pprof"
- main関数に追加
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
Makeファイル内でTODOとなっている部分は個別設定が必要であるはずなので、適宜設定を行ってください。このレポジトリを試すだけであれば設定不要です。
このレポジトリ、およびMakefileを作るにあたり以下の記事とMakefileを参考にさせていただいています。