Performancevergleich OSX-Linux

  • Ersteller Generalsekretär
  • Erstellt am
cilly schrieb:
Nun, die Kernaussage dieses Artikels ist wohl:

Dass OS X als Serversystem nicht geeignet ist, wenn man viele Clients betreibt. Weil zum einen das Threading im Kernel abgehandelt wird und veraltet ist (FreeBSD 4.x) und zum anderen die Mach-Implementierung daran Schuld trägt - wie schon von vielen hochkarätigen Entwicklern behauptet wurde.

Der Artikel beweist auch, dass die schlechte Performance nicht von MySQL oder Apache abhängt, sondern schlichtweg von OS X.

Wir können nur froh sein, dass Macuser.de nicht auf OS X läuft!
Daran sieht man jawohl das der Autor nicht viel Ahnung von OSX hat. OSX basiert auf den aktuellen SD-Enwicklungen runfd um BSD 5 und klar, wenn man ein getuntes MYSQL-System mit einem ungetunten OSX-System vergleicht, dann erhält man solche Ergebnisse. Nimmt man eine auf OSX optimierte Datenbank, dann sieht das ganze schon wieder anders aus. :rolleyes:
 
@pdr2002

Das hieße ja, dass FreeBSD 5 die gleich schlechte Performance bezüglich mysql hätte. Wenn du den Artikel genauer liest, wirst du feststellen, dass der Autor sich nicht nur auf MySQL bezieht. Er konnte auch die Threading und Signal-Performance analysieren und gerade dies ist der Grund, warum OS X nicht performant genug ist. Das ist eine Schwäche im OS X Kernel und der Mach-Implementierung und hängt erst mal nicht von der Optimierung von MySQL ab. MySQL führt viel mehr die schlechte Performance ans Licht.

Und sonst lese dir mal die Ergebnisse zu den lowlevel-benchmarks durch:

http://www.anandtech.com/mac/showdoc.aspx?i=2520&p=7

Damit ist klar bewiesen, dass es nicht an MySQL liegt.
 
Zuletzt bearbeitet von einem Moderator:
cilly schrieb:
@pdr2002

Das hieße ja, dass FreeBSD 5 die gleich schlechte Performance bezüglich mysql hätte. Wenn du den Artikel genauer liest, wirst du feststellen, dass der Autor sich nicht nur auf MySQL bezieht. Er konnte auch die Threading und Signal-Performance analysieren und gerade dies ist der Grund, warum OS X nicht performant genug ist. Das ist eine Schwäche im OS X Kernel und der Mach-Implementierung und hängt erst mal nicht von der Optimierung von MySQL ab. MySQL führt viel mehr die schlechte Performance ans Licht.

Und sonst lese dir mal die Ergebnisse zu den lowlevel-benchmarks durch:

http://www.anandtech.com/mac/showdoc.aspx?i=2520&p=7

Damit ist klar bewiesen, dass es nicht an MySQL liegt.
Genau deswegen empfiehlt Apple ja auch seine Server für Quicktime-Streaming und als iChat Server aber nirgendwo als Datenbankserver. Warum hat NUR MySQL dieses Problem und nicht zB Oracle 10g oder Openbase? eben doch ein MySQL Problem. :rolleyes:
 
@pdr2002

Du hast es nicht kapiert, oder willst es nicht kapieren:

Es geht um den Kernel mit Mach-Technologie und dessen Implementierung bzw. wrapping von Threads und Prozessen und um deren Erstellung, bzw. Signalisierung. Genau in diesen Punkten schneidet OS X verdammt schlecht ab.

Da die Geschwindigkeit der Erstellung von Threads und Prozessen und deren Signalisierung grundlegenste Funktionen eines Multithreading und Multi-CPU Systems darstellt, handelt es sich hierbei um einen Flaschenhals, welcher im Kernel steckt. Das hat überhaupt nichts mit der Optimierung von MySQL, Oracle oder sonstigen Applikationen zu tun.
 
Zuletzt bearbeitet von einem Moderator:
Die im Artikel beschriebene schlechte Performance von OS X bei den angegebenen Server-Benchmarks ist natürlich enttäuschend.

