IMHO sollten Sie in der Lage sein, mit zu gehen
innodb_buffer_pool_size=5G
Dies entspricht 62,5% des Arbeitsspeichers bei ausreichendem Arbeitsspeicher für das Server-Betriebssystem und zusätzlichem Arbeitsspeicher für DB-Verbindungen
@kvisle empfohlen mit mysqltuner.pl. Dieses Skript eignet sich hervorragend, um die Größe des Arbeitsspeichers zu bestimmen, der für join_buffer_size, sort_buffer_size, read_buffer_size und read_rnd_buffer_size reserviert werden soll. Diese 4 zusammenaddierten Puffer werden mit max_connections multipliziert. Diese Antwort wird zu statischen Puffern hinzugefügt (innodb_buffer_pool_size + key_buffer_size). Die kombinierten Summen werden gemeldet. Wenn diese kombinierte Summe 80% des Arbeitsspeichers übersteigt, müssen Sie diese Puffergrößen verringern. mysqltuner.pl wird in dieser Hinsicht sehr hilfreich sein.
Da alle Ihre Daten InnoDB sind, können Sie key_buffer_size (Schlüssel-Cache-Puffer für MyISAM-Indizes) sehr niedrig einstellen (ich empfehle 64 MB).
Hier ist ein Beitrag, den ich in DBA StackExchange erstellt habe, um die empfohlene Größe von innodb_buffer_pool_size zu berechnen .
UPDATE 15.10.2011 19:55 EDT
Wenn Sie wissen, dass Sie über 5 GB Daten verfügen, war meine erste Empfehlung in Ordnung. Ich habe jedoch vergessen, eines hinzuzufügen:
[mysqld]
innodb_buffer_pool_size=5G
innodb_log_file_size=1280M
Die Größe der Protokolldatei muss 25% des InnoDB-Pufferpools betragen
UPDATE 2011-10-16 13:36 EDT
Die 25% -Regel basiert ausschließlich auf der Verwendung von zwei Protokolldateien. Es ist zwar möglich, mehrere innodb-Protokolldateien zu verwenden, zwei funktionieren jedoch normalerweise am besten.
Andere haben mit 25% ausgedrückt
Allerdings hat sich fairerweise jemand von der ursprünglichen InnoBase Oy-Firma gegen die 25% -Regel ausgesprochen, weil er einen größeren InnoDB-Pufferpool hat .
Natürlich kann die 25% -Regel nicht funktionieren, wenn sehr viel RAM vorhanden ist. Tatsächlich beträgt die größte zulässige Größe für innodb_log_file_size bei Verwendung von nur 2 Protokolldateien 2047 MB, da die kombinierte Größe der Protokolldatei weniger als 4 GB (4096 MB) betragen muss.
PUNKTFALL: Einer der Kunden meines Arbeitgebers verfügt über einen DB-Server mit 192 GB RAM. Es gibt keine Möglichkeit, 48G-Protokolldateien zu haben. Ich verwende einfach die maximale Dateigröße für eine Innodb-Protokolldatei, 2047M. @ Kvisles Kommentar zu meiner Antwort enthält lediglich einen Link, der besagt, dass Sie sich nicht auf zwei Protokolldateien beschränken müssen. Wenn Sie N Protokolldateien haben, können diese nicht 4 GB umfassen. Meine 25% -Regel ist nur in einer perfekten Welt (DB Server mit 8 GB oder weniger).