Webserver Performance: Linux vs. Windows ?

madmat

Registered User
Moin,

ich will mir einen Server für 20-30 PHP+MySql Webanwendungen (Typo3, osCommerce uä) zulegen.
Nun stehe ich vor der Wahl des Betriebssystems, Linux oder Windows.
Kopf sagt Linux, mein privater vServer ( s4y,RedHat) tut ganz gute Dienste, mit der Administration bin ich nach einigen Kämpfen halbwegs vertraut.

Mein Hauptaugenmerk liegt erstmal auf der Geschwindigkeit, da die bisherigen Windows-basierten SharedHoster dbzgl. etwas zu wünschen übrig lassen.

Aber: ich finde im Netz kaum Belege (Benchmarks oä) dafür dass Linux beim Ausführen von Queries und PHP Skripten tatsächlich performanter sei als Windows - ist das überhaupt (noch) so?
Wo finde ich da konkrete Tests/Aussagen zu ?

Für Windows spräche halt dass ich es im Schlaf beherrsche und auch die anderen in der Firma damit umzugehen wissen falls es mal hakt - was bei Linux nicht der Fall wäre.
Hätte gedacht das sei eine typische FAQ, hier im Forum hab ich aber nicht viel gefunden, nur bspw. die 2, aber ohne schlüssige Antwort, daher frag ich einfach nochmal.


Danke,
M
 
Hallo!
Benchmarks sind immer eine zweischneidige Sache - keine Applikation gleicht der anderen, zu verschieden sind die speziellen Anwendungsfälle. In der Regel sollte man halt die Plattform wählen, bei der man das besseres Gefühl hat und die größere Erfahrung.

Es ist immer ein Trugschluss, man könne vom heimischen Windows PC auf das Hosting Umfeld reflektieren. Eventuell helfen dir ja einige Kennzahlen von Netcraft weiter.

mfG
Thorsten
 
PHP ist auf dem IIS unter Windows langsamer als auf dem Apache unter Linux. Der Grund ist einfach: Der IIS muss PHP als CGI aufrufen, also bei jeder Anfrage einen neuen PHP-Prozess starten. Der Apache hingegen hält den PHP-Interpreter im RAM (mit mod_php).

Es ist jedoch ein FastCGI-Modul für PHP auf dem IIS erschienen: IIS.net : PHP : Microsoft Internet Information Services

Für PHP würde ich unbedingt Linux nehmen, da sich auch viele Extensions unter Windows nicht so leicht installieren lassen.

Für jede Plattform das Richtige: Für PHP und Perl nimmt man Linux, für ASP.NET nimmt man Windows.
 
PHP ist auf dem IIS unter Windows langsamer als auf dem Apache unter Linux.

Hmm...ok, den IIS wollte ich ohnehin nicht einsetzen, da ich bspw. für Typo3 das mod_rewrite brauche (realURL).
Gibt es Gründe die gegen den Einsatz des Apache unter Windows sprechen ?

Ist ein Performanceunterschied zwischen Linux/Apache und Windows/Apache spür/messbar ?

Danke schonmal für die Antworten,
 
Gibt es Gründe die gegen den Einsatz des Apache unter Windows sprechen ?

- Die Konfiguration von Anwendungen ohne GUI ist unter Windows recht mühsam.
- Einige Module sind für Windows evtl. nicht vorkompiliert verfügbar.

Ist ein Performanceunterschied zwischen Linux/Apache und Windows/Apache spür/messbar ?

Messbar schon, auch wenn ich leider keine genauen Zahlen gefunden habe. Spürbar im normalen Einsatz wohl eher nicht.

Apache 2 soll unter Windows erheblich besser laufen als Version 1.x, also unbedingt aktuelle Benchmarks anschauen.
 
Das müsstest du mir nun mal bitte genauer erklären.
Wieso ist es aufwendiger einen Apache unter Windows zu konfigurieren, als unter Linux?
Der Inhalt der Konfigurationsdatei ist IMHO der gleiche.
 
