Tengo una bonita configuración de mysql 5.1 de vainilla, y estoy intentando sintonizarla. He encontrado esta handy scriptvariables de sintonización de mysql - actuales y predeterminadas
Se hizo las siguientes sugerencias:
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)
En leer sobre lo que significan y lo que se establecen actualmente a, he encontrado que puedo correr "mysqladmin variables"
Mis valores actuales son:
query_cache_limit | 1048576
query_cache_size | 16777216
join_buffer_size | 131072
innodb_buffer_pool_size | 8388608
¿Cómo leo estos, son Kbytes? entonces ¿eso es 1M, 16M, 13M y 8M?
Mi caja es solo 4G de Ram y en un día normal solo tenía algunos cientos de megas libres de memoria. Debería seguir estas sugerencias y hacer:
#innodb_buffer_pool_size = 15G
#table_cache = 128
#join_buffer_size = 32M
#query_cache_size = 64M
#query_cache_limit = 2M
Im confundido por el 15G, es esto algo de espacio en disco, no es una cosa de la memoria? Si es así, entonces las recomendaciones no son muy buenas ¿verdad?
¿Debo obtener más memoria para mi caja?
Más información: - Mi tamaño de db es 34Gigs, utilizo todas las innodb, tengo 71 tablas, 4 de ellas son enormes, el resto son pequeñas. He estado pensando en mover los grandes a SOLR y hacer todas las consultas desde allí, pero quería ver qué puedo hacer con la sintonización básica.
gracias Joel
Encontré esto una lectura útil http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/ –
Esto podría ser mejor preguntado en serverfault.com –
Leí el perfblog, pero todavía estaba confundido, Creo que asume que ya sabes qué es esa variable y qué hace. – Joelio