SlideShare a Scribd company logo
1 of 31
Download to read offline
Sara Arjona Téllez
Pau Ferrer Ocaña
High Availability
& Clusters
@sara_arjona
@crazyserver
22 de Octubre de 2015
Índice
★ ¿Quiénes somos?
★ Alta disponibilidad
○ Arquitectura
○ Despliegues
○ DevOPS
★ Rendimiento
○ Puntos de mejora en función del rol
■ Profesor
■ Administrador de Moodle
■ Administrador de sistemas
■ Desarrollador
○ Pruebas automatizadas
○ Pruebas de carga
2
Notas colaborativas en
http://tinyurl.com/mootes15
¿Os animáis a contribuir?
¿Quiénes somos?
3
Algunos datos sobre...
Múltiples instalaciones Moodle
★ Àgora: Centros educativos
○ 1.400 centros (de ~3.800 públicos)
○ 400.000 usuarios
○ Espacio de pruebas que se regenera cada hora
★ Odissea: Formación del profesorado
○ 47.000 usuarios
○ 2.400 cursos
★ Alexandria: Repositorio de materiales educativos
○ 13.000 usuarios
○ 280 cursos Moodle
4
Desarrollando
Moodle desde
2005
Infraestructura
5
Àgora Odissea
Un balanceador (BigIP)
13 servidores web
(CentOS) con PHP 5.4
4 servidores web
(CentOS) con PHP 5.4
4 frontales con memcached 1 frontal con memcached
Directorio local en cada frontal para caché en disco
1.600 esquemas Oracle
★ 2 servidores de BBDD Oracle
★ con 4 instancias de 200 esquemas
cada 1 = 1.600 esquemas
1 esquema Oracle
★ 1 servidor de BBDD Oracle
★ compartido con 2 aplicaciones
más.
1 Servidor NAS (moodledata)
¿Oracle? en 2007, cuando se inició
el proyecto, el Departament
d'Ensenyament contaba con
soporte oficial
4xCPU - 2.67GHz
4GB RAM
Algunos datos sobre...
Infraestructura
★ 2 balanceadores por software compartidos
★ Cabina de discos compartida
○ Tipos SSD (para BBDD), SAS y SATA.
★ BBDD Oracle v12 en clúster de 5 nodos, todos físicos
5 entornos de producción
★ Virtual: 13 servidores web virtuales (SWV) (1 dedicado exclusivamente a de cron),
base de datos en nodos 1, 2 y 3
★ Obert: 4 SWV (1 dedicado a cron), BBDD en 1, 2 y 3
★ Formación: 2 SWV, BBDD en 1, 2 y 3
★ Innovación: 2 SWV, BBDD en 4 y 5
★ IL3: 4 SWV (1 cron dedicado a cron), BBDD en 4 y 5
En el mismo armario de servidores con comunicaciones directas entre servidores para
evitar latencias. Comunicaciones dentro del armario a 10 GB 6
Caché de disco SSD es
tan rápida que con
memcached se pierde
rendimiento
9.000 cursos anuales
70.000 alumnos
5.000 profesores
Algunos datos sobre...
Infraestructura
Moodle 2
★ 2 Balanceadores software (Activo-Pasivo) ldirector
★ 5 servidores web virtuales (uno además se encarga del cron)
★ 2 servidores memcached (Act-Pas.)
★ 2 servidores de bases de datos MySQL (master-slave) cada uno es el pasivo
del otro (en caso de avería puede haber dos MySQL en la misma máquina).
Discos raw en cabina
★ Servidor NFS compartido (proporcionado por cabina Dell) 1TB aprox
OCW en un servidor virtual de hosting compartido
7
10.700 cursos
1.500 categorías
44.000 usuarios
Algunos datos sobre...
★ 8 entornos en producción
★ 2 entornos en otra arquitectura distinta, únicamente accesible por personal
del GATE (departamento que gestiona el Moodle-UPM)
★ Entorno para pruebas, últimas versiones, prueba de plugins, estilos, etc. esto
todo en un servidor virtualizado
Infraestructura de Estudios Oficiales
★ 2 Balanceadores hardware
★ 2 servidores web y 1 servidor memcached
★ 1 MySQL compartido (30Gb)
★ Servidor NAS compartido (2 TB)
★ 1 servidor "centinela" que ejecuta los cron
8
36.000 alumnos
3.100 docentes
5.000 cursos
Actualmente al 50% y
estimado que llegue al
80% al final del curso
Algunos datos sobre...
Infraestructura de e-UIC
★ 1 Balanceador (master-slave)
★ 5 placas servidor web
★ 1 servidor dedicado con PostgreSQL y disco SSD
★ 1 servidor NAS
9
9.800 usuarios
3.240 cursos
Algunos datos sobre...
Moodle
Infraestructura
Entorno virtualizado VMWare con:
★ 1 servidor BBDD Postgres: 16 GB memoria, 2 cpus. 40Gb
★ 1 servidor web: 16 GB memoria, 4 cpus. 900Gb
★ 1 servidor soporte (crons y traspasos): 16 GB memoria, 2 cpus
★ Cabina de discos
10
1.325 categorias
42.134 cursos
42.244 usuarios
Algunos datos sobre...
Moodle
Infraestructura
★ Balanceador HW compartido
★ 4 servidores virtuales (uno para los cron)
★ 1 servidor memcached
★ 1 servidor BD Postgresql dedicado
★ 1 servidor NAS dedicado
11
2.000 profesores
25.000 alumnos
5.000 cursos
Algunos datos sobre...
Moodle
Infraestructura
★ 2 Balanceadores compartidos con el resto de servicios de la Universidad
★ 3 Web proxy (terminan peticiones HTTPS, HTTP hasta Apaches, activando
flags en cabeceras HTTP)
★ 2 Front-end Apache (Solaris 10)
★ 1 servidor dedicado bases de datos MySQL
○ 3 motores Mysql.
○ 1 dataset compartido para archivos temporales
12
3.500 cursos/año académico
Histórico de 3 años
15.000 estudiantes
2.000 profesores
150-500 usuarios simultáneos
Tiempo de respuesta de
admin/user.php (buscar
usuarios) de 4 a 7 s
Algunos datos sobre...
13
Algunos datos sobre...
14
Nadav Kavalerchik
(Israel)
Alta disponibilidad
15
★ Arquitectura
★ Despliegues
★ DevOPS
Arquitectura: componentes
Recomendaciones de Moodle sobre alta disponibilidad
★ Balanceador
★ Servidores web
★ Servidor memcached
★ Base de datos
★ NAS
16
Los componentes de la arquitectura de cada instalación
dependen, entre otros, de la complejidad del sistema y del
volumen de usuarios.
Arquitectura: decisiones
★ ¿Hace falta balanceador? ¿software o hardware?
★ Servidores web: cuántos, de qué tipo (virtuales?), con qué
características (RAM, CPU), SO, versión de PHP…
○ Si hay más de un servidor web, hará falta NAS.
★ Servidor memcached dedicado o instalado en los
servidores web
★ Motor de base de datos: MySQL, PostgreSQL, Oracle…
★ NAS
17
Despliegues
★ Múltiples entornos para validar aplicaciones y reducir el
riesgo al desplegar en producción:
○ Locales:
■ Desarrollo: Vagrant!
○ Compartidos pero no productivos:
■ Integración (despliega desarrollador)
■ Preproducción (despliega tècnico sistemas). Permite validar
procedimiento y funcionamiento
★ Algunas recomendaciones (DevOps):
○ Alinear los entornos (todos deberían ser iguales)
○ Automatizar los despliegues con herramientas como Puppet
○ Desplegar con mayor frecuencia paquetes más pequeños
18
No os perdáis:
Entorno de desarrollo
rápido con Vagrant
Pau Ferrer Ocaña
(Sábado 10:45)
Incidencias más frecuentes
★ Comunicación: cambios en la red afectan a la visibilidad
de servidores y servicios externos:
○ Conexión con Google, Dropbox…
○ Salida a Internet (p. ej. canales RSS)
★ Errores en los permisos de los ficheros durante los
despliegues.
○ Si la MUC no tiene los permisos correctos, Moodle no funciona.
★ Sincronización de los servidores memcache:
○ Si se pierde la configuración de los servidores memcache los
usuarios no ven la información actualizada.
★ Intervenciones manuales desalinean los frontales de un
mismo entorno. 19
DevOPS
★ "Metodología que permite reducir la brecha entre los
desarrolladores de software y los profesionales de operaciones"
★ DevOps en 7 pasos:
a. Ingeniería del software.AGILE! Código modular, paquetes pequeños, evitar deuda técnica...
b. Control de versiones. GIT
c. Gestión de la configuración. Reduce errores, da estabilidad y permite reconstruir fácilmente
d. Integración continua. Automatiza ejecución de pruebas unitarias y avanza detección de errores
e. Testing automatizado. Ejecución de todo tipo de tests para asegurar un nivel controlado de riesgo
f. Despliegue continuo. No sólo código, también aplica a hardware.
g. Monitorización. Métricas de los servidores y del uso con herramientas con JMeter o Selenium
20
DevOps termina lo
que comenzó Agile
Rendimiento
★ Puntos de mejora en función del rol
○ Profesor
○ Administrador de Moodle
○ Administrador de sistemas
○ Desarrollador
★ Pruebas automatizadas
★ Pruebas de carga
21
Profesor
★ Activar los filtros estrictamente necesarios.
★ Redimensionar las imágenes antes de subirlas.
★ Reducir el número de secciones.
○ Seleccionar "Mostrar una sección por página" en el parámetro
del curso "Paginación del curso"
★ Eliminar el bloque de actividades recientes
○ Fijar bloques por defecto al crear cursos
$CFG->defaultblocks_override = 'participants:calendar_month,activity_modules';
★ Deshabilitar todas las funcionalidades que no se usan.
22
Administrador de Moodle
★ Si es posible, desactivar "log legacy" (> Moodle 2.8).
★ Reducir número de cursos de página inicial.
★ Revisar Informe de rendimiento de Moodle:
23
Administrador de sistemas (1/3)
MUC
★ Optimizar configuración del MUC.
★ Mover datos a caché en memória (ej. memcache)
Memcached
★ Útil para datos de aplicación de la MUC
★ phpmemcachedadmin para controlar carga, hits…
★ Problema con el purgado. MDL-45375
Otras
★ Memcached, MongoDB…
★ De terceros: APC, XCache, WinCache
24
¿Qué sistema de
caché usáis?
Administrador de sistemas (2/3)
Opcache (opcode cache)
★ https://docs.moodle.org/29/en/OPcache
★ Integrado con PHP 5.5 (se puede instalar en versiones
anteriores).
★ opcache.php para consultar configuración, hits…
Disponible en GitHub
25
Administrador de sistemas (3/3)
★ Moodle QH: Performance comparison
○ Sesión de usuario (base de datos, fichero, memcached):
■ Si la sesión es persistente (por ejemplo a través de cookie) se puede
guardar en un directorio local en cada frontal.
■ Para instalaciones grandes hay que evitar tenerlas en NFS.
Recomendaciones de Moodle sobre rendimiento
26
¿Cómo controláis el
impacto de los
cambios en el
rendimiento?
Desarrollador
★ Consultar la guía de desarrollo de Moodle
★ En Depuración activar "DESARROLLADOR"
★ Optimizar las consultas a base de datos:
○ Reducirlas tanto como sea posible.
■ Evitar consultas en bucles (utilizar cláusula IN).
○ Revisar índices y usar join con campos indexados.
○ Usar recordsets para no cargarlo todo en memoria.
★ Code profiling
○ XDebug: MV en GitHub con Vagrant
○ XHProf
27
Pruebas automatizadas
★ Sistemas con Integración Contínua:
○ Jenkins
○ Travis CI
★ Test Unitarios:
○ PHPUnit
★ Test de aceptación:
○ Behat
28
¿Programáis los tests
unitarios y de
aceptación?
No os perdáis:
Desarrollo de plugins en entornos de integración continua
Manu Cagigas (Viernes 15:45)
Asistentes para ejecutar pruebas en Travis
github@moodlerooms/moodle-plugin-ci
github@jolicode/JoliCi
Pruebas de carga
★ Permiten detectar cuellos de botella y analizar
comportamiento de la arquitectura para optimizar la
configuración.
★ Con jmeter o similar. Fases:
○ Definición, diseño y preparación del plan de pruebas
■ Plan de pruebas simplificado
■ Decidir proporción de participación para cada rol
○ Ejecución del plan de pruebas
○ Análisis de resultados
★ Durante la ejecución, monitorizar también los servidores.
29
¿Hacéis pruebas
de carga? ¿Cómo?
Enlaces de interés
★ Tracker de Moodle
○ https://tracker.moodle.org
★ Fórum de soporte "Hardware&Performance"
○ https://moodle.org/mod/forum/view.php?id=596
★ How to improve your Moodle site performance (David
Monllaó)
○ http://www.slideshare.net/dmonllao/how-to-improve-your-
moodle-site-performance
★ MoodleDev
○ https://docs.moodle.org/dev/Main_Page
30
Sara Arjona Téllez
Pau Ferrer Ocaña
High Availability
& Clusters
@sara_arjona
@crazyserver
http://goo.
gl/yx9ZH7

