Mysql nunca esta mal configurado, solo necesita ajustes!

base-de-datos1

Hoy intentaré hacer un pequeño post, hace mucho no publico nada por aquí, mucho trabajo = poco tiempo, y justamente esto va de trabajo.

Aveces trabajamos en un servidor que a sido antes configurado por otra persona, muchas veces el cliente paga solo para configurar el server y ya, no paga por un mantenimiento mensual o trimestral y justo por eso estoy escribiendo este tema.

El servidor mysql se puede considerar como uno de los más delicados y que a su vez puede requerir más ajustes o al menos más revisiones y mantenimiento si el servidor sufre cambios regulares.

Servidor de Bases de datos mysql – ¿mal configurado?

Por ejemplo, un sysadmin configuro un servidor hace 6 meses, ese servidor tenia una web con un tráfico diario de 150 mil visitas, la base de datos pesaba 200mb, tenia un máximo de 100 conexiones simultaneas a la vez, ejecutaba 200 queryes simultaneas etc etc.

Pues bien ese sysadmin configuro ese servidor con esas características, asigno key buffer, query cache, tmp table, las tablas eran solo myisam etc etc Lo dejo todo perfecto, hizo la configuración pensando en que la web crecería, dando un poco más de recursos pensando en que en los próximos meses el consumo aumentaría como a venido haciendo los meses anteriores.

Ahora bien, ese sysadmin no vuelve, ya no le contratan más, el cliente dice, vale, todo esta funcionando, no voy a pagar más revisiones ni ajustes, pero en 6 meses hay problemas de carga, el que esta dando problemas es el mysql, el dueño o encargado contrata un sysadmin y ese sysadmin dice, no no, el mysql esta mal configurado a usted le han engañado y dice;

Esta configuración está hecha para una base de datos con menos recursos, sus bases de datos pesan 500 MB, tiene 600 conexiones simultaneas entre todas, ejecutan más de 800 queryes, se crean más tablas en disco, el innodb tiene valores muy bajos y bla bla bla…

En este caso parece que el sysadmin pasado a quedado mal parado, pero la verdad es que la culpa es del cliente / dueño / encargado, el sysadmin pasado a configurado el servidor mysql para una sola web como se lo han pedido, pensando en un crecimiento normal como en meses anteriores, pero nunca le dijeron que en ese servidor pondrían 4 webs más con bases de datos entre 50 y 150 mb que recibirán muchas consultas simultaneas y que serían innodb.

En fin, el sysadmin configuro según las especificaciones actuales del mysql y como le dijeron que el servidor solo tendría esa web no hizo más, así que la culpa fue del que dio la orden de poner más webs en ese servidor sin pedir una revisión o reajustes del servidor mysql y/o por no pagar revisiones periódicas.

Con este sencillo ejemplo podemos ver que el mysql requiere más atención que el resto del servidor, y que si vemos una configuración en un servidor no es que este mal o que lo hayan configurado mal, si no que lo configuraron para una web, para determinada base de datos, si ese mismo mysql ahora esta sirviendo más bases de datos o la web a tenido grandes cambios el servidor no esta mal configurado, si no que solo necesita ajustes, una adaptación al trabajo actual, por eso es importante mandar a hacer regularmente revisiones de la configuración, especialmente del mysql y más aún cuando nuestra web va a cambiado la estructura, recibe considerablemente más tráfico que antes, o bien que en el mismo servidor tengamos más bases de datos ( más páginas webs ) etc

Por otro lado, hay que tomar en cuenta una cosa muy importante, no se le puede pagar a alguien que configure un servidor mysql sin que el servidor tenga bases de datos y peticiones, OJO si se puede configurar y hay que hacerlo, pero solo como algo para que tenga una configuración base la cual hay que reconfigurar más adelante cuando el servidor tenga actividad, por esto mismo a mis clientes les digo, hoy configuraré el servidor y mañana o pasado volveré a conectarme para revisar esa configuración, también a los que me piden configuraciones sin tener la web, les digo que me avisen cuando vallan a poner la web de más tráfico / consultas a la base de datos, para entrar y revisar la configuración por si hay que hacer algún ajuste extra.

Bien, eso es todo por ahora, ahora comprenden mejor lo que ya he dicho otras veces cuando hablo de mysql y servidores de bases de datos y no dejo ninguna configuración, cada servidor requiere una configuración distinta, se puede tener una base preparada pero siempre hay que cambiarle cosas 😉