phpbar.de logo

Mailinglisten-Archive

Re: [php] Session schneller als Datenbank-Query? / Alles über Hauptdatei

Re: [php] Session schneller als Datenbank-Query? / Alles über Hauptdatei

Zobel M. zobel at hnw-online.de
Mit Jan 12 01:47:21 CET 2005


Hallo,

> Neu lasse ich sämtliche Requests über das RewriteMod (in einer .htaccess im
> Root, bzw. später Directory in der php.ini) an eine bestimmte Datei (nennen
> wir sie einmal hauptdatei.php) im Root-Verzeichnis weiterleiten, welche dem
> Client dann die angeforderten Daten sendet. Je nach Anfrage werden in die
> hauptdatei.php verschiedene Klassen included und Datenbankabfragen
> ausgeführt. 

Wird jetzt genauso viel included wie vorher?

> Gemäss Webalizer Version 2.01 werden durchschnittlich pro Tag über 200'000
> Hits gezählt. Ich habe nun den Eindruck, dass seit der Umstellung auf das
> neue System, das alle Requests über die hauptdatei.php im Root laufen, die
> Performance schlechter geworden ist, als dies beim alten System der Fall
> war. Kann das sein? 

Am Besten du misst wie lange dein Script für die Mysqlabfragen und wie
lange es brauch um das PHP-Script abzuarbeiten. Dann kannst du
Rückschlüsse ziehen wo es drückt. Ich hab auch manchmal den Eindruck
mein Rechner läuft schneller und mal langsamer. Am besten nachmessen
:) Menschliche Wahrnehmung als Grundlage ist nicht brauchbar.

> Früher hatte jede index.html in jedem Verzeichnis, als sie abgefragt wurde,
> auch einige MySQL-Abfragen ausgeführt, zum Beispiel für den Besucherzähler
> und die Benutzerauthentifikation. Heute macht dies die hauptdatei.php
> natürlich auch. Die Benutzerauthentifikation wird mit HTTPAuth ausgeführt,
> die Zugangsdaten werden mit der Datenbank verglichen um zu entscheiden, ob
> der Zugriff gewährt wird. 

Wenn die Hauptdatei nicht viel mehr macht als die alte index.html
glaube ich nicht das es deswegen langsamer ist.

> Meine Frage wäre nun grundsätzlich, ob es auf die Performance eine positive
> Auswirkung hätte, wenn ich nun nur noch beim Login die individuellen
> Userdaten aus der Datenbank abfragen und diese dann in einer Session
> speichern würde, anstelle bei jedem neuen Request immer dieselben
> Datenbankabfragen machen zu müssen? Oder hat dies keine Auswirkung auf die
> Geschwindigkeit? Ich könnte z.B. mit einer Session Bestätigen, dass diese
> und jene Datenbankabfragen bei dieser Sitzung schon durchgeführt wurden
> nicht nicht bei jedem Anklicken eines Links neu gemacht werden müssen. Würde
> das etwas bringen?

Daten die sich während der Sitzung des Benutzer nicht ändern würde ich
in der Session speichern um erneute Datenbankabfragen zu vermeiden.

mfg

Michel Zobel
--  
Software Entwicklung / Softwaredevelopement
health network





php::bar PHP Wiki   -   Listenarchive