Variables configuración MySQL y otros

Variables configuración MySQL y otros

de Eduard Miquel i Gavaldà -
Número de respuestas: 3
Buenas Moodlers,
veréis, tenemos un servidor en explotación al cual acceden concurrentemente unos 3000 usuarios (ésto puede crecer fácilmente en un futuro cercano). Últimamente hemos detectado algunos problemas de rendimiento en el servidor de bases de datos, problemas que se acrecentaron cuando cambiamos de la versión 1.5.4 a la versión 1.6.4 (proceso en el que se realiza el cambio de codificación de latin a utf). Pienso que podemos (¡o debemos!) mejorar algún aspecto de monitorización de la base de datos o realizar algún cambio en algún script para solventar estos problemas. Y he aquí mis dudas.

Las preguntas son las siguientes, a ver si alguien se ha encontrado con un problema parecido o nos puede echar un cable con la monitorización de la base de datos:

1. durante el proceso de login llamamos a la función iconv para convertir codificación de caracteres (es una modificación nuestra). ¿conocéis el coste de esta función o si nos puede ralentizar mucho el acceso de numerosos usuarios?

2. ¿qué variables del MySQL tenemos que tener en cuenta en la optimización de rendimiento para instalaciones grandes? Diría que tenemos los parámetros sobredimensionados para lo que es nuestro contexto, pero visto lo visto no estamos seguros... Puedo pasaros los valores actuales si lo necesitáis.

3. ¿alguien ha probado el cambio de tablas MyISAM a InnoDB? Al menos en las que reciban mayores accesos concurrentes, como mdl_user o mdl_log... Por lo que he leído en los foros, este cambio no mejoraba sustancialmente el rendiento, pero igual alguno de vosotros me puede comentar mejor su experiencia...

En fin, ya me perdonaréis el rollo, pero una ayudita no nos vendría mal. Muchísimas gracias por anticipado por vuestras consideraciones.

Eduard
Promedio de valoraciones: -
En respuesta a Eduard Miquel i Gavaldà

Re: Variables configuración MySQL y otros

de José Luis Granda -
Saludos Eduard.

Cuando implantamos moodle como herramienta de apoyo a la docencia en la UTPL, tuvimos el mismo problema sobrecarga de la base de datos, nuestro trafico de accesos es similar y algunos días superior al que tu relatas.

Nosotros abordamos la solución al problema de dos maneras:

1. Separamos la aplicación de la base de datos, esto también mejora el esquema de seguridad.
2. Optimizamos algunos parámetros de la base de datos, en realidad utilizamos el archivo de configuración recomendado, para instalaciones muy muy grandes, por los desarrolladores de MySQL. Este archivo se encuentra en la distribución de los fuentes de MySQL, descarga los que correspondan a la versión que utilizas, nosotros utilizamos la versión 5.0.

Eso en resumen nuestra solución, ahora la aplicación va un año de vida en producción y trabaja bien con una media de accesos únicos de 3000 usuarios entre facilitadores y estudiantes. Tenemos registrados 30000 usuarios activos y se ofertan algo así como 1000 cursos.

Si puedo ayudar en alga más siempre estoy dispuesto!
En respuesta a José Luis Granda

Re: Variables configuración MySQL y otros

de Eduard Miquel i Gavaldà -
José Luis, muchísimas gracias por tus comentarios Por lo que comentas de los parámetros de tunning de la base de datos, estamos ya trabajando en ello. Vamos a ver si realmente están mal ajustados.

Y por lo que dices de separar la aplicación de la base de datos, entiendo que te refieres a tener el servidor Apache y el Moodle en un servidor distinto del de MySQL. En este caso, utilizáis algún tipo de acelerador de PHP para el servidor de aplicaciones? Por lo que he visto, hay algunas recomendaciones al respecto, aunque las pruebas que hicimos no nos indicaron que hubiera mucha diferencia...

Gracias de nuevo y si hubiera alguna duda ya te la haré llegar.

Eduard
En respuesta a Eduard Miquel i Gavaldà

Re: Variables configuración MySQL y otros

de José Luis Granda -
Saludos Eduard, en efecto separamos ambos servicios y la cosa trabaja bien. En cuanto a aceleradores de PHP no tengo mayor experiencia, lo único que hicimos es compilamos la versión 5.2 y trabaja bien.