:: DEVELOPER ZONE
Wir benutzen GNU Autoconf, daher ist es möglich, MySQL auf alle modernen Betriebssysteme zu portieren, auf denen Posix-Threads und ein C++-Kompiler funktionieren. (Um nur den Client-Code zu kompilieren, wir lediglich ein C++-Kompiler benötigt.) Wir benutzen und entwickeln die Software selbst hauptsächlich auf Sun Solaris (Versionen 2.5 - 2.7) und SuSE Linux Version 7.x.
Beachten Sie, dass die native Thread-Unterstützung für viele Betriebssysteme nur mit den neuesten Versionen funktioniert. Es wurde berichtet, dass MySQL erfolgreich auf folgenden Betriebssystemen / Thread-Paket-Kombinationen kompiliert wurde:
AIX 4.x mit nativen Threads. See Abschnitt 3.6.6.4, „Anmerkungen zu IBM-AIX“.
Amiga.
BSDI 2.x mit enthaltenem MIT-pThreads-Paket. See Abschnitt 3.6.4.6, „Anmerkungen zu BSD/OS“.
BSDI 3.0, 3.1 und 4.x mit nativen Threads. See Abschnitt 3.6.4.6, „Anmerkungen zu BSD/OS“.
DEC Unix 4.x mit nativen Threads. See Abschnitt 3.6.6.6, „Anmerkungen zu Alpha-DEC-UNIX (Tru64)“.
FreeBSD 2.x mit enthaltenem MIT-pThreads-Paket. See Abschnitt 3.6.4.1, „Anmerkungen zu FreeBSD“.
FreeBSD 3.x und 4.x mit nativen Threads. See Abschnitt 3.6.4.1, „Anmerkungen zu FreeBSD“.
HP-UX 10.20 mit enthaltenem MIT-pThreads-Paket. See Abschnitt 3.6.6.2, „Anmerkungen zu HP-UX Version 10.20“.
HP-UX 11.x mit nativen Threads. See Abschnitt 3.6.6.3, „Anmerkungen zu HP-UX Version 11.x“.
Linux 2.0+ mit LinuxThreads 0.7.1+ oder glibc 2.0.7+. See Abschnitt 3.6.1, „Linux (alle Linux-Versionen)“.
Mac OS X Server. See Abschnitt 3.6.5, „Anmerkungen zu Mac OS X“.
NetBSD 1.3/1.4 Intel und NetBSD 1.3 Alpha (benötigt GNU make). See Abschnitt 3.6.4.2, „Anmerkungen zu NetBSD“.
OpenBSD > 2.5 mit nativen Threads. OpenBSD < 2.5 mit enthaltenem MIT-pThreads-Paket. See Abschnitt 3.6.4.3, „Anmerkungen zu OpenBSD“.
OS/2 Warp 3, FixPack 29 und OS/2 Warp 4, FixPack 4. See Abschnitt 3.6.7, „Anmerkungen zu OS/2“.
SGI Irix 6.x mit nativen Threads. See Abschnitt 3.6.6.8, „Anmerkungen zu SGI Irix“.
Solaris 2.5 und höher mit nativen Threads auf SPARC und x86. See Abschnitt 3.6.3, „Anmerkungen zu Solaris“.
SunOS 4.x mit enthaltenem MIT-pThreads-Paket. See Abschnitt 3.6.3, „Anmerkungen zu Solaris“.
Caldera (SCO) OpenServer mit einem aktuellen Port des FSU-PThreads-Pakets. See Abschnitt 3.6.6.9, „Anmerkungen zu Caldera“.
Caldera (SCO) UnixWare 7.0.1. See Abschnitt 3.6.6.10, „Anmerkungen zu Caldera Unixware Version 7.0“.
Tru64 Unix
Windows 95, Windows 98, NT und Windows 2000. See Abschnitt 3.6.2, „Anmerkungen zu Windows“.
Beachten Sie, dass nicht alle Plattformen gleichermaßen gut geeignet sind, um MySQL laufen zu lassen. Wie gut eine bestimmte Plattform für hohe Last und geschäftskritische Anwendungen geeignet ist, hängt von folgenden Faktoren ab:
Allgemeine Stabilität der Thread-Bibliothek. Eine Plattform mag in anderer Hinsicht einen exzellenten Ruf haben, aber wenn die Thread-Bibliothek unstabil ist, die von MySQL aufgerufen wird, läuft MySQL nur so stabil wie die Thread-Bibliothek, selbst wenn alles Sonstige perfekt ist.
Fähigkeit des Kernels und / oder der Thread-Bibliothek, die Vorteile von SMP auf Mehrprozessor-Systemen wahrzunehmen. Mit anderen Worten: Wenn ein Prozess einen Thread anlegen, sollte es für diesen Thread möglich sein, auf anderen Prozessoren zu laufen als der Original-Prozess.
Fähigkeit des Kernels und / oder der Thread-Bibliothek, viele Threads
laufen zu lassen, die häufig einen Mutex über eine kurze, kritische Region
anlegen / lösen können ohne exzessive Kontext-Umschaltungen. Mit anderen
Worten: Wenn die Implementation von pThread_mutex_lock() zu sehr
darauf bedacht ist, CPU zu erlangen, wird das MySQL gewaltig schmerzen.
Wenn man sich dieser Tatsache nicht bewusst ist, machen zusätzliche
Prozessoren MySQL in der Tat langsamer.
Allgemeine Stabilität und Performance des Dateisystems.
Fähigkeit des Dateisystems, überhaupt mit großen Dateien umgehend zu können, und zwar effizient, wenn Ihre Tabellen Groß sind.
Unser Grad von Erfahrung, hier bei MySQL AB, mit der Plattform. Wenn wir eine Plattform gut kennen, setzen wir plattformspezifische Optimierungen / Verbesserungen (Fixes) ein, die zur Kompilierzeit aktiv werden. Darüber hinaus können wir Sie beraten, wie Sie Ihr System optimal für MySQL konfigurieren.
Umfang des Testens ähnlicher Konfigurationen, das wir intern durchgeführt haben.
Anzahl von Benutzern, die MySQL auf dieser Plattform erfolgreich mit ähnlichen Konfigurationen haben laufen lassen. Wenn diese Zahl Groß ist, ist die Wahrscheinlichkeit viel geringer, plattformspezifische Überraschungen zu erleben.
Nach den genannten Kriterien sind die besten Plattformen für MySQL bislang
x86 mit SuSE Linux 7.1, 2.4 Kernel und ReiserFS (oder jede ähnliche
Linux-Distribution) und Sparc mit Solaris 2.7 oder 2.8. FreeBSD kommt als
drittes, aber wir hoffen wirklich, dass es zur Spitze aufschließt, sobald
erst einmal die Thread-Bibliothek verbessert ist. Wir hoffen auch, dass wir
alle anderen Plattformen, auf denen MySQL kompiliert werden kann und
korrekt läuft, die aber nicht ganz denselben Grad an Stabilität und
Performance aufweisen, in die Spitzenkategorie aufnehmen können. Das
erfordert von unserer Seite aus einige Kooperationsbemühungen mit den
Entwicklern der Betriebssystem-Bibliothek-Komponenten, von denen MySQL
abhängt. Wenn Sie Interesse daran haben, eine dieser Komponenten zu
verbessern und in der Lage sind, ihre Entwicklung zu beeinflussen, und
detailliertere Informationen darüber brauchen, was MySQL benötigt, um
besser zu laufen, schicken Sie eine E-Mail an
<internals@lists.mysql.com>.
Beachten Sie bitte auch, dass der obige Vergleich nichts darüber aussagen will, dass ein Betriebssystem allgemein besser oder schlechter als ein anderes sei. Wir reden hier über die Auswahl eines bestimmten Betriebssystems für einen ganz bestimmten Zweck - nämlich, MySQL laufen zu lassen, und vergleichen die Betriebssysteme nur in dieser Hinsicht. Folglich wäre das Ergebnis dieses Vergleichs ein anderes, wenn wir weitere Belange berücksichtigen würden. In manchen Fällen liegt der Grund, warum ein Betriebssystem besser als ein anderes geeignet ist, schlicht darin, dass wir auf dieser speziellen Plattform mehr Tests und Optimierungen durchgeführt haben. Wir stellen hier nur unsere Beobachtungen dar, um Ihnen bei der Entscheidung zu helfen, auf welcher Plattform Sie MySQL benutzen sollten.
© 1995-2005 MySQL AB. All rights reserved.
