Welche Plattform (Betriebssystem) ist für die beste MySQL-Leistung besser geeignet? Windows oder Linux?
Coonections-Pool für Websites nutzen oder nicht?
Antwort1
Wenn Sie die Wahl haben, empfehle ich, es auf einer Linux-Box zu installieren. Der Grund dafür ist, dass die Linux-Version zuerst entwickelt und dann portiert wird. Wenn möglich installiere ich Software gerne auf ihrer „nativen“ Plattform. Auf diese Weise habe ich einfach weniger Probleme.
Antwort2
Es handelt sich im Wesentlichen um alles, was Ihr Betriebsteam und Ihr Hardwareanbieter unterstützen können. Eine Warnung sei jedoch gegeben:
Führen Sie MySQL NICHT auf einem 32-Bit-System aus. Niemals. Ihnen wird der Adressraum ausgehen und die Migration wird Ihnen große Mühe bereiten.
Verbindungspooling ist nicht so schlecht, aber Sie können ohne es möglicherweise eine ebenso gute Leistung erzielen und es birgt ein erhebliches Risiko von Fehlern - Verbindungen können in einem schlechten (oder komischen) Zustand verbleiben, der nachfolgende Anfragen oft auf recht subtile Weise unterbricht. Ich würde empfehlen, kein Pooling oder dauerhafte Verbindungen zu verwenden (z. B. bei Apache).
Wenn Sie andererseits über einen Daemon-Prozess mit langer Laufzeit verfügen, möchte die IT die Verbindungen möglicherweise für den eigenen Gebrauch offen halten, da niemand „anderes“ sie verwenden wird.
Antwort3
Wenn Sie einen dedizierten Server verwenden, entscheiden Sie sich für Linux – es ist viel einfacher, alle anderen Dinge zu deaktivieren, die Sie für einen MySQL-Server nicht benötigen. Außerdem ist es einfacher, alle möglichen Parameter anzupassen (TCP/IP-Stack fällt mir da ein).
Antwort4
+1 für Linux allerdings. Letztendlich hängt alles vom verfügbaren Systemadministrator ab. Was, wenn er Linux nicht kennt?
Wenn Ihr SA noch nie mit Linux in Berührung gekommen ist, würde ich Ihnen nicht empfehlen, auf diese Plattform umzusteigen. Wenn Sie ein Windows-Benutzer sind, ist das Hosten von Linux in einer Produktionsumgebung nicht dasselbe wie das Herumspielen mit Ubuntu zu Hause.