À mon humble avis, vous devriez être en mesure d'aller avec
innodb_buffer_pool_size=5G
Ce serait 62,5% de RAM avec une quantité suffisante de RAM pour le système d'exploitation du serveur plus la mémoire pour les connexions DB
@kvisle a recommandé d'utiliser mysqltuner.pl. Ce script est excellent pour juger de la quantité de RAM à consacrer à join_buffer_size, sort_buffer_size, read_buffer_size et read_rnd_buffer_size. Ces 4 tampons additionnés sont multipliés par max_connections. Cette réponse est ajoutée aux tampons statiques (innodb_buffer_pool_size + key_buffer_size). Les sommes combinées sont déclarées. Si cette somme combinée dépasse 80% de la RAM, c'est à ce moment que vous devez réduire ces tailles de mémoire tampon. mysqltuner.pl sera très utile à cet égard.
Étant donné que toutes vos données sont InnoDB, vous pouvez rendre key_buffer_size (tampon de cache de clé pour les index MyISAM) très faible (je recommande 64 Mo).
Voici un article que j'ai fait dans le DBA StackExchange pour calculer une taille recommandée pour innodb_buffer_pool_size .
MISE À JOUR 2011-10-15 19:55 EDT
Si vous savez que vous disposerez de 5 Go de données, ma première recommandation était OK. Cependant, j'ai oublié d'ajouter une chose:
[mysqld]
innodb_buffer_pool_size=5G
innodb_log_file_size=1280M
La taille du fichier journal doit être de 25% du pool de tampons InnoDB
MISE À JOUR 2011-10-16 13:36 EDT
La règle des 25% est strictement basée sur l'utilisation de deux fichiers journaux. Bien qu'il soit possible d'utiliser plusieurs fichiers journaux innodb, deux fonctionnent généralement mieux.
D'autres ont exprimé en utilisant 25%
Cependant, en toute honnêteté, quelqu'un de la société InnoBase Oy d'origine a déclaré ne pas utiliser la règle des 25% en raison du plus grand pool de tampons InnoDB .
Naturellement, la règle des 25% ne peut pas fonctionner avec de grandes quantités de RAM. En fait, la plus grande taille innodb_log_file_size autorisée en utilisant seulement 2 fichiers journaux est 2047M, car la taille combinée du fichier journal doit être inférieure à 4G (4096M)
CAS EN POINT: Un des clients de mon employeur a un serveur DB avec 192 Go de RAM. Il n'y a aucun moyen d'avoir des fichiers journaux 48G. J'utilise simplement la taille de fichier maximale pour un fichier journal innodb, 2047M. @ Le commentaire de Kvisle sur ma réponse donne simplement un lien indiquant que vous n'avez pas à vous limiter à deux fichiers journaux. Si vous avez N fichiers journaux, ils ne peuvent pas totaliser la 4G. Ma règle des 25% est juste dans un monde parfait (serveur DB avec 8 Go ou moins).