Los siguientes criterios de configuracion, los he aplicado a un servidor de 8 cores y 8 gb en RAM, y la cosa funciona de maravilla.
Sobre el MYSQL que corre en este servidor hay tablas tanto innodb como myisam. incluyo parametros para las dos engines.
[mysqld]
innodb_log_buffer_size=8M
#Explicacion: medida del buffer que innodb usara para su archivo de log.
#Consecuencia:Un buffer de log grande, permite a transacciones extensas ejecutarce, sin necesidad de acceso a disco antes de que la
# transaccion se confirme.
#Criterio de calculo: 1MB por cada GB de RAM.
innodb_buffer_pool_size=4294967296
#Explicacion: Empleado para almacenamiento intermedio de los datos e indices de sus tablas
#Consecuencia: Mientras mas grande sea este valor menos operaciones de IO disco seran necesarias para acceder a los datos de las tablas.
#Criterio de calculo: En un servidor de base de datos dedicado se puede asignar hasta el 80% de la memoria RAM. No dedicados Menos del 50% de RAM.
innodb_buffer_mem_pool_size=16M
#Explicacion: almacena info del diccionario de datos y estructuras internas, el valor por defecto es de 1MB
#Consecuencia: Evita que se haga paginacion a disco cuando, se acaba la memoria de este pool.
#Criterio de calculo: Entre mas tablas se tengan en la aplicacion, mayor debera ser el tamaño de este buffer,.
join_buffer_size=16777216
#Explicacion: buffer que se usa para joins que no usan índices (full joins)
#Consecuencia: obtencion de un full join más rápido ( cuando se añaden índices no es posible.)
#Criterio de calculo:2097152 bytes por cada Gigabyte de RAM.
skip-bdb
skip-ndbcluster
#Explicacion: Deshabilita el soporte para base de datos bdb y ndbcluster
#Consecuencia: Ahorro en la memoria asignada por sistema operativo al proceso mysqld
innodb_data_file_path=/dev/hdc1:250MBraw;/dev/hdc2:250MBraw
#Explicacion: Utilizar dispositivos crudos como Datafiles
#Consecuencia: Aumento en velocidad relacionada a operaciones de IO sobre disco.
query_cache_size=134217728
#Explicacion: Almacena el texto de una consulta SELECT junto con el resultado que se le envió al cliente.
#Consecuencia: Si se recibe una consulta idéntica posteriormente, el servidor devuelve el resultado de la
# caché de consultas en lugar de parsear y ejecutar la consulta de nuevo.
#Criterio de calculo:16777216 bytes por cada Gigabyte de RAM.
query_cache_limit=1M
#Criterio de calculo: consultas menores a 1MB no merecen ser cacheadas.
query_cache_type=1
#Consecuencia: Permite el cacheo excepto para aquellos comandos que empiecen con SELECT SQL_NO_CACHE
key_buffer_size=100663296
#Explicacion: Cachea los bloques de índices para tablas MyISAM. Cada vez que una búsqueda usa un índice,
# MySQL mirará antes de nada a ver si el índice relevante está o no en memoria.
#Consecuencia: Incrementando el valor se obtiene un mejor tratamiento de índices y por consecuencia, mejor rendimiento.
#Criterio de calculo:12582912 bytes por cada Gigabyte de RAM. Pero si solo se utilizan tablas MyISAM utilice 5% a 50% de la RAM.
sort_buffer=67108864
#Explicacion: Búffer de ordenación se usa para responder a búsquedas que involucren el ordenamiento de los datos -aquellas
# con una sentencia ORDER BY en ellas. Además, el búffer de ordenaciónse usa para las búsquedas que involucren
# agrupar datos -aquellas con una sentencia GROUP BY.
#Consecuencia: Reduce dramáticamente la cantidad de tiempo que se usa para ordenar grandes grupos de resultados
#Criterio de calculo: 8388608 bytes por cada Gigabyte de RAM.
read_buffer_size=8M
#Explicacion: Cada thread que realiza un escaneo secuencial reserva un buffer de su tamaño (en bytes) para cada tabla que escanea.
# Si realiza muchos escaneos secuenciales, puede incrementar este valor.
#Consecuencia: Mejora el rendimiento en los escaneos secuenciales.
#Criterio de calculo: 1MB por cada Gigabyte de RAM.
open_files_limit=4096
#Explicacion: limite de archivos abiertos por mysql
#Consecuencia: Ciertas operaciones requeriran mas de 1024 descriptores de archivos abiertos en mysqld, sobre todo aplicaciones web.
#Criterio de calculo: 1024 es el predeterminado, aumente este valor si observa errores referentes a esto en el log de errores de mysql.
# No aumente este valor mas alla de 4kb.
[mysqldump]
quick
Si tienen algo que agregar a esta configuracion, u algun otro criterio, lo anexare a este articulo a la brevedad.
Feliz año nuevo 2007 ![]()
