phpbar.de logo

Mailinglisten-Archive

Optimierung

Optimierung

stepken mysql_(at)_lists.phpcenter.de
Tue, 10 Apr 2001 17:58:05 +0200


Am Dienstag 10 April 2001 16:18 schrieb Patrick Bierans:
> From:           	stepken <stepken_(at)_little-idiot.de>
>
> > Wie lange benötigt eine Query bei hoher Last, wieviel bei wenig Last ?
>
> Die Tests werden frühestends am Donnerstag durchgeführt.
>
> > Entweder mit den Benchmarktools, die bei Apache beiliegen, oder mit wget
> > kann man das testen ...
>
> Ich frage das mit microseconds() ab, die Funktion selbst braucht 0,3 ms.
>
> > Wie schnell ist die Query in MySQL  - mit dem MySQL Client wird der Speed
> > angezeigt ....
>
> Dieses Statement "select * from artikel where id=31 and _delcode=0" braucht
> ziemlich genau 3 ms bei 40 Artikeln, Update und Insert ca. 1.7 ms bei 2000
> Sätzen.



> > > -  Apache 1.3.14
> >
> > Zeus bzw. Apache 2.0 beta sind da viel schneller (mind. ca. 30 %)
>
> Was ist bei Apache 2.0 beta besser und was schlechter?

Er ist Multi-Threaded ..... ;-))))) Endlich !

> > > -  MySQL 3.23.32
> >
> > Volltextsuche in der Datenbank [...] GLIMPSE [...] Faktor 30-50
> > schneller.
>
> Das werde ich in Erwägung ziehen. Klingt gut. Danke.

Wir haben hier SHOPs laufen mit ca. 2.3 Mio Einträgen, Antwortzeiten auf Aldi 
Pentium ca. 1/10 Sekunde ....

> > > -  PHP 4.0.4pl1
> >
> > Nicht Multi-Threaded daher sollte alles als PHP CGI laufen (nicht mod_php
> > ...)
>
> Brauchen PHPCGI's nicht eine Anlaufszeit? Ab wievielen Benutzern bringt es
> was?

Kann man sich einfach überlegen - die Dauer der Ausführung der Skripte ist 
entscheidend. Wenn ein Skript im PHP Interpreter ca. 10 Sekunden läuft, dann 
kann ich nur ca. 6 Zugriffe / Minute durchführen, nacheinander. Bei ca. 1/10 
Sekunde Single - Threaded für ein Skript kann der Server nur ca. 10 simultane 
Connects vertragen, so, daß die Antwortzeit noch unterhalb der Gedenksekunde 
liegt. Bei mehr als 20-30 Clients und Skripten, die mehr als 1 Sekunde 
benötigen, klappt der Server zusammen. Da empfielt es sich, auf normale CGI's 
umzusteigen, also kein mod_php zu verwenden. Ich habe mit Kernel 2.4, 128 
MByte RAM auch mit 100-200 simultanen (netstat) Clients keine Probleme, 
Tomahawk erhöht im günstigen Fall diese Zahl dank Caching auf bis zu das 100 
Fache, ohne daß die Kiste zusammenbricht.

NT mit ASP z.B. ist IMHO (weiß nicht so genau, da die Doku von M$ 
wiedersprüchlich ist) Multi-Threaded ....(leider) vielleicht das bessere 
System ....auch wenn's dann an anderen Dingen hapert.


> > > -  keine Optimierungstools von Zend
> >
> > Bringt eh nur bei großen PHP Skripten etwas ...
>
> Das ist groß. Die Basisfunktionen fassen etwa 40k reines PHP, dazu kommen
> etwa 300 Konstanten für die Sprache und einiges an HTML-Output.

Da muß unbedingt ZEND eingesetzt werden - das beschleunigt dann auf Faktor 
20-50 (geschätzt). Aber wenn dann Last auf den Server kommt, knickt auch ZEND 
schnell wieder ein ....

SUN hat auch inzwischen JSP (Java Server Pages) multi-threaded gemacht, 
leider ist JAVA viel zu langsam - da sehe ich auch bei Microsoft's .net 
Architektur schwarz. IBM hat jedoch einen Server mit JIT Kompiler .....

Eine brauchbare Alternative ist vielleicht auch der SUN JAVA Server und der 
AOL Server mit TCL. Beide kann man bis Ultimo skalieren .....
Programmierung in TCL ist eh effektiver, als in PHP (Faktor 5 kleiner als PHP 
und Faktor 10-20 kleiner, als in VB)

Gru/3, Guido Stepken

-- 
Linux is like a wigwam - No GATES, no WINDOWS and there is a APACHE inside ..
Have fun ! Greetings to all MCSE's (Microsoft Certified System Entertainer)

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive