PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Logfiles >> Mysql >> Auswertung



bob_morane
06-10-2004, 13:59
hi,

bin neu hier und hab gleich ne frage ;-)

ich lese von verschiedenen servern logfiles in eine tabelle ein, nennen wir sie webserver. dann startet ein script, welches schaut, wie oft eine datei, die ich in eine andere tabelle files geschrieben habe aufgerufen wurde.

nun funzt das, dauert aber ganz schön mit größer werdenden logfiles.

nun hab ich überlegt und mir gedacht, das es womöglich schneller geht, nicht die webserver für jedes file einzeln zu durchforsten, sondern die files tabelle in einem array aufzurufen und dann die webserver durchforsten zu lassen. immer wenn er eine datei aus dem array findet, wird der wert um 1 erhöht.

macht das sinn ? automatische loganalyzer helfen mir nicht weiter.

bin gespannt auf ideen !

thx

MikeG
28-10-2004, 07:58
Warum dauert es lange? Kannst Du mal einen Query posten, der zeigt, was Du wie ausliest?

elrond
01-11-2004, 15:00
wenn ich dich richtig verstehe, macht du bisher bei jedem Eintrag ein update in der tabelle..? :confused:

Wenn's so ist, dann bringt es laufzeittechnisch mit sicherheit wirklich viel, die Tabelle bei Programmstart auf ein array zu lesen und mitzuzählen.

Wenn es schon sehr viele einträge in der tabelle sind, kann man sicherlich auch zuerst zählen und dann updaten... Spart einen Lesevorgang aus der DB. ;)

Hans-Georg Normann
03-11-2004, 18:33
Hi

ist deine Tabelle WEBSERVER irgendwie indiziert? Wenn nicht, dann könntest du beispielsweise die Tabellennamen extraieren und in ein separates indiziertes Feld einsetzen. Das sollte einiges an Performancegewinn bringen.

Hans