MYSQLが遅かったとき、原因究明のため調べたこと

この記事について

環境mysql(xampp)、ターミナル
目的MYSQLが遅かった原因を調べる
結果processlist・スレッド数・接続数・mysqladmin statusを確認。最終的にはインデックス追加で解決

つまずきポイント要約

  • lock wait timeout exceededエラーはテーブルにインデックスをつけることで解決した

MYSQLが遅かったとき、原因究明のため調べたこと

ターミナルでMYSQLに接続して・・・

1.show processlistでQUERYの実行時間を調べる

2.innodb_thread_concurrencyを確認


InnoDB の処理を同時に実行できるスレッド数の上限値

コマンド

show variables like '%thread%'

上限なしの0なので問題なし

3.max_connectionsを確認


max_connectionsは同時接続数の最大値

コマンド

show variables like '%connection%'

151と出たので問題なし

4.mysqladminコマンドでMySQLサーバの状態を調べる

ディレクトリ移動(xamppの場合)

C:\xampp\mysql\bin

コマンド(パスワードなし)

mysqladmin status

コマンド(パスワードあり、xamppの場合)

mysqladmin status -u ユーザー名 -p

詳しく見る場合

mysqladmin extended-status

こちらを参考にした

おまけ:lock wait timeoutエラーの件

エラーが出てることに気づいたので、

lock wait timeout exceeded; try restarting transaction

ロックの待ち時間を確認してみる。

コマンド

show variables like '%timeout%'

innodb_lock_wait_timeoutが50秒であることを確認。

この件は、テーブルにインデックスをつけることで問題は解決した。
こちら

ただの覚書でした。

関連記事

タイトルとURLをコピーしました