Mailinglisten-Archive |
Aloha,
> Von: Manuel Jenne[SMTP:manuel.jenne_(at)_dieagentur.de]
>=20
> hatte vor ein paar Tagen schon mal um Eure Meinung betr. Performance
> gebeten:
>=20
....
> Der Kunde rechnet damit, dass die 300 User in einem Monat 300GB =
Traffic
> produzieren. Mein Hoster hat mich jetzt vorgewarnt, dass PHP und =
MySQL der
> Belastung evt. nicht gewachsen sein k=F6nnten.
>=20
Es wird dir wahrscheinlich nicht weiterhelfen, aber die Performance =
eines
Systems
ist immer schwer pauschal im Voraus zu bestimmen.
PHP:=20
Bei PHP h=E4ngts in erster Linie davon ab, ob man die cgi- oder =
Modulvariante
benutzt. Letzterem ist aus Performancegr=FCnden der Vorzug zu geben.
Ob man Templates benutzt oder nicht spielt meiner Ansicht nach nicht so =
die
entscheidende Rolle sobald Datenbanken im Spiel sind, da hier die =
meiste
Zeit verlorgen geht.
Lieber sollte man sich mehr Gedanken =FCber die verwendeten Algorithmen =
machen, als auf Templates zu verzichten.
Als alternative zum zend-Cache gibts noch einen anderen dessen Name mir
gerade entfallen ist, der aber auch nur ein paar Prozent langsamer =
ist...
Datenbank:
Unabh=E4ngig von der verwendeten Datenbank werden hier die meisten =
Fehler
gemacht. Das f=E4ngt an beim Datenbankdesign, geht bei den verwendeten
SQL-Statements weiter und endet bei einer wohl=FCberlegten Indizierung
und der Verwendung von stored Procedures (die es bei MySQL gar nicht =
gibt).
Dies zu optimieren erfordert eine detaillierte Kenntnis der Interna der
verwendeten Datenbank, die sch=E4tzungsweise bei 3/4 aller Entwickler =
aus
Kosten- und Zeitgr=FCnden fehlt.
Ungl=FCcklicherweise geht hier aber auch am meisten Performance =
verloren :(
Kleines Beispiel aus der Praxis (ist zwar ABAP4 und Oracle aber was =
solls)
Ein paar externe Entwickler entwickeln ein Programm, das eine =
festgelegte
Funktion haben soll.
Entwickler sind fertig, auf dem Testsystem kann man mit der Laufzeit =
leben,
auf dem Produktivsystem ist die Laufzeit ~ 30 Stunden.
Nach der =DCberarbeitung des Programms durch unsere internen Entwickler
(Optimierung der Algorithmen, DB-Abfragen und Indexe) liegt die =
Laufzeit
jetzt bei ~ 4-5 Stunden.
=3D=3D> Die gleiche Aufgabe wurde von 2 Teams unterschiedlich gel=F6st, =
der
Unterschied in der Performance ist Faktor 6-7!
Also viel Spa=DF beim Programmieren UND Optimieren ;)
Mathias
php::bar PHP Wiki - Listenarchive