More Related Content

Similar to High availabitily & Clusters #mootes15

Actualización Moodle 1.9 a Moodle 2.4: Planificación, consejos y problemas
Actualización Moodle 1.9 a Moodle 2.4:  Planificación, consejos y problemasActualización Moodle 1.9 a Moodle 2.4:  Planificación, consejos y problemas
Actualización Moodle 1.9 a Moodle 2.4: Planificación, consejos y problemasElurnet Informatika Zerbituzak
 
Gestión de Recursos Computacionales en el Cloud para Actividades Educativas
Gestión de Recursos Computacionales en el Cloud para Actividades EducativasGestión de Recursos Computacionales en el Cloud para Actividades Educativas
Gestión de Recursos Computacionales en el Cloud para Actividades EducativasGermán Moltó
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerNelson Calero
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupalcamposer
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticassuserbd237f
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Nelson Calero
 
Softonic Labs - Web Escalable
Softonic Labs - Web EscalableSoftonic Labs - Web Escalable
Softonic Labs - Web EscalableAlex Puig
 
Lecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnLecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnJulián Castiblanco
 
Trabajo de sistemas de informacion
Trabajo de sistemas de informacionTrabajo de sistemas de informacion
Trabajo de sistemas de informacionEvelin Oña
 
Bd T1 Eq6 Investigacionsgbd
Bd T1 Eq6 InvestigacionsgbdBd T1 Eq6 Investigacionsgbd
Bd T1 Eq6 Investigacionsgbdguestf6889fe
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 

