Mam bardzo ładną, waniliową konfigurację mysql 5.1 i staram się ją dostroić. Znalazłem to handy scriptmysql tuning variables - current & defaults
Wykonana następujące propozycje:
query_cache_limit (> 1M, or use smaller result sets)
query_cache_size (> 16M)
join_buffer_size (> 128.0K, or always use indexes with joins)
table_cache (> 64)
innodb_buffer_pool_size (>= 14G)
W czytania na co to znaczy i jakie są aktualnie ustawiony, stwierdziliśmy, że mogę uruchomić „zmiennych mysqladmin”
Moje bieżące wartości to:
query_cache_limit | 1048576
query_cache_size | 16777216
join_buffer_size | 131072
innodb_buffer_pool_size | 8388608
Jak mogę je przeczytać, czy są to kilobajty? więc czy 1M, 16M, 13M i 8M?
Moje pudełko ma tylko 4G pamięci RAM i na zwykły dzień miało tylko kilkaset megabajtów wolnego od pamięci. Powinienem następujące sugestie i zrobić:
#innodb_buffer_pool_size = 15G
#table_cache = 128
#join_buffer_size = 32M
#query_cache_size = 64M
#query_cache_limit = 2M
Im mylone przez 15G, jest to dysk przestrzeń rzeczą, nie jest rzeczą pamięć? Jeśli tak, to zalecenia nie są zbyt dobre, prawda?
Czy powinienem otrzymać więcej pamięci na moje pudełko?
Więcej informacji: - Mój rozmiar db jest 34Gigs, używam wszystkich innodb, mam 71 tabel, 4 z nich są ogromne, reszta jest mała. Zastanawiałem się nad przeniesieniem dużych do SOLR i wykonaniem wszystkich zapytań, ale chciałem zobaczyć, co mogę zrobić z podstawowym strojeniem.
dzięki Joel
Uważam, że jest to przydatna lektura http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/ –
To może być lepiej zadane na serverfault.com –
Przeczytałem perfloga, ale wciąż byłem zdezorientowany, Myślę, że zakłada on, że już wiesz, co ta zmienna jest i robi. – Joelio