Mailinglisten-Archive |
Actra AG Internet Services schrieb: > 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? Ja. mod_rewrite kostet zusätzlich Performance. Normalerweise allerdings nicht so viel, dass man es merkt. Vielleicht muss hauptdatei.php auch ein bisschen mehr arbeiten als die vorgenerierten Scripts? > 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 Damit könntest du den Druck auf die Datenbank massiv senken. Grundregel für jede Webapplikation: So wenig Queries wie möglich. Je mehr Queries du auf die Datenbank losläst, umso mehr hat die Datenbank zu tun. Irgendwann kommt der kritische Zeitpunkt, bei dem sich lesende und schreibende Zugriffe ins Gehege kommen. Also probiert man zu allererst, so wenig zu schreiben wie möglich. Dann muss man probieren, so wenig zu lesen wie möglich, weil wenn die Datenbank schreibt, kann sie nicht lesen und die Requests stauen sich auf [1]. Insbesondere bei einer Zugangsverwaltung ist eine Überprüfung bei jedem Klick nicht sinnvoll. Denn dafür gibt es Sessions. > 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? Sehr viel. Gruss, Andreas [1] Hängt von der Storage Engine ab - Engines, die Row- oder Page-Level-Locking machen, können zwar gleichzeitig lesen und schreiben, sind dafür etwas langsamer beim Lesen und erzeugen einen grösseren Overhead.
php::bar PHP Wiki - Listenarchive