最初にやること - kota65535/isucon10-qualify GitHub Wiki

vimrc

set nobackup
set noswapfile

アプリケーションコードのGit管理

適当なディレクトリを選んでGit管理下におく

cd ~/isuumo/webapp/python
git init
git config --global user.email [email protected]
git config --global user.name kota65535
git config --global core.editor vim
git config --global credential.helper cache
git remote add origin https://github.com/kota65535/isucon10-qualify
git pull origin main

デプロイスクリプト

  • 即効性を考えるとぶっちゃけ手動でいいと思う
  • 最新をpullしてdocker compose起動するだけ
#!/usr/bin/env bash
set -x

git pull origin main
cp python.yaml ../docker-compose/

cd ../docker-compose
docker kill $(docker ps -q -a)
docker-compose -f python.yaml up --build --force-recreate

MySQLコンテナのログ設定

general_log=1
general_log_file=/var/log/mysql/general.log
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow.log
long_query_time=0.1
log_queries_not_using_indexes=1

MySQLコンテナからログを出す

  • ログはvolumesで永続化されている
  • この時ホスト側のディレクトリの権限に注意する(mysqlコンテナの実行uidは999)
sudo chmod -R 775 logs/mysql
sudo chown -R 999 logs/mysql

X-Ray

時間のかかるAPIを特定するのに使う。

  • docker-compose で X-ray daemon を起動する設定を追加
  • フレームワーク毎に固有の instrcumentation をする