Similar to High availabitily & Clusters #mootes15 (20)

Actualización Moodle 1.9 a Moodle 2.4: Planificación, consejos y problemas
Actualización Moodle 1.9 a Moodle 2.4:  Planificación, consejos y problemasActualización Moodle 1.9 a Moodle 2.4:  Planificación, consejos y problemas
Actualización Moodle 1.9 a Moodle 2.4: Planificación, consejos y problemas
 
Gestión de Recursos Computacionales en el Cloud para Actividades Educativas
Gestión de Recursos Computacionales en el Cloud para Actividades EducativasGestión de Recursos Computacionales en el Cloud para Actividades Educativas
Gestión de Recursos Computacionales en el Cloud para Actividades Educativas
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidad
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con Pacemaker
 
Alternativas de hosting para WordPress
Alternativas de hosting para WordPressAlternativas de hosting para WordPress
Alternativas de hosting para WordPress
 
Performance en Drupal 7
Performance en Drupal 7Performance en Drupal 7
Performance en Drupal 7
 
Presentación1
Presentación1Presentación1
Presentación1
 
Moodle
MoodleMoodle
Moodle
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informática
 
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
Alternativas de alta disponiblidad en MySQL - MySQL Meetup - Montevideo - Mar...
 
Softonic Labs - Web Escalable
Softonic Labs - Web EscalableSoftonic Labs - Web Escalable
Softonic Labs - Web Escalable
 
