MoguraPlusを自分の使い勝手の良い様に改造したのでメモ。
Mogura Plusはサーバーインストールタイプのフリーで使えるアクセス解析。
MySQLでデータ管理を行い、そこそこ軽量。インストールも簡単。
さくらのレンタルサーバーにて1日3万アクセス位でも、殆ど負荷なく元気に頑張ってくれてます。
(CPU使用時間: Mogura Plus使用前平均60分→使用後平均80分になる程度)
改造その1:検索エンジン画面
ウチの場合、3万アクセス中2万アクセスが検索エンジン経由なので、この画面が重い重い。
ファイルの大きさが毎日2.5MB~3.0MB、表示に1分前後待っちゃうレベル。
HTML内にonmouseoverが8000~10000個ついたTableが出来上がっちゃうので、ブラウザもヒィヒィ言ってます(笑)
と言う事でpluginディレクトリ内のeng2.phpから、Table生成部分を書き換え
▲140行目あたりから数行をこんなカンジに。echo'<tr>';
echo '<td>'.$link.'</td>';
$k2 = str_replace("] [", " ", $k2);
echo '<td>'.$k2.'</td>';
echo '<td>'.$v2.'</td>';
echo'<td></td>';
echo '</tr>'."\n";
も辞めて全角スペース入れたり、なんにも無しにしたり(笑)
グラフ表示もウチじゃ意味が無いので削除。
これでブラウザの動きはグッと快適に。
ファイル容量も2.7MB→960KBと約1/3。
ちょw onmouseoverやclass指定でファイルの60%占めてたのかwww
改造その2:Gzip圧縮しちゃえ
検索エンジンの解析結果表示が1分前後かかる内の半分以上の時間は、ファイルの転送時間っぽいので、w3a.phpファイルをGzip圧縮してみる。
<?php
ob_start ("ob_gzhandler");
include_once(dirname(__FILE__).'/inc/load_setting.php');
//クローラーの表示(元は1)
$crawler_env = 1;
//拒否設定を無視(元は1)
$exclude_env = 1;
▲w3a.phpのイチバン先頭にob_start("ob_gzhandler");を追加しただけ。
▲でも効果バツグン。960KBのファイルが103KBに。
表示されるまでの時間は改造前の半分に短縮されました。
(注:ローディング中のアニメーションは表示されなくなりました)
サーバーの負荷は少し上がるかな・・・?
1秒弱CPUを(圧縮に)使うより、帯域を15~30秒使うほうがサーバー負荷は高いと信じて、暫くコレで運用してみたいと思います。
(管理画面とかが正常に動くかどうかのテストはしていない。)
追記(重要):
ob_start("ob_gzhandler");
で圧縮をかけると、解析中はタグを仕込んだページの表示も止まる。
やらないほうが無難ですね(^_^;
いや、、、違った。Gzip圧縮を無効にしても解析中はページの表示が止まっている。。。いつからだ('Α`)
simaccess導入以降か、ここ10日間の.htaccessを弄った後からか、、、
それとも最近Mogra Plusをアップデートした後か、、、
原因は解らないけど、アクセスの多い時間に解析ページをあまり開かない方が良いな。。。