Trotzdem denke ich, dass noch nicht aller Tage Abend für OS X in diesem Bereich ist. Generell ist das Mac-Betriebssystem mit seinem Microkernel technisch ja mindestens auf gleicher Höhe wie Linux mit seinem monolithischen Kernel. Über die Frage, welche Kernel-Architektur besser ist, hat es ja schon zu den Anfangszeiten von Linux erbitterte Streitereien gegeben, etwa in der berühmten Torvalds-Tanenbaum-Debatte von 1992:

"Aufsehen erregte Andrew Tanenbaum auch durch ein Posting in comp.os.minix im Januar 1992. Mit 'LINUX is obsolete' übte er harsche Kritik an dem neuen Betriebssystem. Er meinte: Der monolithische Kernel von Linux sei technisch überholt, moderne Betriebssystemarchitekturen setzen auf einen Mikrokernel. Und Linux sei fest mit der x86-Prozessor-Architektur verheiratet, während ein vernünftiges Betriebssystem portabel sein müsse."

http://de.wikipedia.org/wiki/Andrew_S._Tanenbaum#Linux-Kritik
http://www.oreilly.com/catalog/opensources/book/appa.html

Eine kurze Übersicht dere unterschiedlichen Kernel-Modelle ebenfalls bei Wikipedia:

http://de.wikipedia.org/wiki/Microkernel
http://de.wikipedia.org/wiki/Monolithischer_Kernel

Von daher überrascht das Ergebnis des Artikels zunächst mal nicht: Microkernel, wie ihn Mac OS X verwendet, gelten zwar als weniger fehleranfällig, dafür aber auch oft als weniger schnell als monolithische Kernel. Doch der Text bei Wikipedia betont ja zu Recht, dass die Entwicklung im Microkernel-Bereich im Fluss sei und Performance-Zuwächse machbar wären.

Von daher würde ich OS X mal noch ein paar Jahre Reife, gerade für den Server-Einsatz, zugestehen. Mit seinen 4 Jahren Existenz ist das System sowieso noch relativ grün hinter den Ohren für ein OS. Ich denke, da wird während der Jahre noch einiges geschraubt werden und einiges Tuning stattfinden.
 
@benjii

Die Frage ist nur, warum der FreeBSD dieses Performance-Problem nicht hat. Es liegt nahe, dass die Mach-Technologie und dessen Wrapping von Threads und Prozessen dafür verantworlich ist, wobei wir wieder bei der alten Diskussion "Mach ist der Flaschenhals von OS X" wären...
 
Ausserdem darf man nicht vergessen, dass gerade mit Mac OS X Tiger an den Kernel-Locks gearbeitet wurde.

Hier sind sicherlich noch weitere Arbeiten seitens Apple zu erwarten, die dann dazu führen, dass der Kernel schneller wird....

....ausserdem bedarf es - wie bereits oben erwähnt - angepasster, optimierter Software. Gerade mit dem GCC 4 (Tiger) sind ja optimierte Versionen für G4, G5 Prozessoren machbar......doch der Artikel erwähnt die "ältere" GCC 3.3.3 Version......

...und wie war doch gleich der Spruch: Traue keiner Statistik, die Du nicht selbst gef.... hast...:)

Am Ende zählt doch, ob das System für die eigenen Anforderungen schnell genug ist ! Und gab es nicht mal nen Thread hier, dass die University of xyz einen XServer-Cluster aufgebaut hat und dieser performance-mässig unschlagbar gg. andere Systeme sei....(kommt also immer auf den Verwenungszweck und den Anteil an "Optimierungsarbeit" an).
 
@andi.reidies

Du hast den Artikel nicht vollständig gelesen, sonst hättest du wahrnehmen müssen, dass für Tiger der GCC 4 benutzt wurde.

XServer-Cluster, heißt ja noch lange nicht, dass darauf OS X läuft, was ich stark bezweifle. Darauf wird sinnigerweise ein System mit Virtual-Server-Funktionalität eingesetzt. OS X wäre darauf eine echte Spaßbremse.
 
Wie schon cilly mehrfach erwähnt hat:
Nicht MySQL ist langsam auf OSX, sondern der Systemkern, wenn er viele Tasks abzuarbeiten hat. Die benutzten Low-Level-Benchmarks zeigen das.
Oder gilt der Apache (der ja bei OSX dabei ist) auch als 'nicht-OSX-geeignet'?
Denn auch da ist OSX langsamer als Linux.

