phpbar.de logo

Mailinglisten-Archive

[php] Konzept gesucht

[php] Konzept gesucht

Sascha Grossenbacher saschagros at bluewin.ch
Mit Aug 23 23:58:19 CEST 2006


Norbert Pfeiffer wrote:
> Als echtes Nadeloehr hat sich die Funktion get_browser() erwiesen,
> womit es ein echtes PHP-Problem geworden ist. Es sieht so aus, als
> ob get_browser() bei jedem Aufruf, die komplette Browser.ini neu
> von der Festplatte liest. Anders kann ich mir die 0.2 Sekunden,
> die die Funktion verbruzelt nicht erklaeren.
>   
Das diese Funktion genau das macht und extrem langsam ist, steht ja auch
in den Kommentaren in der Dokumentation.

Wenn du bei PHP bleiben willst, würde ich wie schon vorgeschlagen wurde,
diese browscap.ini in eine Datenbank zu importieren. Ausserdem gehe ich
davon aus, das ein paar hundert dieser UA-Strings den grössten Teil der
Nutzer/Aufrufe ausmachen, da werden mit Sicherheit Unmengen an Exoten
dabei sein. Daher dürfte es sinnvoll sein, mit ein paar Testläufen die
vielleicht 1000 häufigsten Strings irgendwo zu cachen und nur noch für
die seltenen eine DB-Abfrage abzusetzen.

Falls das auch nicht schnell genug sein sollte, muss man entweder die
Logs auf mehrere Server verteilen oder das Ganze in C oder einer ähnlich
schnellen Sprache implementieren. Ausserdem stellt sich die Frage, ob es
Sinn macht, diese Daten in einer DB zu speichern, wenn der Kunde nämlich
z.B. Stunden-/Tages-/Monate-/Jahresstatistiken haben will, entstehen da
wohl innert kurzer Zeit richtig grosse Datenmengen. Eine Alternative
dazu wäre es direkt die HTML/XML/CSV-Statistiken zu genieren, wie das
die handelsübliche Log-Analyser auch machen.

Gruss Sascha

php::bar PHP Wiki   -   Listenarchive