• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Configurando un servidor para Moodle
 

Configurando un servidor para Moodle

on

  • 855 views

Presentación sobre como preparar un entorno LAMP para llevar a cabo una instalación de Moodle que brinde una Alta Disponibilidad.

Presentación sobre como preparar un entorno LAMP para llevar a cabo una instalación de Moodle que brinde una Alta Disponibilidad.

Statistics

Views

Total Views
855
Views on SlideShare
853
Embed Views
2

Actions

Likes
1
Downloads
0
Comments
0

1 Embed 2

http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Configurando un servidor para Moodle Configurando un servidor para Moodle Presentation Transcript

    • Configurandoun ServidorPor: Ing. Dennis Cohn Muroy
    • Agenda● Generalidades: Apache, MySQL● Optimización: Apache, MySQL, PHP● Pruebas de Stress● Escalabilidad Vertical● Escalabilidad Horizontal
    • ¿Qué Sistemas Operativos conoceno han utilizado?
    • ¿Qué servicios web utilizan?
    • ¿Qué servidores conocen?
    • Servidor Web: Apache● Programa encargado de transferir páginas web● Multiplataforma
    • Base de Datos: MySQL
    • Base de Datos: MySQL● Base de Datos● Colección estructurada de datos.● Sistema de Gestión de Bases de Datos● Añadir, acceder, y procesar datos en una base dedatos● Bases de datos relacionales● Datos en tablas separadas.
    • Base de Datos: MySQL● Motores● InnoDB● MyISAM● Heap● Archive
    • Optimizando Apache● Desactivar módulos● Máximo número de clientes● Pool de conexiones● Activando la compresión HTTP
    • Optimizando MySQL● Índices en las tablas● Tipos de datos de las columnas● Consultas utilizan los índices● Evitar consultas anidadas innecesarios● Optimizar los parámetros del MySQL
    • Optimizando MySQL● key_buffer_size (índices)● 25% ~ 50% mem. Caches● Hits: 100 - ((Key_reads*100)/key_reads_requests)● table_cache (tablas)● Opened_tables / max_used_connections● Opened tables valor pequeño● thread_cache_size (conexión)● Hits: threads_created/connections
    • Optimizando MySQL● query_cache_size (resultados)● Hits: Qcache_hits/ (Qcache_hits + com_select)● tmp_table_size (tablas temporales)● Created_tmp_disk_tables
    • Optimizando MySQL● read_buffer_size (full scans)● read_rnd_buffer_size (full scans sort)● read_buffer_size = read_rnd_buffer_size● Asignar 1K por cada 1M● sort_buffer_size (sort)● join_buffer_size (join)
    • Optimizando MySQL● 32 bits -> máx 2GB● 64 bits -> máx 4GB (< 5.1)Max GB = key_buffer_size + query_cache_size + tmp_table_size +thread_cache_size + max_connections * (read_buffer_size +read_rnd_buffer_size + sort_buffer_size + join_buffer_size + binlog_cache_size)) / 1073741824
    • PHP eacceleratorOpCodeParserInstruction SetScript
    • PHP eacceleratorOpCodeParserInstruction SetScript
    • Efectuando Pruebas: JMeter● Plan de Pruebas● HTTP Cache Manager● Valores por Defecto para Petición HTTP● Flujo de la Prueba– Gestor de Cookies HTTP– Petición HTTP– Controlador Simple● Peticiones HTTP– Resultados
    • Efectuando Pruebas: JMeter
    • Efectuando Pruebas: JMeterServidor conparámetrospredefinidosServidor conparámetrosoptimizados
    • Monitorizando la Cargahtopmtop
    • Ya optimicé ... la carga del servidores muy elevada ...
    • Escalabilidad Vertical● Crecer añadiendo recursos● Memoria Insuficiente● Considerar Arquitectura del SO● Falta de espacio en discos● CPU en constante uso● Alto tráfico en el servidor -> bond
    • ¿Y si no fuera posible escalarverticalmente?
    • Escalabilidad Horizontal● Crecer añadiendo nodos● Distribuir las funciones● Varios nodos● Tiende a ser más económico● Largo plazo
    • Balanceo de Carga● Alto número de visitas● Diversos mecanismos● Tecnologías● Pound● Balance● Piranha
    • Replicación● Copiar datos de un servidor (Maestro) a otro(Esclavo).● Objetivo:● Distribuir datos (grandes distancias)● Distribuir la carga de los servidores
    • Replicación● Maestro – Maestro● Modificar valores en ambos nodos.● Maestro – Esclavo● Maestro (Escritura) / Esclavo (Lectura)Solo se distribuyen SELECTS
    • Enrutamiento de Querys● Maestro: Insert, Update, Delete● Esclavo: Select● Alternativas● MySQL Proxy● Tungsten
    • Caché en Memoria● Caché llave – valor enmemoria● Almacena tipos de datosprimitivos y serializados.● Reduce consultas abase de datos.
    • Servidor de Contenido Estático● 3 objetos dinámicos● Más de 22 objetosestáticos por páginaY siguen aumentando ...
    • Combinando las diversas tecnologías ...
    • MaestroEsclavo nEsclavo
    • Referencias● High Performance MySQL● Building Scalable Web Sites● MySQL [www.mysql.com]● Memcached [http://memcached.org]● MySQL Replication Features(Thalmann, Lars)
    • GraciasIng. Dennis Cohn Muroydennis.cohn@pucp.edu.peFollow me: @denniscm20