Weiter:
Das angeblich bessere Kernel-Locking von 10.4 wurde auch erwähnt, nur leider zeigten die Benchmarks kaum Unterschiede zwischen 10.3 und 10.4 - offenbar bleibt Tiger in der Realität noch etwas seinem Anspruch hinterher.

Und:
Angesprochen wurde auch, daß mit dem GCC4 der G5 richtig gut läuft und zeigt, was er als CPU zu leisten vermag. Daher auch das Bedauern, daß diese Linie eingestampft wird jetzt, da es endlich gute Compiler dafür gibt.
 
@Generalsekretär:

ich mag das glauben - warum auch nicht. LINUXe benutze ich seit Kernelversionen 1.4 (ca. müßte SuSE LINUX 4.x entsprechen) auch andere als SuSE. Ich glaube gerne das die heftigen Optimierungen, gerade auch im Kernel, beizeiten Früchte tragen die so manches andere OS alt aussehen lassen. Was mich bewogen hat, weg von LINUX als OS hin zu Mac OS zu gehen, ist der Beta-Status als permanenter Schwebezustand. Allein KDevelop ist ein Produkt, bei dem entweder der QT-Designer nicht zur Develop-Version paßte oder die Doku nocht nicht die aktuelle war, ...
Gerade bei SuSE haben so manche Programme mehr DEBUG-Output als Anderes produziert. Ich will den Vergleich keinesfalls herunterreden, die Arbeit von Linus und allen anderen am Kernel sind enorm. Die Leistung vom KDE-Team oder Gnome sind professionell. Der GCC und andere Produkte von GNU finden auch unter Mac OS zahlreiche Verwendung. Leider fehlt LINUX (als OS in seinen zahlreichen Ausprägungen )das letzte Quentchen Komfort und Durchdachtheit. KDE hat die Komplexität einer Win XP Oberfläche längst übertroffen ( gut KDE leistet dabei auch mehr), ich habe schon viele Windowmanager gesehen ( kenne UNIX seit Mitte der 80er), sei es SGI Irix, HP UPX, IBMs AIX und Andere. Ich habe noch kein UNIX gesehen, daß eine derart Anwenderfreundliche GUI mitbringt, das komplette Computer-Newbies schnell damit arbeiten können ( ohne wirklich zu wissen wie alles funktioniert) und den Profis trotzdem den vollen Zugriff aufs System ermöglicht. Das hat mich begeistert. Wenn denn da noch Optimierungsreserven vorhanden sind ( und die scheint es ja zu geben), um so besser. Dann kann man ja noch mehr herausholen :)
 
Zuletzt bearbeitet:
@Generalsekretär

Mach dir mal keine sorgen um einen Compiler für die MacIntel-Plattform. Ich hatte neulich ein Gespräch mit einem früheren Studienfreund, hohes Tier bei Intel. Intel und Apple arbeiten schon jetzt an einem Compiler der eigens für die Mac-Plattform optimiert wird.
 
der Prozessor, der Bus, die Geschwindigkeit... es sind zu viele Komponenten die im Alltagsgebrauch einen Einfluss auf die Systemperformance haben. Ein Buchungssystem einer Fluggesellschaft auf OS/X? Wohl kaum, ein Fertigungssteuerungssystem auf WINDOWS?? Soll es geben, na danke.
Wichtig ist dass mein System mich nicht dazu zwingt alle 5 Minuten Kaffee zu trinken und ich am Bildschirm einschlafe. Alles andere (Opteron, Linux, MySQL) ist wirtschaftlich gesehen Nebenkriegsschauplatz. Die Kisten sollen Geld verdienen, wenn sie das mittels eingebauter 7-Zwerge-Architektur tun, auch gut.

Werner
(iBook Clamshell, 384 MB Speicher, OS 9.0.4) wen's interessiert
 
Es wurde doch nicht die GUI und Benutzerfreundlichkeit in den Vordergrung gestellt, sondern der Server. Auf einem Server hat eine GUI, meiner Meinung nach, nichts verloren, egal wie "toll" diese auch ist.

