phpbar.de logo

Mailinglisten-Archive

[php] Funktionen löschen? (Benchmark)

[php] Funktionen löschen? (Benchmark)

Johannes Schlueter schlueter at phpbar.de
Mon Jul 5 17:53:03 CEST 2004


On Friday 02 July 2004 14:27, Andreas Demmer wrote:
> Johannes wrote:
> > und Windows nutzt ja wohl keiner produktiv ;-)
>
> Diese Aussage wird Zend aber traurig machen, wofür haben die
> dann ihren neuen WinEnabler gebastelt? ;-)

Der macht es angeblich (ich habe damit aber keine praktische Erfahrung) 
besser, aber die obige Aussage meine ich, wenn auch etwas provokant 
formuliert, durchaus ernst: Ich würde PHP nicht auf einem Windows-Server in 
einer produktiv-Umgebung einsetzen. Wenn es ein Windows-Server sein muss ist 
imho IIS+ASP oder ähnliches angebrachter (sinnigerweise nur im Intranet). Ein 
paar Gründe - ohne zu tief ins Detail gehen zu wollen:
  - Apche 1.x ist eine mittelmäßige Portierung einer Unix-Anwendung auf die 
Win32-Plattform wodurch da ein paar Krücken drin sind, die der 
Geschwindigkeit und Stabilität nicht gerade zuträglich sind.
  - Apache 2.x ist ein kompletter Rewrite eines Web-Servers der 
Plattformunabhängig für Windows und Unix entwickelt wurde. Dadurch läuft er 
gut unter Windows, leider gibt es in Bezug auf PHP+Apache2 ein paar Probleme 
(auch abgesehen von den Unix-Threading-Problemen, was unter Windows besser 
sein dürfte, da die System-Libs von Windows mit Threading im Blick konzipiert 
wurden.
  - IIS ist ein Webserver der 100%ig für die Win32-Plattform konzipiert wurde 
und ohne Rücksicht auf andere Systeme entwickelt wurde und daher eine hohe 
Leistung bringen kann.
  - PHP selber ist im Grunde ein Wrapper über verschiedene 
(UNIX-)Systembibliotheken, die zu großen Teilen nach Windows portiert wurden, 
aber Portierungen von Unix auf Win32 laufen auf Win32 idR nicht so gut wie 
unter Unixen.

> Und, ok, ich fall mal kurz auf Heise-Forum Nivau, will das
> aber nicht als Aufruf zum Flame-War verstanden wissen:
>
> UNIX is for networking

Prinzipiell richtig, aber es gibt Bestrebungen UNIX auf den Desktop zu bringen 
- zum einen aus der Linux-Ecke zum anderen ...

> MAC is for working

... durch Apple, die UNIX, genauer BSD, als Basis für Ihr aktuelles 
Betriebssystem MacOS X genommen haben - also ein Network+Working-System? 
(falls jemand einen Mac übrig hat hier wäre ein interssierter Spendensammler 
*g*)

> WINDOWS is for solitaire...

Und für Firmen, deren Kern-Bereich nicht in der IT liegt sondern die ein 
gewisses Budget für IT haben und der Admin dann lieber Windows als was 
anderes nimmt, weil es alle haben undwenn es nicht geht ist nicht er Schuld - 
Windows verkauft sich eine Buchhalter, der keine Ahnung von IT hat, einfach 
besser als das "kostenlose" - etwas, was nichts kostet kann ja nichts taugen 
und dann Haftungsfragen etc. (nicht das MS wirklich für einen Schaden, der 
durch einen Absturz aufkommen würde, aber trotzdem...) ;-)

> Gruss,
> Andreas
>
> (der selbst auf Windows entwickelt aber Red Hat als Produktiv-
> Plattform nutzt)

Unter Windows zu entwickeln ist ja in Ordnung - wenn man die Arbeitsumgebung 
mag aber - um wieder zum Ausgang meiner ursprünglichen Aussage zurück zu 
kommen - fürs Profiling/Benchmarking einer Anwendung, sollte man die 
Plattform (bzw. das System) verwenden, auf dem die Anwendung am Ende laufen 
soll - selbst unter Unixen sind die Unterschiede in dem was verschiedene 
Syscalls "kosten" (CPU, RAM, ... und erst recht Hardwarebedingte Dinge) recht 
unterschiedlich, so dass die Optimierungen dann am Ende weniger bringen als 
erhofft. Rasmus Lerdorf, der "Vater" von PHP, hat letztens beim UG-Treffen in 
München erzählt, dass ein stat-Syscall auf einem BSD erheblich mehr kostet 
als auf Linux und die bei Yahoo! Teilweise PHP ausgeschlachtet haben um 
stat-Calls rauszuschmeißen - auf einem BSD haben diese Optimierungen einiges 
gebracht, auf einem Linux so gut wie nichts.

In der Hoffnung hier jetzt nicht den ultimativen Flamewar angezettelt zu haben

johannes
-- 
Johannes Schlüter
php::bar | Der Treffpunkt für Einsteiger und Profis   http://www.phpbar.de

php::bar PHP Wiki   -   Listenarchive