Rendimiento extremo en php
Rendimiento extremo en phpRendimiento extremo en php
Rendimiento extremo en php
 
Lecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOnLecciones aprendidas SQL Server AlwaryOn
Lecciones aprendidas SQL Server AlwaryOn
 
Trabajo de sistemas de informacion
Trabajo de sistemas de informacionTrabajo de sistemas de informacion
Trabajo de sistemas de informacion
 
Bd T1 Eq6 Investigacionsgbd
Bd T1 Eq6 InvestigacionsgbdBd T1 Eq6 Investigacionsgbd
Bd T1 Eq6 Investigacionsgbd
 
Clouster y grid
Clouster y gridClouster y grid
Clouster y grid
 
Base datos f05
Base datos f05Base datos f05
Base datos f05
 
Metacoretex
MetacoretexMetacoretex
Metacoretex
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 

More from Sara Arjona Téllez

H5P en Moodle: Todo lo que necesitas saber... ¡y algo más! #CINAIC2021
H5P en Moodle: Todo lo que necesitas saber... ¡y algo más! #CINAIC2021H5P en Moodle: Todo lo que necesitas saber... ¡y algo más! #CINAIC2021
H5P en Moodle: Todo lo que necesitas saber... ¡y algo más! #CINAIC2021Sara Arjona Téllez
 
Taller: Moodle no está reñido con primaria ni con secundaria #mootes13
Taller: Moodle no está reñido con primaria ni con secundaria #mootes13Taller: Moodle no está reñido con primaria ni con secundaria #mootes13
Taller: Moodle no está reñido con primaria ni con secundaria #mootes13Sara Arjona Téllez
 
Moodle y primaria no están reñidos #mooteu13
Moodle y primaria no están reñidos #mooteu13Moodle y primaria no están reñidos #mooteu13
Moodle y primaria no están reñidos #mooteu13Sara Arjona Téllez
 
Alexandria: repositorio de cursos Moodle #mootes10
Alexandria: repositorio de cursos Moodle #mootes10Alexandria: repositorio de cursos Moodle #mootes10
Alexandria: repositorio de cursos Moodle #mootes10Sara Arjona Téllez
 
Taller de Intraweb, Quaderns Virtuals y JClic #mootes08
Taller de Intraweb, Quaderns Virtuals y JClic #mootes08Taller de Intraweb, Quaderns Virtuals y JClic #mootes08
Taller de Intraweb, Quaderns Virtuals y JClic #mootes08Sara Arjona Téllez
 
Quaderns virtuals, activitats d'avaluació en xarxa
Quaderns virtuals, activitats d'avaluació en xarxa Quaderns virtuals, activitats d'avaluació en xarxa
Quaderns virtuals, activitats d'avaluació en xarxa Sara Arjona Téllez
 
