2011-01-15 6 views
0

Ich fragte mich nur, was wäre der bessere Weg, um eine Grafik von '# Besucherzahl' pro Monat/Woche zu zeigen.Beratung für die Analyse von Apache-Logs zur Anzeige

1: Schreiben Sie ein paar Funktionen, die off gehen und Apachen Logs analysieren, dann ein Array zurück und wandelt es in ein Diagramm.

2: Cronjobs laufen in der Nacht und legen Sie die Protokolldateien in eine MySQL-DB dann wenn der 'Client' eine Grafik der Besucher pro Monat/Woche zu sehen, sendet Abfrage an MySQL und gibt und Grafiken.

Mit # 1 dachte ich zuerst, dies wäre eine gute Idee, aber dann begann über die Maut auf dem Server zu denken, und es scheint, dass wenn ein Benutzer die Seite aktualisiert der gesamte Prozess neu beginnen würde, wenn die Daten mehr oder -less die gleiche sein (Wasting Prozessor/Speicherzeit)

Mit # 2, denke ich, das ist die bessere Idee oder die beiden, sondern fragte sich, ob jemand anderes etwas Ähnliches tat und wenn ja, wie es ging.

Jede Beratung wäre willkommen.

Danke.

+0

Ich würde auf der zweiten Option aufbauen, um einen Cron-Job die Zahlen knirschen zu lassen und die Graphen alle paar (10? 20?) Minuten zu generieren, so dass jeder Benutzer nach einem Graphen fragt, der bereits existiert und statisch abgerufen wird. – Fanis

Antwort

0

Wenn Sie eine Datenbank zur Hand haben, gibt es keinen Grund, sie nicht zu benutzen. Sie können analysieren, um eine Sekunde vor dem Start des Skripts zu sagen, speichern Sie diese Zeit und starten Sie von dort aus die nächste Durchstartaktion. Sie können den Cron so schnell wie jede Minute mit sehr wenig Servereinfluss auf diese Weise ausführen. In Sprachen wie Python und Perl können Sie eine Endlosschleife auf readline()/readline ausführen, und es wird entweder eine leere Zeichenfolge oder die Nettozeile zurückgegeben, sobald eine existiert. Fügen Sie jedes Mal einen kurzen Schlaf hinzu, wenn Sie eine leere Zeile sehen, und Sie können Echtzeit-Updates mit einem langlebigen Prozess ohne den Overhead von konstanten Suchvorgängen und Parsern haben. Natürlich möchten Sie vielleicht einen Cron haben, der testet, ob er lebt und ihn wiederbelebt, wenn nicht.

Ich kann Code zur Verfügung stellen, wenn Sie mögen.

+0

Vielen Dank, dass würde sehr geschätzt werden! – Elgoog

Verwandte Themen