Das der Test so ausgefallen ist wie er ist, ist auch kein Wunder.
Siehe auch: http://software.newsforge.com/article.pl?sid=04/12/27/1243207

Dort wurde ebenfalls mit mySQL auf FreeBSD, Linux $irgendwas und Solaris getestet. Resultat mit dem Test MacOSX vs. Linux (SuSE) ist vergleichbar.

Problem bei der Geschichte, bzw. das was gerne vergessen wird. es ist ein Microbenchmark, in der Theorie hört sich das toll an, für die Praxis kann man kaum bis keine Rückschlüsse ziehen. Auch zu beachten ist, das gerade auch mySQL eine Anwendung ist die "für" Linux ist und zwangsläufig etwas performanter rennt.

Auch zu beachte ist, MacOSX besteht aus weiten Teilen aus FreeBSD (und kleinen Teilen der anderen BSDs) daher wundert mich das Ergebnis kaum (siehe link oben).
FreeBSD hat, gerade mit der Einführung vom 5.x RELEASE, alles auf dem Kopf gestellt und vieles neu gemacht. Das dauert seine Zeit bis es wirklich performant läuft und das bei jeder Anwendung. Der Scheduler ULE ist doch vom Unterfangen grösser als gedacht, KSE, GEOM undsoweiterundsofort. Das dauert alles was die Entwicklung angeht und Apple, MacOSX, nutzt eben auch dies zum grossen Teil.
Also, abwarten, MacOSX wird schneller, viele sagen das es nach jedem Release, Zwischenrelease schneller wird, was auch wieder auf die Performancesteigerung beim FreeBSD Code zurückzuführen ist. 6.x steht in den Startlöchern, da wird alles nochmals schneller.

Ansonsten ist MacOSX stabil, genauso, oder gerade wegen, *BSD. Und, was bringt mir die tollste Geschwindigkeit wenn die Kiste nicht stabil rennt, das FS sich selbst zerlegt?
Aus diesem Grund rennen in verdammt vielen Unternehmen auch noch olle AS/400 Server (nun iSeries, bzw. i5). Die Teile sind nicht wirklich schnell, aber das OS/400, wenn auch in meinen Augen ein verbrechen, ist stabil, und darauf kommt es mir, und vielen anderen, bei einem Server als erstes an.
Will ich dann Geschwindigkeit spricht ja nichts dagegen mehrere Server rennen zu lassen. Was wiederum auch die Ausfallsicherheit erhöht.
 
cilly schrieb:
@pdr2002

Du hast es nicht kapiert, oder willst es nicht kapieren:

Es geht um den Kernel mit Mach-Technologie und dessen Implementierung bzw. wrapping von Threads und Prozessen und um deren Erstellung, bzw. Signalisierung. Genau in diesen Punkten schneidet OS X verdammt schlecht ab.

Da die Geschwindigkeit der Erstellung von Threads und Prozessen und deren Signalisierung grundlegenste Funktionen eines Multithreading und Multi-CPU Systems darstellt, handelt es sich hierbei um einen Flaschenhals, welcher im Kernel steckt. Das hat überhaupt nichts mit der Optimierung von MySQL, Oracle oder sonstigen Applikationen zu tun.
Natürlich, sonst erkläre mir einmal warum nur MySQL diese Performance unterschiede unter OSX aufweist, eine für OSX optmierte Datenbank aber wesentlich schneller ist als MySQL unter OSX und mindestens genauso schnell ist wie MySQL auf vergleichbarer Hardware. MySQL ist ursrpünglich unter und für Linux entwickelt worden und nutzt das System optimal aus, klar das bei portietren MySQL nicht so toll aussieht, wenn die besonderheioten des Gast OS nicht ausgenutzt wird, sondern nur deren kompatibilitätsstrukturen zu Linux. Es gibt wie gesagt Datenbanken, die aus OSX hin optimiert sind und auch entsprechend schnell sind. Auch Benchmarks sind er kleinste gemeinsame Nenner und nutzen in den seltensten Fällen bestimmte Vorteile einer Architektur, daraus verbindliche Schlüsse zu ziehen ist schlechthin Blödsinn! :rolleyes:
Wie schon gesagt, man muß das Gesamtbild betrachten. MySQL nutzt OSX, wie es halt unter Linux gewohnt ist und das ist nicht Performant. OSX-Server sollte man halt nicht als MySQL Server benutzen, aber ist doch egal, da es für OSX wesentlich bessere Lösungen gibt als MySQL. :cool:
 