Les TIC a l'aula: Moodle i blocs
Les TIC a l'aula: Moodle i blocsLes TIC a l'aula: Moodle i blocs
Les TIC a l'aula: Moodle i blocsSara Arjona Téllez
 
Quaderns Virtuals i la Prestatgeria Digital
Quaderns Virtuals i la Prestatgeria DigitalQuaderns Virtuals i la Prestatgeria Digital
Quaderns Virtuals i la Prestatgeria DigitalSara Arjona Téllez
 
Quaderns Virtuals: Actividades de evaluación en red
Quaderns Virtuals: Actividades de evaluación en redQuaderns Virtuals: Actividades de evaluación en red
Quaderns Virtuals: Actividades de evaluación en redSara Arjona Téllez
 
Integración de proyectos educativos con Moodle: JClic, Quaderns Virtuals e In...
Integración de proyectos educativos con Moodle: JClic, Quaderns Virtuals e In...Integración de proyectos educativos con Moodle: JClic, Quaderns Virtuals e In...
Integración de proyectos educativos con Moodle: JClic, Quaderns Virtuals e In...Sara Arjona Téllez
 
Pecha Kucha #mootes14 - Moodle como servidor OAuth para autenticar usuarios d...
Pecha Kucha #mootes14 - Moodle como servidor OAuth para autenticar usuarios d...Pecha Kucha #mootes14 - Moodle como servidor OAuth para autenticar usuarios d...
Pecha Kucha #mootes14 - Moodle como servidor OAuth para autenticar usuarios d...Sara Arjona Téllez
 
Curs d'introducció a l'Orientació
Curs d'introducció a l'OrientacióCurs d'introducció a l'Orientació
Curs d'introducció a l'OrientacióSara Arjona Téllez
 
Iniciació a l'orientacio - Gósol
Iniciació a l'orientacio  - GósolIniciació a l'orientacio  - Gósol
Iniciació a l'orientacio - GósolSara Arjona Téllez
 

More from Sara Arjona Téllez (14)

H5P en Moodle: Todo lo que necesitas saber... ¡y algo más! #CINAIC2021
H5P en Moodle: Todo lo que necesitas saber... ¡y algo más! #CINAIC2021H5P en Moodle: Todo lo que necesitas saber... ¡y algo más! #CINAIC2021
H5P en Moodle: Todo lo que necesitas saber... ¡y algo más! #CINAIC2021
 
Taller: Moodle no está reñido con primaria ni con secundaria #mootes13
Taller: Moodle no está reñido con primaria ni con secundaria #mootes13Taller: Moodle no está reñido con primaria ni con secundaria #mootes13
Taller: Moodle no está reñido con primaria ni con secundaria #mootes13
 
Moodle y primaria no están reñidos #mooteu13
Moodle y primaria no están reñidos #mooteu13Moodle y primaria no están reñidos #mooteu13
Moodle y primaria no están reñidos #mooteu13
 
Alexandria: repositorio de cursos Moodle #mootes10
Alexandria: repositorio de cursos Moodle #mootes10Alexandria: repositorio de cursos Moodle #mootes10
Alexandria: repositorio de cursos Moodle #mootes10
 
Àgora #mootes08
Àgora #mootes08Àgora #mootes08
Àgora #mootes08
 
Taller de Intraweb, Quaderns Virtuals y JClic #mootes08
Taller de Intraweb, Quaderns Virtuals y JClic #mootes08Taller de Intraweb, Quaderns Virtuals y JClic #mootes08
Taller de Intraweb, Quaderns Virtuals y JClic #mootes08
 
Quaderns virtuals, activitats d'avaluació en xarxa
Quaderns virtuals, activitats d'avaluació en xarxa Quaderns virtuals, activitats d'avaluació en xarxa
Quaderns virtuals, activitats d'avaluació en xarxa
 
Les TIC a l'aula: Moodle i blocs
Les TIC a l'aula: Moodle i blocsLes TIC a l'aula: Moodle i blocs
Les TIC a l'aula: Moodle i blocs
 
Quaderns Virtuals i la Prestatgeria Digital
Quaderns Virtuals i la Prestatgeria DigitalQuaderns Virtuals i la Prestatgeria Digital
Quaderns Virtuals i la Prestatgeria Digital
 
Quaderns Virtuals: Actividades de evaluación en red
Quaderns Virtuals: Actividades de evaluación en redQuaderns Virtuals: Actividades de evaluación en red
Quaderns Virtuals: Actividades de evaluación en red
 
Integración de proyectos educativos con Moodle: JClic, Quaderns Virtuals e In...
Integración de proyectos educativos con Moodle: JClic, Quaderns Virtuals e In...Integración de proyectos educativos con Moodle: JClic, Quaderns Virtuals e In...
Integración de proyectos educativos con Moodle: JClic, Quaderns Virtuals e In...
 
