propósito
Para diferentes escenarios de negocio, mediante el ajuste de los parámetros de la configuración de la base de datos puede mejorar efectivamente el rendimiento del servidor.
método
Utilizando los siguientes parámetros del perfil para iniciar la base de datos, la configuración predeterminada de ruta de archivo /etc/my.cnf, en el que el almacenamiento de datos y modificación del software de instalación de MySQL ruta de acuerdo a la situación real.
[La mysqld_safe] log-error = / Data / MySQL / log / mariadb.log PID = -File / Data / MySQL / RUN / mysqld.pid [cliente] Socket = / Data / MySQL / RUN / mysql.sock default-caracte- = UTF-8 SET [mysqld] del basedir = / usr / local / MySQL TMPDIR = / datos / MySQL / tmp DATADIR = / datos / MySQL / Data Socket = / datos / MySQL / RUN / mysql.sock puerto = 3306 usuario = la raíz default_authentication_plugin = mysql_native_password SSL # 0 = apagado SSL max_connections = # 2000 conjunto el número máximo de conexiones back_log = 2048 # coloca en el número de solicitud de sesión caché performance_schema = NO # modo de rendimiento de cierre max_prepared_stmt_count = 128000 #file la innodb_file_per_table previsto para cada archivo de la tabla # innodb_log_file_size = 1500M # set tamaño de archivo de registro innodb_log_files_in_group = 32 # set número de grupo logfile innodb_open_files = 4000 # establecer el número máximo de tablas abiertas #buffers innodb_buffer_pool_size = Set # 230G tamaño de la memoria, por lo general servidor de la memoria% 60 innodb_buffer_pool_instances # 16 Set número = amortiguación ejemplo piscina, para mejorar la concurrencia innodb_log_buffer_size = 64M # Establece el tamaño del tamaño de búfer de registro #tune sync_binlog = 1 # set sync_binlog cada confirmación de transacción placa de escobillas innodb_flush_log_at_trx_commit = 1 # cuando MySQL cada cometer el registro de datos de memoria intermedia se escribe en el archivo de registro, y al ras (cepillo en el disco) ir innodb_use_native_aio = 1 # asíncrona abierto IO conjunto innodb_spin_wait_delay = 180 [parámetro # spin_wait_delay para evitar entrar de spin innodb_sync_spin_loops = 25 # tiempos de ciclo de ajuste spin_loops, evitar el acceso de giro innodb_flush_method = O_DIRECT # set innodb y archivo de datos de registro de rehacer se abre, el modo de cepillo de escritura innodb_io_capacity = 20000 # innodb fondo hilo para conjunto límite máximo por iops innodb_io_capacity_max = 40000 # set bajo presión innodb límite máximo por iops subproceso de fondo innodb_lru_scan_depth = 9000 hilos # configuración de página más limpias cada número de cepillo de páginas sucias innodb_page_cleaners = 16 # se proporciona para datos sucios de escritura a las roscas de disco #perf especial innodb_flush_neighbors # 0 =, donde la zona de detección (extensión) de todas las páginas, si páginas sucias, la actualización, SSD desactivar la función de innodb_write_io_threads = 16 # conjunto para escribir el número de hilos innodb_read_io_threads = 16 # coloca en el número de hilos de lectura innodb_purge_threads = 32 # coloca en la recuperación ha sido utilizado y asignado deshacer la página hilos sql_mode = STRICT_TRANS_TABLES, NO_ENGINE_SUBSTITUTION, NO_AUTO_VALUE_ON_ZERO, STRICT_ALL_TABLES
nombre del parámetro |
Significado de parámetros |
Sugerencias de optimización |
---|---|---|
innodb_thread_concurrency |
InnoDB utiliza los hilos del sistema operativo para manejar la solicitud de transacción desde el usuario. |
Recomendaciones del valor predeterminado de 0, que indica no limitar el número de hilos se ejecutan simultáneamente de forma predeterminada. |
innodb_read_io_threads |
cola de solicitudes de ejecución de la solicitud operación de lectura al número de hilos. |
CPU cantidad de núcleos y leer y escribir de acuerdo a la proporción de más cambios para mejorar el rendimiento. |
innodb_write_io_threads |
hilos de cola de escritura para realizar la petición de la operación solicitada. |
CPU cantidad de núcleos y leer y escribir de acuerdo a la proporción de más cambios para mejorar el rendimiento. |
query_cache_size |
query_cache_size tamaño del conjunto. |
Caché de consultas (query cache) es un cuello de botella posición conocida, aparecerá incluso cuando la cantidad de concurrencia no es muy alta. La mejor opción es deshabilitarlo desde el principio. Al establecer query_cache_size = 0, recomienda deshabilitar la caché de consultas. |
innodb_buffer_pool_instances |
Abrir pluralidad de grupos de memoria, la necesidad de amortiguar los datos en diferentes grupo de búferes de hash, que puede leer y escribir la memoria en paralelo. |
8 a 16 se recomienda ajustar. |
innodb_open_files |
En el modo innodb_file_per_table, limitar el número de archivos que se pueden abrir InnoDB. |
Este valor se recomienda para transferir gran número, especialmente de las circunstancias especiales de mesas múltiples. |
innodb_buffer_pool_size |
datos de la caché local y los índices. |
La memoria se recomienda generalmente alrededor del 70%. |
innodb_log_buffer_size |
Cache rehacer logs. |
El valor predeterminado es 64M, recomendado por buscar innodb_log_wait, ajustar el tamaño innodb_log_buffer_size. |
innodb_io_capacity |
innodb iops subproceso de fondo por segundo límite máximo. |
Recomendaciones para la capacidad total IO QPS 75%. |
innodb_log_files_in_group |
El número de grupos de registro de rehacer. |
- |
innodb_log_file_size |
Rehacer el tamaño del archivo de registro. |
Si hay un gran número de operaciones de escritura, se recomienda aumentar el tamaño del archivo de registro, pero el archivo de registro es demasiado grande, se afectará el tiempo de recuperación de datos. Si un entorno no productivo, poniendo a prueba el rendimiento límites, tratar de transferir grandes archivos de registro. Si una escena comercial, tenga en cuenta el tiempo de recuperación de datos, ajuste el tamaño del archivo de registro después de un compromiso integral. |
innodb_flush_method |
Registro y actualización de datos discos método:
|
Recomendamos el modo O_DIRECT. |
innodb_spin_wait_delay |
intervalo de control de sondeo. |
De acuerdo a depurar escena real hasta que no splin_lock función de punto de acceso y así sucesivamente. |
innodb_sync_spin_loops |
El número de ilusoria de control de sondeo. |
De acuerdo a depurar escena real hasta que no splin_lock función de punto de acceso y así sucesivamente. |
innodb_lru_scan_depth |
El número de páginas disponibles lista LRU. |
默认值是1024,非生产环境,测试极限性能可以适当调大,减少checkpoint次数。 |
innodb_page_cleaners |
刷新脏数据的线程数。 |
建议与innodb_buffer_pool_instances相等。 |
innodb_purge_threads |
回收undo的线程数。 |
- |
innodb_flush_log_at_trx_commit |
|
非生产环境,测试极限性能,可以设置为0。 |
innodb_doublewrite |
是否开启二次写。 |
非生产环境,测试极限性能,可以设置为0,关闭二次写。 |
ssl |
是否开启安全连接。 |
安全连接对性能影响较大,非生产环境,测试极限性能,可以设置为0;商用场景,根据客户需求调整。 |
skip_log_bin |
是否开启binlog。 |
非生产环境,测试极限性能在参数文件中增加此参数,关闭binlog选项。 |
innodb_checksum_algorithm |
数据完整性校验。 |
非生产环境,测试极限性能设置成none,不启用算法校验。 |
binlog_checksum |
Binlog完整性校验。 |
非生产环境,测试极限性能设置成none,不启用算法校验。 |
innodb_log_checksums |
Log完整性校验。 |
非生产环境,测试极限性能设置成0,关闭log checksum。 |
foreign_key_checks |
外键校验。 |
非生产环境,测试极限性能设置成0,关闭外键校验。 |
performance_schema |
是否开启性能模式。 |
非生产环境,测试极限性能设置为OFF,关闭性能模式。 |