Mailinglisten-Archive |
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