Probando un ajuste ligero en MariaDB usando mysqltuner

6 min

language: ja bn de en es fr hi ko pt ru zh-cn zh-tw

Hola, soy un inútil.
Mientras buscaba algo con lo que jugar en MariaDB para pasar el tiempo, encontré un software de ajuste de MySQL llamado mysqltuner y lo instalé.

Instalación

En Devuan, la instalación se realiza de la siguiente manera:

sudo apt install mysqltuner

Ejecución

Comienza de forma interactiva así:

$ mysqltuner
 >>  MySQLTuner 1.9.9
         * Jean-Marie Renouard <jmrenouard@gmail.com>
         * Major Hayden <major@mhtx.net>
 >>  Bug reports, feature requests, and downloads at http://mysqltuner.pl/
 >>  Run with '--help' for additional options and output filtering

[--] Skipped version check for MySQLTuner script
Please enter your MySQL administrative login: root
Please enter your MySQL administrative password: 

Finalmente, apareció algo como esto:

General recommendations:
   You are using n unsupported version for production environments
   Upgrade as soon as possible to a supported version !
   Reduce or eliminate unclosed connections and network issues
   Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1
   We will suggest raising the 'join_buffer_size' until JOINs not using indexes are found.
            See https://dev.mysql.com/doc/internals/en/join-buffer-size.html
            (specially the conclusions at the bottom of the page).
   Performance schema should be activated for better diagnostics
   Before changing innodb_log_file_size and/or innodb_log_files_in_group read this: https://bit.ly/2TcGgtU
Variables to adjust:
   skip-name-resolve=1
   join_buffer_size (> 256.0K, or always use indexes with JOINs)
   table_definition_cache(400) > 585 or -1 (autosizing if supported)
   performance_schema=ON
   innodb_buffer_pool_size (>= 1.3G) if possible.
   innodb_log_file_size should be (=32M) if possible, so InnoDB total log files size equals 25% of buffer pool size.

Parece que es mejor omitir la resolución de nombres DNS.
※Parece ser una trampa; si estás usando user@localhost dentro de MariaDB, quizás sea mejor no hacerlo: Si escribes skip-name-resolve, es posible que no puedas conectarte a la base de datos – netcreates. blog
Así que busqué el archivo conf de la sección objetivo con grep -r mysqld y encontré la ruta /etc/mysql/mariadb.conf.d/50-server.cnf, así que lo añadí.
Y parece que es mejor ajustar el tamaño de join_buffer_size, así que lo cambiaré.
También parece que es mejor configurar la caché de definición de tablas, así que la cambiaré.
Parece que es mejor especificar el tamaño del archivo de registro de innodb para que no se agrande demasiado.
También especifiqué el tamaño del pool de innodb, pero lo mantuve bastante pequeño.

[mysqld]
skip-name-resolve=1
join_buffer_size = 512K
table_definition_cache = 600
innodb_log_file_size = 32M
innodb_buffer_pool_size = 2G

Si ya está comentado en la sintaxis, descoméntalo, aplica la configuración anterior y reinicia MariaDB.

sudo service mariadb restart

Y el resultado de ejecutar mysqltuner de nuevo.

General recommendations:
    You are using n unsupported version for production environments
    Upgrade as soon as possible to a supported version !
    MySQL was started within the last 24 hours - recommendations may be inaccurate
    We will suggest raising the 'join_buffer_size' until JOINs not using indexes are found.
             See https://dev.mysql.com/doc/internals/en/join-buffer-size.html
             (specially the conclusions at the bottom of the page).
    Performance schema should be activated for better diagnostics
    Before changing innodb_log_file_size and/or innodb_log_files_in_group read this: https://bit.ly/2TcGgtU
Variables to adjust:
    join_buffer_size (> 512.0K, or always use indexes with JOINs)
    performance_schema=ON
    innodb_log_file_size should be (=512M) if possible, so InnoDB total log files size equals 25% of buffer pool size.

No quiero activar performance_schema, y como no hay otras cosas que parezcan difíciles, lo dejaré aquí por ahora.

Eso es todo por ahora. Nos vemos la próxima.

Related Posts