1. Key buffer
    1. almena indices de ladb en memoria (debe ser capas de soportar todos los indices) Ejm: key_buffer = 500M key_buffer = 500M
      1. valores adecuados?
        1. key_read_requests número total de solicitudes clave servidas desde el cachí©
        2. Key_reads número de veces que MySQL ha tenido que accesar el sistema de archivos para buscar las llaves
  2. Cache de Tabla
    1. El table_cache de MySQL dice cuántas tablas se pueden tener abiertos en cualquier momento. En consultas SQL, tí­picamente varias tablas estan unidas. La regla general es que deben multiplicar el número máximo de conexiones (que se describe a continuación) por el número máximo de tablas utilizadas en joins. Por ejemplo, si el número máximo de conexiones se establece en 400, el cachí© de la tabla debe ser de al menos 400 * 10. La opción de configuración a continuación muestra una tabla de cachí© de 4000: table_cache = 4000
  3. Buffers
    1. Utilizados a nivel global para todas las conexiones
    2. los dedicados a las conexiones
  4. Ordenar buffers
    1. MySQL ordena los resultados de una consulta antes de que sean devueltos. El sort buffer es por conexión, por lo que se debe multiplicar el tamaño del sort buffer por el número máximo de conexiones para predecir los requisitos de memoria del servidor. En nuestro caso usamos un sort buffer de 3MB con 400 conexiones max, el cual puede utilizar un total de 1,2 GB de memoria. sort_buffer_size = 3M
  5. Conexiones Màximas
    1. MySQL tiene una limitación en el número de conexiones simultáneas que pueden mantener abiertas. Si está usando conexiones persistentes ,cada proceso de Apache se mantendrá una conexión abierta a MySQL. Esto significa que usted necesita para establecer el número máximo de conexiones en MySQL a igual o mayor que el número de procesos de Apache que pueden conectarse a la base de datos.En un entorno con clústeres, debe sumar los procesos en cada servidor web a fin de determinar el máximo. El establecimiento de 400 conexiones se muestra a continuación. max_connections = 400 max_connections = 400
  6. Cachí© de consultas
    1. MySQL es capaz almacenar en cachí© los resultados de una consulta. La próxima vez que la misma consulta se ejecuta el resultado es devuelto inmediatamente, ya que se lee del cachí© en lugar de la base de datos. Para un sitio de lectura intensiva, esto puede proporcionar una importante mejora del rendimiento.Para habilitar el cachí© de consultas, establecer el tipo de “1″: query_cache_type = 1 Puede configurar el tamaño maximo de cada consulta que puede ser almacenada en cachí©. Si el resultado de la consulta es mayor que el lí­mite de cachí© de consultas, los resultados no se guardaran. Esto es normalmente establecido a 1M: query_cache_limit = 1M La cantidad de memoria disponible globalmente para el cache de consultas se establece con el query_cache_size. Esto deberí­a ser bastante grande , y debe ser aumentado en tamaño para grandes bases de datos. query_cache_size = 100M Para ajustar la cachí© de consultas, use el comando SHOW STATUS. Esto puede ser utilizado para determinar los ajustes que necesitan ser modificados y para ver el efecto de alteraciones. The show status command will show you if the query cache is heavily in use and if you have free memory, which indicates whether the query cache buffer settings should be increased or decreased. El comando SHOW STATUS le mostrará si la cachí© de consultas está muy en uso y si tiene memoria libre, lo que indica si el buffer del cachí© de consultas debe ser aumentado o disminuido. +-------------------------+----------+ +-------------------------+----------+ | Variable_name | Value | | Variable_name | Valor | +-------------------------+----------+ +-------------------------+----------+ | Qcache_free_blocks | 34 | | Qcache_free_blocks | 34 | | Qcache_free_memory | 16466312 | | Qcache_free_memory | 16466312 | | Qcache_hits | 1313227 | | Qcache_hits | 1313227 | | Qcache_inserts | 78096 | | Qcache_inserts | 78096 | | Qcache_lowmem_prunes | 0 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 3328 | | Qcache_not_cached | 3328 | | Qcache_queries_in_cache | 140 | | Qcache_queries_in_cache | 140 | | Qcache_total_blocks | 346 | | Qcache_total_blocks | 346 | +-------------------------+----------+ +-------------------------+----------+ 8 rows in set (0.00 sec) 8 filas en el conjunto (0,00 segundos)
  7. Script para afinar y optimizar el rendimiento de MySQL
    1. Este script toma la información de SHOW STATUS y SHOW VARIABLES para producir recomendaciones para ajustar las variables de servidor. Es compatible con todas las versiones de MySQL 3.23 y superior (incluyendo 5.1). Actualmente se ocupa de recomendaciones de optimizacion para: * Slow Query Log * Max Connections * Worker Threads * Key Buffer * Query Cache * Sort Buffer * Joins * Temp Tables * Table (Open & Definition) * Table Locking Cuadro de bloqueo * Table Scans (read_buffer) * Innodb Status
      1. tuning-primer.sh