2011-01-15 5 views
0

月/週あたりの「訪問ユーザー数」のグラフを表示するには、どうすればよいだろうかと思っていました。表示するApacheログを解析するためのアドバイス

1:apacheログを解析し、次に配列を返してグラフに変換する関数を書く。

2:cronjobsが夜間に実行され、ログファイルをmysql dbに挿入し、 'クライアント'が月/週ごとに訪問者のグラフを表示するように要求し、mysqlにクエリを返して返信します。

#1私はまずこれが良い考えだと思ったが、サーバー上の料金について考え始めた。ユーザーがページをリフレッシュすると、データがより多く(プロセッサ/メモリ時間の無駄使い)

#2では、これは良いアイデアか2つだと思っていますが、他の誰かが似たようなことをしているのかと疑問に思っていました。

何かアドバイスをいただければ幸いです。

ありがとうございました。

+0

私は、誰かがグラフを要求したときにそれがすでに存在し、静的にフェッチされるように、数(10〜20分)ごとに数をクランチしてクロンジョブを作成する2番目のオプションを構築します。 – Fanis

答えて

0

データベースがあれば、それを使用しない理由はありません。あなたは、スクリプトの開始に先立って1秒前まで解析し、その時間を保存し、そこから次の回り道をやり直すことができます。あなたは、そのような方法でサーバの影響をほとんど感じずにcronを毎分実行することができます。

さらに、PythonやPerlのような言語では、readline()/ readlineで無限ループを実行することができます。空の文字列またはネット行が存在するとすぐに返されます。空の行が表示されるたびに短いスリープを追加し、一定したシークとパーズのオーバーヘッドなしに、長寿命プロセスでリアルタイム更新を行うことができます。当然のことながら、生きているかどうかをテストし、そうでない場合にはそれを復活させるクロンを持つことができます。

ご希望の場合は、コードを提供できます。

+0

ありがとうございました。 – Elgoog