PR(記事内にアフィリエイト広告が含まれています)
スポンサーリンク
トラブル

Moguraでの表示速度低下への対応

アクセス解析に Mogura改 を5年以上使ってきているのですが、最近はかなり動作が遅くなってきていました。表示しようとしたら、一分近くかかる状態なのです。
高速改修版の Mogura PlusX の存在は知ってたんですが、個人的な改修をいくつかやってるので、再度同じことをやり直すのも面倒と思い、現状の Mogura改 のままスピードアップできないか試してみました。
まずは数年前のアクセスログの物理削除を行いました。426,747件もデータあるんで、昨年分まで何件あるかカウントとってみたら、420,627件とかなりの件数です。もう過去ログは見ることもないだろうと思い、phpMyAdminにてDBデータをエクスポートした上で、下記SQLを実行してサックリと今年分以前は消しちゃいました。

DELETE FROM `osaka_w3a` WHERE date < 20130101

四十万件以上あったデータが六千件弱になったので、かなり表示が早くなりました。しかしそれでも微妙に重いです。調べてみたら、ユーザエージェントを保存しているテーブルのデータ数が多いと処理が重くなるそうです。
該当テーブルである「osaka_ua」から時刻で条件指定して、データを大量削除しようとおもったら、連番のキーしか無いみたいで時刻での条件指定ができません。先ほどの記事を見たところ、バージョンが違うとはいえ基本的なデータベースの構造は似たようなものかなぁ、と軽い気持ちで説明に書かれている手段で、サックリと全件Truncateしてみました。
SQLコマンドを打つなら「Truncate 'osaka_ua'」ですけど、phpMyAdminの管理画面ならテーブル一覧のところにゴミ箱アイコンがあるんで、そこからTruncateした方が簡単確実で良いかと思います。
するとこれがもう、劇的に動作が軽くなりました。表示した瞬間に結果が出るので大変快適です。欲を言えば、スクリプトなどを定期的に自動実行させて、常に最適化しておきたいところですが、まぁ大した作業でもないし、また重くなるまでの頻度もそうはないだろう、と思ったのでこうして備忘録にしておくだけで留めておくことにしました。

コメント

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