IMHO powinieneś być w stanie iść z
innodb_buffer_pool_size=5G
To byłoby 62,5% pamięci RAM z wystarczającą ilością pamięci RAM dla systemu operacyjnego serwera oraz pamięcią dla połączeń DB
@kvisle zaleca korzystanie z mysqltuner.pl. Ten skrypt jest doskonały do oceny ilości pamięci RAM, którą należy poświęcić na rozmiar_łączenia_buforu, rozmiar_buforu sortowania, rozmiar_buforu odczytu i rozmiar_buforu odczytu. Te 4 bufory dodane razem są mnożone przez max_connections. Ta odpowiedź jest dodawana do buforów statycznych (innodb_buffer_pool_size + key_buffer_size). Połączone kwoty są zgłaszane. Jeśli ta łączna suma przekracza 80% pamięci RAM, wówczas należy zmniejszyć te rozmiary buforów. mysqltuner.pl będzie bardzo pomocny w tym zakresie.
Ponieważ wszystkie dane to InnoDB, możesz bardzo zmniejszyć key_buffer_size (bufor pamięci podręcznej dla indeksów MyISAM) (zalecam 64M).
Oto post, który napisałem w DBA StackExchange, aby obliczyć zalecany rozmiar innodb_buffer_pool_size .
AKTUALIZACJA 15.10.2011 19:55 EDT
Jeśli wiesz, że będziesz mieć 5 GB danych, to moja pierwsza rekomendacja była OK. Jednak zapomniałem dodać jedną rzecz:
[mysqld]
innodb_buffer_pool_size=5G
innodb_log_file_size=1280M
Rozmiar pliku dziennika musi wynosić 25% puli buforów InnoDB
AKTUALIZACJA 16.10.2011 13:36 EDT
Reguła 25% opiera się wyłącznie na dwóch plikach dziennika. Chociaż możliwe jest użycie wielu plików dziennika innodb, dwa zwykle działają najlepiej.
Inni wyrazili przy użyciu 25%
Jednak, szczerze mówiąc, ktoś z oryginalnej firmy InnoBase Oy wyraził opinię, że nie stosuje reguły 25% z powodu posiadania większej puli buforów InnoDB .
Oczywiście reguła 25% nie może działać, gdy ma się dużo pamięci RAM. W rzeczywistości największy dozwolony rozmiar pliku dziennika_wpisu_logowania przy użyciu tylko 2 plików dziennika to 2047 mln, ponieważ łączny rozmiar pliku dziennika musi być mniejszy niż 4G (4096 mln)
PRZYPADEK: Jeden z moich klientów pracodawcy ma serwer DB z 192 GB pamięci RAM. Nie ma możliwości posiadania plików dziennika 48G. Po prostu używam maksymalnego rozmiaru pliku dziennika innodb, 2047M. Komentarz @ Kvisle do mojej odpowiedzi zawiera po prostu link stwierdzający, że nie musisz ograniczać się do dwóch plików dziennika. Jeśli masz N plików dziennika, nie mogą one łącznie 4G. Moja zasada 25% jest po prostu w idealnym świecie (serwer DB z 8 GB lub mniej).