Frage

IntroIch habe diese Frage aus meiner vorherigen Frage abgeleitet Single Drive gegen mehrere Laufwerke

Nach einer sehr detaillierten Antwort von einem sehr hilfsbereiten Mitglied Rolandomysqldba und das Erlernen der Tatsache, dass Multi -Laufwerke in einigen Fällen sehr helfen können. Ich begann mich mit Multi -Laufwerken für mein Setup zu untersuchen, was im Vergleich zu dem, was ich gefunden habe, nur ein bisschen ist.

Mehr InfoIch fand ziemlich riesige Speicher wie

http://www.newegg.com/product/product.aspx?item=n82e16811152212

Während einige Videos sogar GBS der Schreibgeschwindigkeit dieser Art von Geräten zeigen

Echte FrageDa es genügend RAM gibt, um Indizes zu halten, können MySQL oder andere Open -Source -RDBMs (nicht von Enterprise abgestufte RDBMs wie Oracle, weil es auf SAN läuft) auf diesen Bestien leicht laufen?

Weil sie echte Multi -Laufwerke enthalten und Dutzende von Köpfen erhältlich sind.

Ich bin mir sicher, dass es nicht so einfach wäre, denn wenn es so einfach wäre, dann, warum die meisten Unternehmens -Setups Warenserver verwenden. Welche Probleme werden mit diesen extremen Speicherlösungen konfrontiert?

War es hilfreich?

Lösung

Alles, was man tun muss, ist diese Fragen auszuführen:

MyiSam

SELECT CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1))
recommended_key_buffer_size FROM
(SELECT LEAST(POWER(2,32),KBS1) KBS
FROM (SELECT SUM(index_length) KBS1
FROM information_schema.tables
WHERE engine='MyISAM' AND
table_schema NOT IN ('information_schema','mysql')) AA ) A,
(SELECT 2 PowerOf1024) B;

InnoDb

SELECT CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.49999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_innodb_buffer_pool_size
FROM (SELECT SUM(data_length+index_length) KBS FROM information_schema.tables
WHERE engine='InnoDB') A,
(SELECT 2 PowerOf1024) B;

Dies empfehlen die richtigen Größen für den MyISAM -Schlüsselcache für bestehende MyISAM und den InnoDB -Pufferpool für InnoDB -Daten und -indizes.

Während diese SQL -Abfragen die Puffergrößen empfehlen, muss der menschliche Faktor weiterhin eintreten. Wir müssen die Datennutzung basierend auf Hardware planen und häufig auf Daten zugreifen. Wir müssen auch fragen: Wie viel von meinem Arbeitssatz, wie viel von meinem Arbeitssatz empfohlen wird, wird sich tatsächlich im Speicher befinden?

Wenn Sie MySQL so konfigurieren, dass Sie 75% von RAM für InnoDB verwenden, selbst auf einem dedizierten MySQL -Server, wird das Betriebssystem ein beschäftigtes Paging für die Festplatte erhält. Nur weil MySQL große Zahlen für Puffergrößen verwenden kann, bedeutet dies nicht, dass es in Ordnung ist, die Grenzen zu überschreiten. Zwei sind zwei grundlegende Speichermotoren zu berücksichtigen.

Die Verwendung von Warenhardware zeigt lediglich die MySQL -Konfigurierbarkeit mit merklichen Ergebnissen. Es sei denn, Sie verwenden 32-Bit-Rhel (Wenn Sie sind, hören Sie bitte auf, es nutzen Sie es, holen Sie sich viel Kaffee, gehen Sie auf Upgrade) Es kann gut vertrauenswürdig sein, Puffergrößen in Lagerbestien zu erhöhen.

Zum Beispiel hat mein Arbeitgeber einen Kunden mit 3 DB -Servern, die nur MySQL gewidmet sind. Jedes hat 192 GB RAM, von denen 162 GB der InnoDB -Pufferpool ist. Das Arbeitssatz ist tatsächlich 170 GB. Während ein wenig Tausch und Paging stattfinden, ist die DB -Leistung erstaunlich. OS hat ungefähr 30 GB RAM für sich selbst (16 GB RAM -Scheibe für Tempabellen). Ich bin sicher, dass diese Server nur kleine Eidechsen sind, verglichen mit den Komodo-DB-Servern in Komodo-Drachengröße. MySQL kann der Aufgabe bei ordnungsgemäß konfiguriert sein.

Denken Sie daran, dass InnoDB seine eigenen Prüfungen und Balancen einreicht, da der aktuelle Quellcode InnoDB -Protokolldateien auf 4 GB beschränkt. Dies ist der Fall, weil InnoDB ursprünglich mit der Rohstoffhardware entworfen wurde. In Anbetracht dessen könnte der Säuretransaktionsdurchsatz dort möglicherweise ein Engpässe erfassen, unabhängig vom Hardware -Setup des Speicherbests und der Version von MySQL, die Sie ausführen möchten.

FAZIT

Es ist in Ordnung, die Grenzen der großen kräftigen DB -Server zu überschreiten. Sie sollten dies immer unter Berücksichtigung des Betriebssystems in Bezug auf Speicher, Austausch, Arbeitsdatensatz und Anzahl der erwarteten Transaktionen tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top