Der Inhalt der Konfigurationsdatei ist IMHO der gleiche.
Das ist nicht nur deiner bescheidenen Meinung nach, sondern auch objektiv der Fall.
Und da es GVim auch für Windows gibt, ist die Konfiguration ähnlich einfach zu bearbeiten. :D

PS: SCNR
 
Wieso ist es aufwendiger einen Apache unter Windows zu konfigurieren, als unter Linux?

Weil die Tools fehlen. Ein halbwegs brauchbarer Texteditor ist vorhanden, aber damit hat es sich schon. Kein grep, kein sed, kein tail, kein logrotate...

Ob Sachen wie "a2ensite", die mit Symlinks arbeiten, unter Windows funktionieren, weiss ich nicht.

Zudem hat man keine Paketverwaltung, was Updates aufwendiger macht. Ein Compiler ist auch selten vorhanden, so dass man auf vorkompilierte Module angewiesen ist.
 
Ein Compiler ist auch selten vorhanden, so dass man auf vorkompilierte Module angewiesen ist.
Stimmt. Auf einen Webserver gehört natürlich ein Compiler - wie soll man sonst auch die ganzen Server-Programme immer mal wieder neu kompilieren. Wenn man das nicht jeden Monat mindestens einmal macht, verliert man 3 GP (Geek Points) und muss 2 Kernel kompilieren, um die wieder zu regenerieren...

Edit: ;)
 
Was du da aufgeführt hast, hat nur herzlich wenig mit der Konfiguration des Apaches zu tun. ;)
Für grep und tail gibts im übrigen Alternativen unter Windows (auch wenn mir die Namen gerade absolut nicht einfallen wollen :o)
Wer sich den Apache auf einen Windows Server holt, dürfte aber wohl auch kein Problem damit haben noch paar weitere kleine Linux Tools dank Cygwin zu installieren. Der Apache läuft sowieso auf Cygwin Basis.

Und die Paketverwaltung würde ich auch nicht als dramatisch ansehen, da die 2-3 Programme doch noch recht überschaubar sind.

Logrotate basiert glaube auf einem Perl Script, Perl Interpreter gibts auch für Windows. Das Script anzupassen dürfte einem versierten Admin möglich sein.
 
Stimmt. Auf einen Webserver gehört natürlich ein Compiler - wie soll man sonst auch die ganzen Server-Programme immer mal wieder neu kompilieren. Wenn man das nicht jeden Monat mindestens einmal macht, verliert man 3 GP (Geek Points) und muss 2 Kernel kompilieren, um die wieder zu regenerieren...

Ja, erstens dass :cool: und zweitens ist es unter Umständen wirklich mühsam, vorkompilierte Module für die richtige Apache-Version für Windows zu bekommen. (Für Linux gibt es meist Pakete, so dass man keinen Compiler auf dem Server braucht.) Auch zwei von mir verwendete PECL-Extensions habe ich auf pecl4win nicht gefunden.
 
Für grep und tail gibts im übrigen Alternativen unter Windows (auch wenn mir die Namen gerade absolut nicht einfallen wollen :o)

Vielleicht http://unxutils.sourceforge.net/?

Logrotate basiert glaube auf einem Perl Script, Perl Interpreter gibts auch für Windows. Das Script anzupassen dürfte einem versierten Admin möglich sein.

Ich sagte nicht, dass es nicht möglich ist. Aber es ist doch umständlicher, als gleich Linux zu nehmen. Ich lass den IIS ja auch nicht im wine auf Linux laufen und editiere mangels GUI direkt die Metabase... ;)
 
grep Alternative unter Windows wäre wohl "find" bzw "findstr".
tail Alternative hab ich auf die Schnelle keine gefunden, dafür eine für "cat", nämlich "type".

Ein "eingefleischter" Linuxer wird der Funktionsumfang dieser Alternativen nicht vom Hocker hauen, aber zur not gibts ja noch diese grausame Windows PowerShell. Die bringt nochmal paar Funktionen mit.
 
