Hay algunas opciones de configuración que debe considerar antes de comenzar.
Mientras no esté usando myisam en absoluto, puede asignar de forma segura casi todo (mantener lo suficiente para que su sistema operativo se ejecute cómodamente y lo suficiente para su max_connections
) memoria innodb_buffer_pool
. Lo bueno de InnoDB es que maneja casi todas las cosas de la memoria por sí solo, no es necesario separar cosas como cachés de consultas, memorias intermedias de claves, etc.
Le recomendaría que lo habilite innodb_file_per_table
, simplemente porque hace que sea mucho más fácil simplemente explorar el sistema de archivos y ver cuánto espacio necesitan las diferentes tablas y bases de datos. Aún necesitará un archivo genérico de ibdata para uso interno de InnoDB, pero puede definirlo como 10M:autoextend
. No es necesario definir muchos archivos de datos innodb diferentes con tamaños asignados previamente.
innodb_log_file_size
y innodb_log_buffer_size
combinado debe ser más grande que diez veces su objeto blob más grande si tiene muchos grandes. Si no lo hace (y no debería [ 1 , 2 ]), realmente no hay necesidad de molestarse mucho con eso. Consulte el Blog de rendimiento de MySQL para obtener un informe detallado sobre cómo calcular.
Y cuando haya ejecutado su MySQL por un tiempo, verifique su configuración con MySQLTuner o MySQL Tuning Primer .
Para un informe más detallado, intente mysqlreport , y para monitoreo en vivo, revise mytop .
Una pequeña "sorpresa" para mí fue que innodb usa, por defecto, un archivo para todas las bases de datos / tablas. A diferencia de las tablas MyISAM que usan un directorio por base de datos y archivos por tabla / índice de tabla.
Eso podría importar si está acostumbrado a reducir los archivos físicos en una tabla (optimizar la tabla xxx)
fuente