Ehrlich gesagt, es geht hier nicht nur um den Performance-Vergleich Linux vs. Mac OS X. Schließlich schneidet OS X auch bei anderen Test im Vergleich zu seinem großen Bruder FreeBSD schlecht ab. FreeBSD hat diese Probleme ebenfalls nicht.

Es handelt sich also um ein Problem beim OS X-Kernel, wodurch OS X nahezu ausgebremst wird. Das macht sich hauptsächlich wenn nicht gar ausschließlich im Server-Einsatz bemerkbar. Ein Desktop-User wird niemals (sag niemals niemals, doch an dieser Stelle ist's erst mal passend) in diese Regionen kommen und irgendwelche Performance-Probleme feststellen.

Der Thread-Titel ist etwas unpassend gewählt und sollte heißen:

OS X als Server nicht performant ...
 
@pdr2002

Du willst es nicht kapieren!

Hast du schon einmal etwas von Reverse-Engeniering gehört? Das ist nämlich genau das was in diesem Artikel betrieben wird. Doch allem Anschein nach hast du diesen Artikel immer noch nicht gelesen (ich geh' mal davon aus, du bist der englischen Sprache mächtig) und wohl auch noch nicht verstanden; denn sonst würdest du nicht immer auf das leidige "Optimieren von Datenbanken-Anwendungen" zurückfallen. Die Aussage und der Kernpunk des Artikels haben eine ganz andere Bedeutung.
 
Ich dachte eigentlich immer, OSX hat von BSD nur die 'Personality', während der eigentliche Systemkern davon unabhängig ist?

Nochmal zurück zu BSD:
M.W. ist tatsächlich die SMP-Unterstützung bei den BSDs nicht überragend; erst ab FreeBSD 5 soll das Kernel Locking sowei fein-granular sein, daß man ungefähr an Linux herankommt. Version 6 (noch Beta) soll nochmals besser sein.
(Es gab vor einiger Zeit mal einen Artikel in der freeX, den ich noch im Hinterkopf habe).

Ich wollte übrigens nicht OSX als langsam hinstellen und nur herumtrollen.
Aber erstens finde ich solche Vergleiche durchaus interessant (besonders die möglichen Ursachen), zweitens hatte ich schon gelegentlich den Eindruck, daß so mancher Mac-User OSX für das tollste seit dem geschnittenen Brot hält.
Daß OSX bzgl. seiner Performance für fast alle Anwender schnell genug ist (zumindest auf einem halbwegs aktuellem Rechner), bestreite ich nicht.
Für viele Dinge reicht aber auch in der PC-Welt ein nicht mehr ganz neuer Rechner mit W2K/XP oder Linux.
 
cilly schrieb:
@Generalsekretär

Mach dir mal keine sorgen um einen Compiler für die MacIntel-Plattform. Ich hatte neulich ein Gespräch mit einem früheren Studienfreund, hohes Tier bei Intel. Intel und Apple arbeiten schon jetzt an einem Compiler der eigens für die Mac-Plattform optimiert wird.

Sorgen mache ich mir da auch keine.
Daß die Intel-Compiler sehr schnell sind, habe ich schon mitbekommen.
Fragt sich allerdings, wie sich das mit der mitgelieferten GNU-Toolchain und XCode verträgt. Vermutlich serienmäßig 'nur' der GCC, gegen Aufpreis der ICC.
 
@Generalsekretär
Auch der Kernel von MacOSX hate einige Teile von *BSD.
Ich warte noch darauf das MacOSX "PF" als Firewall portiert, das wäre wirklich interessant (aber kompletta anderes Thema).

Ich habe unter FreeBSD 5.4-RELEASEp6 keinerlei Probleme mit mehreren Dual XEON 3.06 GHz und Hyperthreading. Rennen alle brav und geschmeidig.
 
Ne kein Aufpreis... ;-)

Apple macht mit Intel diesbezüglich keine halben Sachen.
 
Zurück
Oben Unten