KAGOYAサーバー
5.5.38 - MySQL
PHP version: 5.5.30
DB hoge
┝ table1
┝ table2
┝ table3
┗ table4
Mysqlで時間がかかっているプロセスのおかげで、その後の処理が停滞し、サイト自体が遅くなる(データベースからの返事待ち状態)現象がたまにあります。
遅くなっているプロセス事態の見直しは都度していくものの
起こってしまった時に自動でそのプロセスをキルして、その後の処理を流したい。
考えた方法
・PHPでPROCESSLISTを監視してtimeが例えば120秒以上のものをkillする方法
```ここに言語を入力
SELECT * FROM information_schema.PROCESSLIST WHERE time>120
上記でプロセスを参照してkillする方法を考えましたが、下記の理由で作業停止 table1 table2 と個別でPROCESSLISTを参照するクエリーが見つかりましたが、DB hoge全体のプロセスを参照する手段が見つからなかった。 仮にテーブル毎に参照するとして、一定時間以上のプロセスをもkillするクエリーがわからなかった ①そもそもPHPで処理できるのでしょうか。その場合killする際のクエリーはどのような形でしょう ②DB hoge全体のプロセスを参照する手段はあるのでしょうか ちなみに phpMyadminバージョン: 4.5.1にて DB hoge全体のプロセス一覧(状態→プロセス)を参照して停止(kill)することはできます。
回答1件
あなたの回答
tips
プレビュー