1. Home
  2. Knowledge Base
  3. Articles (EN/ES/FR)
  4. ¿Cómo optimizar MySQL para obtener un mejor funcionamiento de Pandora FMS?

¿Cómo optimizar MySQL para obtener un mejor funcionamiento de Pandora FMS?

Al igual que los sistemas de archivos, las bases de datos también se fragmentan, haciendo que todo el sistema pierda rendimiento.

En un sistema de alto rendimiento como Pandora FMS es muy importante que la salud de la base de datos no afecte al adecuado funcionamiento del sistema. En sistemas sobrecargados, la base de datos puede llegar a bloquearse, provocando una caída de todo el sistema.

Una buena configuración de MySQL podría hacer que Pandora FMS trabajase cien veces más rápido, por lo que si experimenta problemas de rendimiento, probablemente no esté correctamente configurado, o bien haya algún problema relacionado con la base de datos.

El primer paso para la optimización de MySQL es la modificación del fichero /etc/my.cnf .

Con un sistema con  4 GB de memoria de acceso aleatorio (RAM) y un hardware de una potencia media, la configuración de my.cnf debería ser parecida a la siguiente.

  • El propio archivo contendrá algunos comentarios para ayudarle a parametrizar correctamente su base de datos.
  • Compruebe que todos los parámetros estén correctamente introducidos en la sección [mysqld], ya que muchas veces no se cargan correctamente los parámetros de configuración por estar fuera de esta sección:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
character-set-server=utf8
skip-character-set-client-handshake
key_buffer = 400M
max_allowed_packet = 100M
thread_stack = 64K
thread_cache_size = 8
max_connections = 100
skip-locking
innodb_file_per_table
innodb_flush_log_at_trx_commit = 0
innodb_flush_method = O_DIRECT
innodb_thread_concurrency = 16
innodb_buffer_pool_size = 500M
innodb_additional_mem_pool_size = 32M
innodb_log_file_size = 64M
innodb_log_buffer_size = 16M
innodb_lock_wait_timeout = 90
# IO: 100 for 7500RPM disk, 180 for 15K RPM disk, 1500 for SSD disks
innodb_io_capacity = 100
key_buffer_size = 32M
read_buffer_size = 128K
read_rnd_buffer_size = 128K
sort_buffer_size = 128K
join_buffer_size = 64M
# Enable query cache
query_cache_type = 1
query_cache_limit = 128M
query_cache_size = 128M
  • Cualquier cambio realizado en el fichero my.cnf requerirá de un reinicio de MySQL.
  • Compruebe el final del fichero /var/log/mysqld.log para ver si ha ocurrido algún error.
  • Uno de los más frecuentes se da al configurar nuevos valores para los registros de transacciones. Por lo que, si aparece el error:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 67108864 bytes!

Deberá borrar estos registros y reiniciar MySQL:

rm /var/lib/mysql/ib_logfile*
/etc/init.d/mysqld restart

Hecho esto, deberá comprobar que los cambios han sido correctamente aplicados.

Esto se comprueba con el comando SHOW VARIABLES en la línea de comandos de MySQL.

En la documentación de Pandora FMS encontrará más y muy detallada información sobre la optimización de la base de datos, en un capítulo dedicado a este tema:

https://pandorafms.com/manual/es/documentation/05_big_environments/08_optimization

Was this article helpful?

Related Articles

Need Support?

Can't find the answer you're looking for?
Contact Support

Recent Discussions