Ich habe einen Produktionsserver mit 16 GB RAM, der mit einer 32-Bit-CentOS-Installation geliefert wurde.
Die auf diesem Server gehostete Website erhält täglich mehr Verkehr, was zu einigen Leistungsproblemen bei MySQL geführt hat. Ich lief mysqltuner.pl
und bekam die folgenden Nachrichten:
[!!] Switch to 64-bit OS - MySQL cannot currently use all of your RAM
*** MySQL's maximum memory usage is dangerously high ***
*** Add RAM before increasing MySQL buffer variables ***
Kann ich mit dem 32-Bit-Betriebssystem überleben oder muss ich die 64-Bit-Version installieren?
Antworten:
Mit der 32-Bit-CentOS-Installation können Sie gut überleben. Wie in der Warnung angegeben, bedeutet die Verwendung eines 32-Bit-Betriebssystems, dass MySQL nicht den gesamten (oder sogar den größten Teil) des im System installierten Arbeitsspeichers verwenden kann.
Scheint mir eine Verschwendung zu sein. Wenn die Hardware 64-Bit unterstützt, würde ich das 32-Bit-Betriebssystem sicherlich durch ein 64-Bit-Betriebssystem ersetzen, ja. Sie möchten wahrscheinlich zuerst einige Tests durchführen und / oder einen zweiten Server verwenden, um herauszufinden, was beim Wechseln des Betriebssystems nicht funktioniert, da immer etwas funktioniert.
Streng genommen, die Sie nicht brauchen ein 64 - Bit - Betriebssystem zu installieren, aber Sie sollten auf jeden Fall. Und wahrscheinlich eher früher als später, bevor die RAM-Einschränkungen eines 32-Bit-Betriebssystems Probleme verursachen.
quelle
Der maximale virtuelle Adressraum einer 32-Bit-Binärdatei beträgt 2 ^ 32 (4 GB). Sobald Sie diese Grenze erreicht haben, gehen Sie nirgendwo hin.
Sollten Sie auf 64-Bit umsteigen? Absolut.
Sie stoßen nicht nur nicht mehr auf die Speicherbarriere, der generische 64-Bit-Befehlssatz bietet im Allgemeinen eine bessere Leistung als der generische 32-Bit-Befehlssatz (aufgrund des Alters von x86). Wenn Sie also auf x64 umschalten, erhalten Sie sowohl Speicher als auch Speicher und Rechengeschwindigkeit.
Wenn Sie x86-Binärdateien selbst mit dem Arch-Ziel Ihrer exakten CPU selbst kompiliert haben, können Sie natürlich feststellen, dass die Leistung im Vergleich zu x64 nicht allzu unterschiedlich ist, da Sie vorgefertigte CentOS-Binärdateien verwenden Fall.
quelle
Obwohl die Antwort akzeptiert wurde, fehlen in der Diskussion hier viele Dinge.
Erstens: Alexandru erwähnt nicht, welche Datenbankmodule auf diesem Computer ausgeführt werden, ob es sich um einen dedizierten DBMS-Server handelt oder ob auch andere Dinge ausgeführt werden, wie groß die Daten sind oder welche Statistiken zur physischen E / A / VFS-Nutzung vorliegen.
Bei einem dedizierten MyISAM-basierten Server werden Sie nicht viel davon profitieren, wenn Sie mehr Speicher adressierbar machen. VFS kann die E / A so gut zwischenspeichern wie MySQL. OTOH, wenn es innodb wäre - dann von golly, ja: Der innodb-Pufferpool auf einer dedizierten Box sollte ungefähr 80% des physischen Speichers auf einem dedizierten Computer ausmachen.
Unabhängig davon, welches DBMS verwendet wird, hat das Umschalten auf 64-Bit einen erheblichen Leistungsvorteil, wenn Vergleichsvorgänge auf dem DBMS ausgeführt werden. Wie viel davon abhängt, ob Sie viele Hash- oder B-Tree-basierte Suchvorgänge durchführen.
Wenn dieselbe Box für das Webserving verwendet wird, besteht der große Unterschied darin, dass Sie viel SSL auf der Box verwenden - bei SSL dreht sich alles um die Berechnung großer Zahlen -, und selbst ohne die AES-Beschleunigung in den neuesten Intel-Chips gibt es eine Verbesserung da auch.
quelle