1. Bei der Menge an Seiten würde ich zu einem echten Server und nicht zu einer Shared Hostinglösung tendieren. Denn von den teueren RootDS ists nur noch ein preismäßig kleiner Sprung zum echten Server. Raid1 ist hier übrigens Pflicht!

2. Selbst wenn Du Shared Hosting nehmen würdest: die Virtuozzovirtualisierung erlaubt unter Windows quasi keine Steuerung der Zuteilung von Ressourcen (hosterseitig). Daher sind die Werte, die dort FÜR WINDOWS angegeben werden eigentlich Augenwischerei. Unter Linux funktioniert diese Zuteilung hingegen gut.

3. Apache unter Windows ist ein Käse. Wenn Du hier auf XAMPP anspielst: die Hersteller selbst weisen darauf hin, dass es NICHT für den produktiven Einsatz gedacht ist. Wenn Du nicht den IIS z.B. wg. ASP.net brauchst (auch dafür gibts sogar Alternativen unter Linux) ist Apache unter Linux klar besser.

4. WinXP Pro und die Servervarianten sind absolut unterschiedliche Stiefel. Warum glaubt bloß immer jeder Windowsklicker, dass er sich auch mit Server 2003 auskennt? :cool:
 
Warum glaubt bloß immer jeder Windowsklicker, dass er sich auch mit Server 2003 auskennt?
Wenn man eine Lüge lange genug wiederholt, glauben bald alle, es sei die Wahrheit.

M$ ist ja seit Jahrzehnten damit beschäftigt, immer wieder Gebetsmühlenartig zu wiederholen, die Administration von Windows sei einfach...
 
M$ ist ja seit Jahrzehnten damit beschäftigt, immer wieder Gebetsmühlenartig zu wiederholen, die Administration von Windows sei einfach...

Und jeder der 5 Befehle unter Linux auswendig kann erzählt dem Windowsuser was man für ein Held sein muss Linux zu administrieren...:rolleyes: Denke nicht dass man das ansatzweise vergleichen könnte!
 
Last edited by a moderator:
Und jeder der 5 Befehle unter Linux auswendig kann erzählt dem Windowsuser was man für ein Held sein muss Linux zu administrieren...
Das liegt daran, dass ewig wiederholt wird, Linux sei kompliziert und alleine die Fähigkeit, auf der Shell 5 Commandlines lang keine Fehlermeldung zu erhalten würde bereits bedeuten, man sei ein Linux-Guru.

Es ist die selbe Fehleinschätzung, bloß umgekehrt.
 
Ich bin beruflich zu 90-95% nur mit Windows(servern) konfrontiert, und noch nicht ganz so lange mit Linux, aber ich muss sagen dass mich Linux einfach fasziniert! Und jeder der schonmal einen Windows Server + Exchange hatte, dem das Motherboard abgeraucht ist, versteht warum Linux hier einfach bessere Möglichkeiten bietet.

Allerdings gibts auch immer wieder Sachen die ich an Windows besser finde. Ich denke das Thema wurde so oft diskutiert dass wir das auch hier lassen sollten, wär schon sehr OT. :)

Aber wegen der Performance, aus Erfahrung kann ich sagen, dass man gerade mit älterer Hardware aus einer Linuxkiste mehr rauskitzeln kann als mit einem von Haus aus aufgeblähtem Windowsserver.

Wenn die Hardware egal ist, würde ich zu dem tendieren was einem besser liegt und wo man mehr Ahnung hat.

lg
Basti
 
Wenn die Hardware egal ist, würde ich zu dem tendieren was einem besser liegt und wo man mehr Ahnung hat.

Das kann ich super unterschreiben, damit sollten wirs belassen und keinen Linux-Windows Flamewar ausbrechen lassen, das bringts eh nicht. ;):D
 
keinen Linux-Windows Flamewar ausbrechen lassen
Och menno. Das macht doch aber immer so viel Spaß. :(
Vorallem, weil die Windows-Fraktion mit angezogener Handbremse an den Start geht... :p (Was jetzt nicht im Sinne von Performance zu verstehen ist. ;))

SCNR
 
Back
Top