Su proceso es lento debido a la gran I/O
actividad del disco para las operaciones de SQL. Necesita optimizar innodb para operaciones intensivas. Modifique su archivo de configuración mysql para tener estas líneas:
innodb_buffer_pool_size = 4G
innodb_log_buffer_size = 256M
innodb_log_file_size = 1G
innodb_write_io_threads = 16
innodb_buffer_pool_size: el área de memoria donde InnoDB almacena en caché la tabla y los datos de índice. Cuando los datos de la tabla se almacenan en caché en el grupo de búferes InnoDB, se puede acceder a ellos repetidamente mediante consultas sin requerir ninguna E / S de disco. Los cambios de datos se almacenan en caché en lugar de escribirse inmediatamente en el disco.
Una agrupación de almacenamiento intermedio más grande requiere menos E / S de disco para acceder a los mismos datos de la tabla más de una vez. En un servidor de base de datos dedicado, puede establecer el tamaño de la agrupación de almacenamiento intermedio en el 80% de la memoria física de la máquina; de lo contrario, usar el 50 to 75
porcentaje de memoria del sistema. El tamaño predeterminado de la agrupación de almacenamiento intermedio es 128 MB
innodb_log_buffer_size: el tamaño en bytes del búfer que InnoDB usa para escribir en los archivos de registro en el disco.
Un búfer de registro grande permite ejecutar transacciones grandes sin la necesidad de escribir el registro en el disco antes de que se confirmen las transacciones. Por lo tanto, si tiene transacciones que actualizan, insertan o eliminan muchas filas, hacer que el búfer de registro sea más grande ahorra E / S de disco.
innodb_log_file_size: el tamaño en bytes de cada archivo de registro en un grupo de registro. Un tamaño grande asegura que el servidor pueda suavizar los picos y los canales en la actividad de carga de trabajo, lo que a menudo significa que hay suficiente espacio de rehacer registro para manejar más de una hora de actividad de escritura. Cuanto mayor sea el valor, se requiere menos actividad de vaciado del punto de control en el grupo de búferes, lo que ahorra E / S de disco
Innodb_write_io_threads: el número de subprocesos de E / S para operaciones de escritura en InnoDB. El valor predeterminado es 4. InnoDB utiliza subprocesos en segundo plano para atender varios tipos de solicitudes de E / S. . Puede configurar la cantidad de subprocesos en segundo plano que sirven para leer y escribir E / S en páginas de datos utilizando los parámetros de configuración innodb_read_io_threads e innodb_write_io_threads.
Estos parámetros significan el número de subprocesos en segundo plano utilizados para las solicitudes de lectura y escritura, respectivamente. Cada subproceso en segundo plano puede manejar hasta 256 solicitudes de E / S pendientes.