phpMyAdminのテーブル一覧表示が遅い時に取った対応
phpMyAdmin(Ver.4.0.10.20)を業務上必要だったので、設定してみたのですがテーブル一覧表示がやたらに遅い。。。テーブル一覧表示がされるまでに3分近くかかる。いつもかかる。
$cfg['MaxExactCount']と$cfg['MaxExactCountViews']の設定
いろいろ調べると、config.inc.phpの$cfg['MaxExactCount']と$cfg['MaxExactCountViews']の設定値を「0」にしてテーブル一覧表示のレコード数を正確に取らなければいいとの事。
$cfg['MaxExactCount']=0;
$cfg['MaxExactCountViews']=0;
設定してみました。でも、全然変わりませんでした。
いろいろ、config.inc.phpの設定を変えたり、ブラウザのcookieやキャッシュをクリアしたり、ブラウザを変えたりしたのですが、結果は変わりませんでした。
原因が特定できず、仕方なく、しばらくそのまま使っていきました。
原因が見つかった!(version_check.php、君でしたか。。)
我慢して使っていたのですが、2か月ぐらいたった時、「もういい加減にしろー!!やってられん!!」と切れ気味モードで原因調査を再び開始しました。
DBサーバへガリガリとリクエストを行っていないのは、特定済みだったので原因はWebサーバ側との推測で調査を行う。
apacheのアクセスログにリクエストを処理するのにかかった時間、マイクロ秒単位で出力(フォーマットに %Dを指定)しているのですが、よくよくログを確認すると、version_check.phpが処理終了まで数分かかっていた。こいつが原因だったようです。
version_check.phpって何?必要なの?と、phpMyAdminのドキュメントを確認する。
最新のバージョンをチェックするためのプログラムらしい。下記のように設定するとバージョンチェックしないようにできる。
$cfg['VersionCheck']=false;
config.inc.phpに上記を記述したら、長時間待たされることは無くなりました。
動作環境がPHP 5.4までしか使えず、必然的にphpMyAdminも古いものしか利用できないため、その影響だったのかも知れません。
ようやく、ストレス無く使えるようになりました。やれやれです。