Vous êtes sur la page 1sur 16

Configuracin del servidor

MySQL
Archivo de configuracin
El archivo de configuracin de MySQL nos
permite configurar el servidor en multitud de
aspectos. En este documento vamos a conocer
algunos de los ms relevantes.

El archivo de configuracin est en bin/my.ini


para sistemas Windows y en /etc/my.cnf para
sistemas Linux.

Mikel Ors Valle - mikelorsvalle@gmail.com


query_cache_size
MySQL puede cachear resultados.
til cuando hay que realizar las mismas
preguntas sobre los mismos datos.
Evitamos la sobrecarga del servidor
Se suelen recomendar valores a partir de
32M
En ciertos entornos el ratio de aciertos es
bajo y no merece la pena.

Mikel Ors Valle - mikelorsvalle@gmail.com


query_cache_limit
Aqu especificamos el tamao mximo que
debe de tener una query individual para ser
cacheada.
Aunque quepa en la cach, una query que
exceda este valor no ser cacheada

Mikel Ors Valle - mikelorsvalle@gmail.com


query_cache_type
0 = cach para consultas desactivada
(prevalece sobre el resto de variables de
cach de consultas)
1 = permite el cacheo de consultas excepto
las que se hagan con SELECT
SQL_NO_CACHE
2 = slo permite el cacheo de las consultas
que comienzan con SELECT SQL_CACHE

Mikel Ors Valle - mikelorsvalle@gmail.com


max_connections
Nmero mximo de conexiones simultneas
que permitir el servidor.
Por defecto son 151. (150 ms la consola
local)
Si se excede la cifra aparecer el error
"Unable to connect to database: too many
connections".
No podemos poner cualquier cantidad, hay
que fijarse en la memoria que tiene instalada
el servidor

Mikel Ors Valle - mikelorsvalle@gmail.com


max_connections
El servidor piensa que tiene esta memoria:

(read_buffer_size + read_rnd_buffer_size +
sort_buffer_size + thread_stack
+ join_buffer_size) * max_connections

Si esos buffers suman 50 Mb y ponemos 1000


conexiones, el servidor creer que dispone de
50GB de memoria.

Mikel Ors Valle - mikelorsvalle@gmail.com


max_connections
Qu hacer si aparece el error de "too many
conections"?

1. Aumenta max_connections hasta donde


puedas. Si todava falla...
2. Reduce los buffers y vuelve al paso 1. Si
todava falla...
3. Compra ms memoria.

Mikel Ors Valle - mikelorsvalle@gmail.com


wait_timeout
Mide la cantidad de tiempo que puede estar
una conexin inactiva.
Pasado ese tiempo de inactividad, se cerrar la
conexin.
Evitamos tener procesos sleep que pongan en
peligro el max_connections.

Mikel Ors Valle - mikelorsvalle@gmail.com


key_buffer
ste es el tamao del bffer usado con los
ndices. Cuanto mayor sea, ms rpido
terminarn los comandos SQL.

Se recomienda asignar entre un cuarto y la


mitad de la memoria del servidor.

Mikel Ors Valle - mikelorsvalle@gmail.com


innodb_buffer_pool_size
Es una de las opciones ms importantes de
lejos (si no la ms, cuando usamos InnoDB).

Es el tamao del buffer de memoria que


InnoDB emplea para el almacenamiento
intermedio de los datos e ndices de sus tablas.

Las recomendaciones hablan de establecer al


menos un 50% de la memoria, pudiendo
asignar hasta un 80% de la misma.

Mikel Ors Valle - mikelorsvalle@gmail.com


table_open_cache
Nmero mximo de tablas que pueden estar
abiertas entre todos los hilos de ejecucin de
forma simultnea.

Debera ser igual a max_connections x N,


siendo N el nmero de tablas que se ejecuten
en la join ms compleja.

Mikel Ors Valle - mikelorsvalle@gmail.com


sort_buffer_size
Tamao del bffer destinado a realizar
ordenaciones.

Funciona para todos los motores de MySQL.

Si se realizan ordenaciones constantemente,


deberemos incrementar su valor.

Mikel Ors Valle - mikelorsvalle@gmail.com


read_buffer_size
ste es un ejemplo de que los parmetros no
siempre responden como pensamos. Como tal
es el buffer destinado a lecturas para tablas
MyISAM.

Lo lgico sera pensar que si tengo un sistema


con mucha memoria instalada, entonces me
podra permitir aumentar este parmetro.

Curiosamente, pasa esto.

Mikel Ors Valle - mikelorsvalle@gmail.com


expire_logs_days
Nos permite borrar logs binarios de forma
automtica.

El valor indicado es el nmero de das que


permanecer un log en el sistema antes de ser
borrado. Si vale 0 los logs no se borran nunca.

Mikel Ors Valle - mikelorsvalle@gmail.com


Conclusin
Muchos parmetros pueden provocar efectos
sorprendentes al ampliarlos o reducirlos.
Muchas veces el nico modo de saber el valor
ms apropiado es testeando (o mejor,
buscando conclusiones de otros testers en
Google).

Mikel Ors Valle - mikelorsvalle@gmail.com

Vous aimerez peut-être aussi