Interessanterweise können Sie in MySQL 5.5 jetzt mehrere innodb-Pufferpools haben.
Die Parameter, die Sie interessieren, sind
In ungefähr einem Monat soll ich 112 Innodb-Pufferpools für einen Client implementieren. Ich werde dich wissen lassen, wie es gelaufen ist.
UPDATE 2011-02-27 21:57 EDT
Ich habe herausgefunden, dass der maximale Wert für innodb_buffer_pool_instances 64 ist. Ich habe mich entschieden, 144 GB zu konfigurieren. Daher habe ich innodb_buffer_pool_instances auf 18 und innodb_buffer_pool_size auf 8 gesetzt. Ich lade derzeit den Server mit 450 GB
UPDATE 2011-04-28 13:44 EDT
Ich habe mehrere InnoDB Buffer Pools ausprobiert. Es gab zu viel Threading Locking und Streit. Ich habe auf einen einzigen 162-GB-Pufferpool umgestellt und read_io_threads und write_io_threads auf 64 (Maximalwert) gesetzt. Das hat viel besser funktioniert.
UPDATE 2012-07-03 17:27 EDT
Ich habe etwas Erstaunliches über MySQL gelernt. Wenn Sie einen einzelnen monolithischen InnoDB-Pufferpool zuweisen, der größer ist als die installierte Gesamtmenge geteilt durch die Anzahl der physischen CPUs , wird das Betriebssystem aufgrund eines vollständigen InnoDB-Pufferpools zu einem regelmäßigen Speicheraustausch veranlasst. Die als innodb_buffer_pool_instances bekannte Option von MySQL 5.5 kann verwendet werden, um den Pufferpool aufzuteilen. Gestern habe ich dies für den Kunden, den ich letztes Jahr in meiner Antwort erwähnt habe, richtig implementiert. Ich habe noch 162 GB für den Buffer Pool des Kunden. Ich habe die Option innodb_buffer_pool_instances des Servers auf 2 gesetzt, da jeder DB-Server dual hexacore ist. Ich wollte es auf 12 setzen, aber dann zeigte mir ein Kollege einen Blog von Jeremy Cole über MySQL und Swappiness. Nachdem ich es gelesen habe, setze ich es sofort für meinen Klienten in die Praxis um. Ich habe diesen Befehl ausgeführt
numactl --hardware
Ich sah eine Zuordnung von 192 GB Server-RAM als 96 GB für jeden physischen Kern. Daher habe ich die innodb_buffer_pool_instances auf 2 gesetzt. Im Moment sieht es gut aus. Ich werde meine Antwort aktualisieren, um zu sehen, wie sich dies auf den Speicheraustausch für die nächsten 2 Monate auswirkt.