Pecha Kucha #mootes14 - Moodle como servidor OAuth para autenticar usuarios d...
Pecha Kucha #mootes14 - Moodle como servidor OAuth para autenticar usuarios d...Pecha Kucha #mootes14 - Moodle como servidor OAuth para autenticar usuarios d...
Pecha Kucha #mootes14 - Moodle como servidor OAuth para autenticar usuarios d...
 
Curs d'introducció a l'Orientació
Curs d'introducció a l'OrientacióCurs d'introducció a l'Orientació
Curs d'introducció a l'Orientació
 
Iniciació a l'orientacio - Gósol
Iniciació a l'orientacio  - GósolIniciació a l'orientacio  - Gósol
Iniciació a l'orientacio - Gósol
 

Recently uploaded

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 

Recently uploaded (20)

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 

High availabitily & Clusters #mootes15

  • 1. Sara Arjona Téllez Pau Ferrer Ocaña High Availability & Clusters @sara_arjona @crazyserver 22 de Octubre de 2015
  • 2. Índice ★ ¿Quiénes somos? ★ Alta disponibilidad ○ Arquitectura ○ Despliegues ○ DevOPS ★ Rendimiento ○ Puntos de mejora en función del rol ■ Profesor ■ Administrador de Moodle ■ Administrador de sistemas ■ Desarrollador ○ Pruebas automatizadas ○ Pruebas de carga 2 Notas colaborativas en http://tinyurl.com/mootes15 ¿Os animáis a contribuir?
  • 4. Algunos datos sobre... Múltiples instalaciones Moodle ★ Àgora: Centros educativos ○ 1.400 centros (de ~3.800 públicos) ○ 400.000 usuarios ○ Espacio de pruebas que se regenera cada hora ★ Odissea: Formación del profesorado ○ 47.000 usuarios ○ 2.400 cursos ★ Alexandria: Repositorio de materiales educativos ○ 13.000 usuarios ○ 280 cursos Moodle 4 Desarrollando Moodle desde 2005
  • 5. Infraestructura 5 Àgora Odissea Un balanceador (BigIP) 13 servidores web (CentOS) con PHP 5.4 4 servidores web (CentOS) con PHP 5.4 4 frontales con memcached 1 frontal con memcached Directorio local en cada frontal para caché en disco 1.600 esquemas Oracle ★ 2 servidores de BBDD Oracle ★ con 4 instancias de 200 esquemas cada 1 = 1.600 esquemas 1 esquema Oracle ★ 1 servidor de BBDD Oracle ★ compartido con 2 aplicaciones más. 1 Servidor NAS (moodledata) ¿Oracle? en 2007, cuando se inició el proyecto, el Departament d'Ensenyament contaba con soporte oficial 4xCPU - 2.67GHz 4GB RAM
  • 6. Algunos datos sobre... Infraestructura ★ 2 balanceadores por software compartidos ★ Cabina de discos compartida ○ Tipos SSD (para BBDD), SAS y SATA. ★ BBDD Oracle v12 en clúster de 5 nodos, todos físicos 5 entornos de producción ★ Virtual: 13 servidores web virtuales (SWV) (1 dedicado exclusivamente a de cron), base de datos en nodos 1, 2 y 3 ★ Obert: 4 SWV (1 dedicado a cron), BBDD en 1, 2 y 3 ★ Formación: 2 SWV, BBDD en 1, 2 y 3 ★ Innovación: 2 SWV, BBDD en 4 y 5 ★ IL3: 4 SWV (1 cron dedicado a cron), BBDD en 4 y 5 En el mismo armario de servidores con comunicaciones directas entre servidores para evitar latencias. Comunicaciones dentro del armario a 10 GB 6 Caché de disco SSD es tan rápida que con memcached se pierde rendimiento 9.000 cursos anuales 70.000 alumnos 5.000 profesores
  • 7. Algunos datos sobre... Infraestructura Moodle 2 ★ 2 Balanceadores software (Activo-Pasivo) ldirector ★ 5 servidores web virtuales (uno además se encarga del cron) ★ 2 servidores memcached (Act-Pas.) ★ 2 servidores de bases de datos MySQL (master-slave) cada uno es el pasivo del otro (en caso de avería puede haber dos MySQL en la misma máquina). Discos raw en cabina ★ Servidor NFS compartido (proporcionado por cabina Dell) 1TB aprox OCW en un servidor virtual de hosting compartido 7 10.700 cursos 1.500 categorías 44.000 usuarios
  • 8. Algunos datos sobre... ★ 8 entornos en producción ★ 2 entornos en otra arquitectura distinta, únicamente accesible por personal del GATE (departamento que gestiona el Moodle-UPM) ★ Entorno para pruebas, últimas versiones, prueba de plugins, estilos, etc. esto todo en un servidor virtualizado Infraestructura de Estudios Oficiales ★ 2 Balanceadores hardware ★ 2 servidores web y 1 servidor memcached ★ 1 MySQL compartido (30Gb) ★ Servidor NAS compartido (2 TB) ★ 1 servidor "centinela" que ejecuta los cron 8 36.000 alumnos 3.100 docentes 5.000 cursos Actualmente al 50% y estimado que llegue al 80% al final del curso
  • 9. Algunos datos sobre... Infraestructura de e-UIC ★ 1 Balanceador (master-slave) ★ 5 placas servidor web ★ 1 servidor dedicado con PostgreSQL y disco SSD ★ 1 servidor NAS 9 9.800 usuarios 3.240 cursos
  • 10. Algunos datos sobre... Moodle Infraestructura Entorno virtualizado VMWare con: ★ 1 servidor BBDD Postgres: 16 GB memoria, 2 cpus. 40Gb ★ 1 servidor web: 16 GB memoria, 4 cpus. 900Gb ★ 1 servidor soporte (crons y traspasos): 16 GB memoria, 2 cpus ★ Cabina de discos 10 1.325 categorias 42.134 cursos 42.244 usuarios
  • 11. Algunos datos sobre... Moodle Infraestructura ★ Balanceador HW compartido ★ 4 servidores virtuales (uno para los cron) ★ 1 servidor memcached ★ 1 servidor BD Postgresql dedicado ★ 1 servidor NAS dedicado 11 2.000 profesores 25.000 alumnos 5.000 cursos
  • 12. Algunos datos sobre... Moodle Infraestructura ★ 2 Balanceadores compartidos con el resto de servicios de la Universidad ★ 3 Web proxy (terminan peticiones HTTPS, HTTP hasta Apaches, activando flags en cabeceras HTTP) ★ 2 Front-end Apache (Solaris 10) ★ 1 servidor dedicado bases de datos MySQL ○ 3 motores Mysql. ○ 1 dataset compartido para archivos temporales 12 3.500 cursos/año académico Histórico de 3 años 15.000 estudiantes 2.000 profesores 150-500 usuarios simultáneos Tiempo de respuesta de admin/user.php (buscar usuarios) de 4 a 7 s
  • 14. Algunos datos sobre... 14 Nadav Kavalerchik (Israel)
  • 16. Arquitectura: componentes Recomendaciones de Moodle sobre alta disponibilidad ★ Balanceador ★ Servidores web ★ Servidor memcached ★ Base de datos ★ NAS 16 Los componentes de la arquitectura de cada instalación dependen, entre otros, de la complejidad del sistema y del volumen de usuarios.
  • 17. Arquitectura: decisiones ★ ¿Hace falta balanceador? ¿software o hardware? ★ Servidores web: cuántos, de qué tipo (virtuales?), con qué características (RAM, CPU), SO, versión de PHP… ○ Si hay más de un servidor web, hará falta NAS. ★ Servidor memcached dedicado o instalado en los servidores web ★ Motor de base de datos: MySQL, PostgreSQL, Oracle… ★ NAS 17
  • 18. Despliegues ★ Múltiples entornos para validar aplicaciones y reducir el riesgo al desplegar en producción: ○ Locales: ■ Desarrollo: Vagrant! ○ Compartidos pero no productivos: ■ Integración (despliega desarrollador) ■ Preproducción (despliega tècnico sistemas). Permite validar procedimiento y funcionamiento ★ Algunas recomendaciones (DevOps): ○ Alinear los entornos (todos deberían ser iguales) ○ Automatizar los despliegues con herramientas como Puppet ○ Desplegar con mayor frecuencia paquetes más pequeños 18 No os perdáis: Entorno de desarrollo rápido con Vagrant Pau Ferrer Ocaña (Sábado 10:45)
  • 19. Incidencias más frecuentes ★ Comunicación: cambios en la red afectan a la visibilidad de servidores y servicios externos: ○ Conexión con Google, Dropbox… ○ Salida a Internet (p. ej. canales RSS) ★ Errores en los permisos de los ficheros durante los despliegues. ○ Si la MUC no tiene los permisos correctos, Moodle no funciona. ★ Sincronización de los servidores memcache: ○ Si se pierde la configuración de los servidores memcache los usuarios no ven la información actualizada. ★ Intervenciones manuales desalinean los frontales de un mismo entorno. 19
  • 20. DevOPS ★ "Metodología que permite reducir la brecha entre los desarrolladores de software y los profesionales de operaciones" ★ DevOps en 7 pasos: a. Ingeniería del software.AGILE! Código modular, paquetes pequeños, evitar deuda técnica... b. Control de versiones. GIT c. Gestión de la configuración. Reduce errores, da estabilidad y permite reconstruir fácilmente d. Integración continua. Automatiza ejecución de pruebas unitarias y avanza detección de errores e. Testing automatizado. Ejecución de todo tipo de tests para asegurar un nivel controlado de riesgo f. Despliegue continuo. No sólo código, también aplica a hardware. g. Monitorización. Métricas de los servidores y del uso con herramientas con JMeter o Selenium 20 DevOps termina lo que comenzó Agile
  • 21. Rendimiento ★ Puntos de mejora en función del rol ○ Profesor ○ Administrador de Moodle ○ Administrador de sistemas ○ Desarrollador ★ Pruebas automatizadas ★ Pruebas de carga 21
  • 22. Profesor ★ Activar los filtros estrictamente necesarios. ★ Redimensionar las imágenes antes de subirlas. ★ Reducir el número de secciones. ○ Seleccionar "Mostrar una sección por página" en el parámetro del curso "Paginación del curso" ★ Eliminar el bloque de actividades recientes ○ Fijar bloques por defecto al crear cursos $CFG->defaultblocks_override = 'participants:calendar_month,activity_modules'; ★ Deshabilitar todas las funcionalidades que no se usan. 22
  • 23. Administrador de Moodle ★ Si es posible, desactivar "log legacy" (> Moodle 2.8). ★ Reducir número de cursos de página inicial. ★ Revisar Informe de rendimiento de Moodle: 23
  • 24. Administrador de sistemas (1/3) MUC ★ Optimizar configuración del MUC. ★ Mover datos a caché en memória (ej. memcache) Memcached ★ Útil para datos de aplicación de la MUC ★ phpmemcachedadmin para controlar carga, hits… ★ Problema con el purgado. MDL-45375 Otras ★ Memcached, MongoDB… ★ De terceros: APC, XCache, WinCache 24 ¿Qué sistema de caché usáis?
  • 25. Administrador de sistemas (2/3) Opcache (opcode cache) ★ https://docs.moodle.org/29/en/OPcache ★ Integrado con PHP 5.5 (se puede instalar en versiones anteriores). ★ opcache.php para consultar configuración, hits… Disponible en GitHub 25
  • 26. Administrador de sistemas (3/3) ★ Moodle QH: Performance comparison ○ Sesión de usuario (base de datos, fichero, memcached): ■ Si la sesión es persistente (por ejemplo a través de cookie) se puede guardar en un directorio local en cada frontal. ■ Para instalaciones grandes hay que evitar tenerlas en NFS. Recomendaciones de Moodle sobre rendimiento 26 ¿Cómo controláis el impacto de los cambios en el rendimiento?
  • 27. Desarrollador ★ Consultar la guía de desarrollo de Moodle ★ En Depuración activar "DESARROLLADOR" ★ Optimizar las consultas a base de datos: ○ Reducirlas tanto como sea posible. ■ Evitar consultas en bucles (utilizar cláusula IN). ○ Revisar índices y usar join con campos indexados. ○ Usar recordsets para no cargarlo todo en memoria. ★ Code profiling ○ XDebug: MV en GitHub con Vagrant ○ XHProf 27
  • 28. Pruebas automatizadas ★ Sistemas con Integración Contínua: ○ Jenkins ○ Travis CI ★ Test Unitarios: ○ PHPUnit ★ Test de aceptación: ○ Behat 28 ¿Programáis los tests unitarios y de aceptación? No os perdáis: Desarrollo de plugins en entornos de integración continua Manu Cagigas (Viernes 15:45) Asistentes para ejecutar pruebas en Travis github@moodlerooms/moodle-plugin-ci github@jolicode/JoliCi
  • 29. Pruebas de carga ★ Permiten detectar cuellos de botella y analizar comportamiento de la arquitectura para optimizar la configuración. ★ Con jmeter o similar. Fases: ○ Definición, diseño y preparación del plan de pruebas ■ Plan de pruebas simplificado ■ Decidir proporción de participación para cada rol ○ Ejecución del plan de pruebas ○ Análisis de resultados ★ Durante la ejecución, monitorizar también los servidores. 29 ¿Hacéis pruebas de carga? ¿Cómo?
  • 30. Enlaces de interés ★ Tracker de Moodle ○ https://tracker.moodle.org ★ Fórum de soporte "Hardware&Performance" ○ https://moodle.org/mod/forum/view.php?id=596 ★ How to improve your Moodle site performance (David Monllaó) ○ http://www.slideshare.net/dmonllao/how-to-improve-your- moodle-site-performance ★ MoodleDev ○ https://docs.moodle.org/dev/Main_Page 30
  • 31. Sara Arjona Téllez Pau Ferrer Ocaña High Availability & Clusters @sara_arjona @crazyserver http://goo. gl/yx9ZH7