phpbar.de logo

Mailinglisten-Archive

[php] Performancefragen

[php] Performancefragen

Stefan Schwardt php_(at)_phpcenter.de
Wed, 24 Oct 2001 23:38:56 +0200


Moin David Danier, moin Liste

DD> 1. Macht es einen großen Unterschied, ob ich eine große PHP Datei habe oder
DD> eine Datei, die viele kleine Scripts per include/require einbindet?
Ich würde mir zunächst um die paar Prozentelchen, die sich damit
vielleicht heraus holen lassen, nicht allzuviele Gedanken machen.
Stellt lieber erstmal sauberen und strukturierten Code in den
Vordergrund - für letzeres macht die Aufteilung in Module sehr oft
Sinn. Was bringt es Euch, wenn Ihr dem user zwar 200 msec Zugriffszeit
(um irgendein Beispiel zu nennen) herausgekitzelt habt - von denen er
eh nichts merkt - aber nach vier Wochen nicht mehr durch euren eigenen
Code steigt, weil z.B. oft verwendete Funktionen auch oft in einem
Script auftauchen...

Falls die Zugriffe die Frage nach der Performance tatsächlich akut
werden lassen sollte, hilft ein Blick ins Archiv, die Frage wurde
nämlich IMHO schonmal erörtert. Oder wahlweise das Aufrüsten des
Servers....

DD> (In unserem Fall kommt das so zustande:
DD> Wir haben eine Userdatenbank, alle User sollen durch Bewertung von anderen 
DD> Usern einen Userrank erhalten. Jetzt gibt es eine Userdatenbank und eine 
DD> Tabelle in der die verschiedenen Ranks gespeichert werden. Nun gibt es 2 
DD> Möglichkeiten um den Rank zu einem User auszulesen:

Nein, es gibt nur eine - wozu die Auslagerung? Vermutlich ist die
Information über den benutzer-rank sogar kürzer (aus Datenmengensicht)
als die dazugehörige BenutzerID - wobei selbst das kein Kriterium wäre.
Natürlich gibt es Anwendungsfälle, wo eine solche Auslagerung Sinn
macht. Schau dazu mal unter dem Stichwort Datenbanknormalisierung
beispielsweise im MySQL-Handbuch oder einer der vielen WWW-Quellen
nach. Sofern Eure Anwendung tatsächlich nur so komplex ist, wie von Dir
geschildert, gibt es keinen Grund, das ranking auszulagern.

DD> - Man ändert bei jeder Bewertung den Rank, der in der Usertabelle als Text
DD> gespeichert ist)
genauso. Allerdings macht "text" da wohl wenig Sinn, ein einfacher
Zahlenwert wird hier wohl reichen.

(Mit solchen Dingen wie Normalisierung läßt sich übrigens für den user
spürbar die performance optimieren, weniger als durch das einsparen
eines armen Includes.)

--
Stefan Schwardt.



php::bar PHP Wiki   -   Listenarchive