# mysqlスロークエリ ## ログとり方 https://nishinatoshiharu.com/mysql-slow-query-log/ `sudo vim /etc/mysql/my.cnf` ``` [mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 0 ``` `sudo systemctl restart mysql` MySQLにログインして `show variables like 'slow%';` `sudo mysqldumpslow /var/log/mysql/slow.log` ↑でも見られるが別のツール使ったほうが良さげ Count 出現回数 Time 平均実行時間。カッコは合計実行時間。 Lock テーブルをロックした平均時間。カッコは合計ロック時間。 Rows 読取り/更新したレコード数の平均。カッコは合計。 -sオプションでソート at及びcで見ると良いかも ``` now=`date +%Y%m%d-%H%M%S` && sudo mv /var/log/mysql/slow.log /var/log/mysql/slow.log.$now && sudo mysqladmin flush-logs ``` ログのフラッシュ、これは便利 https://nishinatoshiharu.com/percona-slowquerylog/ # query digest https://github.com/akito0107/querydigest `wget https://github.com/akito0107/querydigest/releases/download/v1.0.2/querydigest_linux_x86_64.tar.gz` `querydigest -f path/to/slow_query_log` https://nishinatoshiharu.com/percona-slowquerylog/ # for update ロックを作る原因、無理なら仕方ないがキャッシュを検討 # テーブル `mysqldump --no-data` # バージョンアップ mysql8の降順インデックス(ORDER BY DESCに効くらしい) # 秘伝のタレ https://gist.github.com/asflash8/0cbb743fd23385f32b412c908959a032 https://gist.github.com/south37/d4a5a8158f49e067237c17d13ecab12a https://github.com/takonomura/isucon9-qualify/blob/master/isu01/nginx.conf nginx.confの書き方わからん https://qiita.com/syou007/items/3e2d410bbe65a364b603 https://www.takono.io/posts/2019/09/isucon/ # 外部からの接続 /etc/mysql/mysql.conf.d/mysqld.cnf bind-addressをいじる
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up