ene 07

Si tenéis un servidor dedicado y queréis optimizar vuestro servidor mysql (configurando el archivo my.cnf) os dejo este script que adecua los valores de configuración a los de vuestro servidor:

http://day32.com/MySQL/tuning-primer.sh

Simplemente tenéis que subirlo a vuestro servidor y ejecutar:

sh tuning-primer.sh

El script os dirá los valores óptimos para vuestro servidor.

Siempre va a depender del uso que se haga al servicio Mysql y de la configuración del servidor.

De todas formas, os dejo esta configuración para un servidor con Mysql 4.1 o superior y con 1 Gb de memoria:

[mysqld]
socket=/path/to/mysql.sock
datadir=/var/lib/mysql
skip-locking
skip-innodb
# MySQL 4.x has query caching available.
# Enable it for vast improvement and it may be all you need to tweak.
query_cache_type=1
query_cache_limit=1M
query_cache_size=32M
# max_connections=500
# Reduced to 200 as memory will not be enough for 500 connections.
# memory=key_buffer+(sort_buffer_size+read_buffer_size)*max_connections
# which is now: 64 + (1 + 1) * 200 = 464 MB
# max_connections = approx. MaxClients setting in httpd.conf file
# Default set to 100.
#max_connections=200
#interactive_timeout=180
interactive_timeout=100
#wait_timeout=180
#wait_timeout=100
# Reduced wait_timeout to prevent idle clients holding connections.
#wait_timeout=30
wait_timeout=15
connect_timeout=10
# max_connect_errors is set to 10 by default
#max_connect_errors=10
#table_cache=256
#table_cache=1024
# Checked opened tables and adjusted accordingly after running for a while.
table_cache=512
#tmp_table_size=32M by default
#thread_cache=128
# Reduced it to 32 to prevent memory hogging. Also, see notes below.
thread_cache=32
# key_buffer=258M
# Reduced it by checking current size of *.MYI files, see notes below.
key_buffer=128M
# Commented out the buffer sizes and keeping the default.
# sort_buffer_size=2M by default.
#sort_buffer_size=1M
# read_buffer_size=128K by default.
#read_buffer_size=1M
# read_rnd_buffer_size=256K by default.
#read_rnd_buffer_size=1M
# myisam_sort_buffer_size=8M by default.
#myisam_sort_buffer_size=64M
# thread_concurrency = 2 * (no. of CPU)
thread_concurrency=2
# log slow queries is a must. Many queries that take more than 2 seconds.
# If so, then your tables need enhancement.
log_slow_queries=/var/log/mysqld.slow.log
long_query_time=2

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
open_files_limit=8192

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M

[mysqlhotcopy]
interactive-timeout

[client]
socket=/path/to/mysql.sock

Noticias relacionadas a esta:

Etiquetas: , , , , , .


3 Comentarios a “Cómo optimizar el servidor Mysql (configurando my.cnf) de un servidor dedicado”

  1. 1. Jacob Dijo:

    Está bien ese script, aunque la verdad lo mejor es ir línea por línea revisando y probando. Nunca confié en los scripts estos de GNU/Linux, por eso me pasé a OpenBSD hace años.

    Un saludo.

  2. 2. Solucionando la carga lenta de Wordpress - ProyectoUp Dijo:

    [...] Revisar la configuración de la base de datos MySql: verificar tamaño del buffer para la consulta, la cache del hilo de consulta entre otros. Puedes revisar una configuración para optimizarlo. [...]

  3. 3. Optimizando el servidor Mysql Dijo:

    [...] forma adecuada para que soportara todo el trabajo necesario.  Navegando en la red, me encontré con este articulo,  en el cual nos comparten una configuración óptima para nuestro servidor  MySQL (lo que [...]

Deja tu comentario