Configurar MySQL Performance Tuning

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:

  1. Modo DataSync: Cuando se escriben datos, escribir este paso no es necesario que en realidad escrito en el disco no está completa (probablemente escrito en la memoria intermedia en el sistema operativo volverá a completa), es verdadera operación completa ras, amortiguador para el sistema operativo a ras, y archivos de información de metadatos también necesitan ser actualizados en el disco.
  2. Modo O_DSYNC: escrita operación de registro se haya completado este paso para escribir, y escribir archivos de datos se lleva a cabo en fsync ras este paso.
  3. O_DIRECT modo: los archivos de datos de escritura de MySQL InnoDB amortiguar directamente en el disco, el sistema operativo no utiliza un buffer, sino también en el rubor verdaderamente completa este paso, o para ir a través del búfer de registro del sistema operativo.

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:不管有没有提交,每秒钟都写到binlog日志里.
  • 1:每次提交事务,都会把log buffer的内容写到磁盘里去,对日志文件做到磁盘刷新,安全性最好。
  • 2:每次提交事务,都写到操作系统缓存,由OS刷新到磁盘,性能最好。

非生产环境,测试极限性能,可以设置为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,关闭性能模式。

Supongo que te gusta

Origin www.cnblogs.com/myzan/p/12659461.html
Recomendado
Clasificación