SlideShare une entreprise Scribd logo
1  sur  14
Octubre 2012, Puebla, México




Optimización de servidores web
       de software libre




                    Yannick Warnier
Plan de acción
●   LAMP
●   Chamilo
●   Firebug
●   Apache Benchmark
●   XHProf
●   APC y MemCache
●   Munin
●   Expires
●   Monit
Instalación LAMP
● En Windows
 ● Descargar EasyPHP o WAMP o XAMPP

 ● Instalar

● En GNU/Linux Debian o Ubuntu

    sudo apt-get install
    ●

libapache2-mod-php5 php5-mysql mysql-server

Nota : PHP 5.4 más eficiente
Instalación de Chamilo LMS
●   http://code.google.com/p/chamilo > Download
●   Descomprimir en /var/www
●   Crear un VirtualHost de Apache
●   Registrar nombre en /etc/hosts
●   Crear cuenta MySQL
●   Cargar página de instalación
●   Seguir procedimiento paso a paso
Primera medición
        con Firebug y YSlow
● Firebug, extensión de Firefox
 ● Usar pestaña « red » para tiempo de carga

● Yslow, extensión de Firefox

 ● Lanzar sobre sitio. Ignorar falta de CDNs
Apache Benchmark

● La clásica : ab -c 10 -n 100 http://misitio.com/
● Para simular una conexión : usar -C o -H

 ● -C indica un cookie

 ● -H indica un header
XHProf

● Librería de análisis publicada por Facebook
● Permite medir

 ● uso de ciclos de procesador

 ● uso de memoria
APC

● APC (Another PHP Cache) es un módulo
  de PHP que permite pre-interpretar
  scripts PHP
● Instalación :

 ● apt-get install php5-dev

 ● pear install apc

● Configuración : activar y asignar espacio

  en memoria
Memcache

● Almacenamiento de variables
● Servidor distribuido

 ● No hay redundancia
Munin

●   Munin permite seguir cambios en el tiempo
Expires
● Las imágenes cambian poco
● Los usuarios regresan mucho al mismo sitio

● Si los usuarios guardan esta info en caché

 ● Ya no se necesita cargarla cada vez

 ● Se reduce (mucho) el tráfico (16GB->2GB)


           <Directory /var/www/vhost/subdomains/nuevo/httpdocs/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
            ExpiresByType image/gif "access plus 1 day"
            ExpiresByType image/jpg "access plus 1 day"
            ExpiresByType image/png "access plus 1 day"
           </Directory>
Monit

● Que pasa cuando un servicio se cae
  o entra en sobrecarga ?
● Monit permite configurar límites y

 ● Enviar correos

 ● Reiniciar servicios
Varnish

●   Si muchos usuarios piden la misma página
●   En un tiempo corto
●   Se puede almazenar la página en un
●   servicio de reverse-caché
Contacto
Ing. Yannick Warnier
Director de tecnologías - BeezNest
Presidente - Asociación Chamilo

Info@beeznest.com
         
        @ywarnier

Contenu connexe

Tendances

Websockets & Web Messaging
Websockets & Web MessagingWebsockets & Web Messaging
Websockets & Web MessagingDẳvĭks Mks
 
Presentación internet kata
Presentación internet kataPresentación internet kata
Presentación internet katakatika921009
 
Blazor, un nuevo framework .NET
Blazor, un nuevo framework .NETBlazor, un nuevo framework .NET
Blazor, un nuevo framework .NETJonathan González
 
Presentacio Lasalle
Presentacio LasallePresentacio Lasalle
Presentacio LasalleJoan Queralt
 
Un sitio superrápido con joomla!
Un sitio superrápido con joomla!Un sitio superrápido con joomla!
Un sitio superrápido con joomla!Carlos M. Cámara
 
Dn12 u3 a10_rcla.
Dn12 u3 a10_rcla.Dn12 u3 a10_rcla.
Dn12 u3 a10_rcla.angel_rock
 
Introducción a herramientas de Roots (José Debuchy, WCBA 2017)
 Introducción a herramientas de Roots (José Debuchy, WCBA 2017) Introducción a herramientas de Roots (José Debuchy, WCBA 2017)
Introducción a herramientas de Roots (José Debuchy, WCBA 2017)wpargentina
 
Novedades en Arquitectura Front End // Meetup UX UI @UTN Mendoza
Novedades en Arquitectura Front End // Meetup UX UI @UTN MendozaNovedades en Arquitectura Front End // Meetup UX UI @UTN Mendoza
Novedades en Arquitectura Front End // Meetup UX UI @UTN MendozaDiego Suarez
 
Tutorial de Cómo Instalar Ruby On Rails
Tutorial de Cómo Instalar Ruby On RailsTutorial de Cómo Instalar Ruby On Rails
Tutorial de Cómo Instalar Ruby On RailsIsabel Gómez
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...OpenExpoES
 
Instalar joomla 2017
Instalar joomla 2017Instalar joomla 2017
Instalar joomla 2017Emerson Garay
 
Clase 1 introducción a symfony 2
Clase 1   introducción a symfony 2Clase 1   introducción a symfony 2
Clase 1 introducción a symfony 2hydras_cs
 
Diapositivas
DiapositivasDiapositivas
Diapositivasak96_86
 

Tendances (20)

Websockets & Web Messaging
Websockets & Web MessagingWebsockets & Web Messaging
Websockets & Web Messaging
 
Presentación internet kata
Presentación internet kataPresentación internet kata
Presentación internet kata
 
Blazor, un nuevo framework .NET
Blazor, un nuevo framework .NETBlazor, un nuevo framework .NET
Blazor, un nuevo framework .NET
 
Introducción a Node.js
Introducción a Node.jsIntroducción a Node.js
Introducción a Node.js
 
Presentacio Lasalle
Presentacio LasallePresentacio Lasalle
Presentacio Lasalle
 
Un sitio superrápido con joomla!
Un sitio superrápido con joomla!Un sitio superrápido con joomla!
Un sitio superrápido con joomla!
 
Servidor web nginx
Servidor web nginxServidor web nginx
Servidor web nginx
 
Dn12 u3 a10_rcla.
Dn12 u3 a10_rcla.Dn12 u3 a10_rcla.
Dn12 u3 a10_rcla.
 
Introducción a Ruby on rails
Introducción a Ruby on railsIntroducción a Ruby on rails
Introducción a Ruby on rails
 
Ajax
AjaxAjax
Ajax
 
Introducción a herramientas de Roots (José Debuchy, WCBA 2017)
 Introducción a herramientas de Roots (José Debuchy, WCBA 2017) Introducción a herramientas de Roots (José Debuchy, WCBA 2017)
Introducción a herramientas de Roots (José Debuchy, WCBA 2017)
 
Novedades en Arquitectura Front End // Meetup UX UI @UTN Mendoza
Novedades en Arquitectura Front End // Meetup UX UI @UTN MendozaNovedades en Arquitectura Front End // Meetup UX UI @UTN Mendoza
Novedades en Arquitectura Front End // Meetup UX UI @UTN Mendoza
 
Tutorial de Cómo Instalar Ruby On Rails
Tutorial de Cómo Instalar Ruby On RailsTutorial de Cómo Instalar Ruby On Rails
Tutorial de Cómo Instalar Ruby On Rails
 
Pruebas del servicio web
Pruebas del servicio webPruebas del servicio web
Pruebas del servicio web
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
 
Instalar joomla 2017
Instalar joomla 2017Instalar joomla 2017
Instalar joomla 2017
 
Clase 1 introducción a symfony 2
Clase 1   introducción a symfony 2Clase 1   introducción a symfony 2
Clase 1 introducción a symfony 2
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Servicios de red amp
Servicios de red   ampServicios de red   amp
Servicios de red amp
 

Similaire à Taller de optimizacion de servidores web tipo LAMP

Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVIrontec
 
Optimización de aplicaciones PHP (server side)
Optimización de aplicaciones PHP (server side)Optimización de aplicaciones PHP (server side)
Optimización de aplicaciones PHP (server side)Oriol Jiménez
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupalcamposer
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web SitesopenfinanceDev
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasoshydras_cs
 
Introduccion a kata containers
Introduccion a kata containersIntroduccion a kata containers
Introduccion a kata containersJulioMontes23
 
Curso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en DrupalCurso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en DrupalAlberto Permuy Leal
 
Presentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoPresentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoFernando Serer
 
AMP en profundidad
AMP en profundidad AMP en profundidad
AMP en profundidad Joseba Ruiz
 

Similaire à Taller de optimizacion de servidores web tipo LAMP (20)

Curso de php
Curso de phpCurso de php
Curso de php
 
Rendimiento extremo en php
Rendimiento extremo en phpRendimiento extremo en php
Rendimiento extremo en php
 
Cherokee presentacion
Cherokee presentacionCherokee presentacion
Cherokee presentacion
 
Performance en Drupal 7
Performance en Drupal 7Performance en Drupal 7
Performance en Drupal 7
 
Curso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPVCurso Avanzado PHP para EHU/UPV
Curso Avanzado PHP para EHU/UPV
 
Optimización de aplicaciones PHP (server side)
Optimización de aplicaciones PHP (server side)Optimización de aplicaciones PHP (server side)
Optimización de aplicaciones PHP (server side)
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
 
High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web Sites
 
Clase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasosClase 3 instalación y primeros pasos
Clase 3 instalación y primeros pasos
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Alternativas de hosting para WordPress
Alternativas de hosting para WordPressAlternativas de hosting para WordPress
Alternativas de hosting para WordPress
 
20170405 - Ecosistema Javascript
20170405 - Ecosistema Javascript20170405 - Ecosistema Javascript
20170405 - Ecosistema Javascript
 
Introduccion a kata containers
Introduccion a kata containersIntroduccion a kata containers
Introduccion a kata containers
 
Curso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en DrupalCurso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en Drupal
 
0 entorno php
0 entorno php0 entorno php
0 entorno php
 
Presentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoPresentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del Mediterráneo
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
 
Tema1
Tema1Tema1
Tema1
 
AMP en profundidad
AMP en profundidad AMP en profundidad
AMP en profundidad
 

Plus de Yannick Warnier

Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018Yannick Warnier
 
The benefits of using Git
The benefits of using GitThe benefits of using Git
The benefits of using GitYannick Warnier
 
Skillms, solution de gestion des talents
Skillms, solution de gestion des talentsSkillms, solution de gestion des talents
Skillms, solution de gestion des talentsYannick Warnier
 
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017Yannick Warnier
 
Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017Yannick Warnier
 
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017Yannick Warnier
 
L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017Yannick Warnier
 
Introducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPMIntroducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPMYannick Warnier
 
Desarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-WordpressDesarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-WordpressYannick Warnier
 
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CIYannick Warnier
 
Como usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso ChamiloComo usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso ChamiloYannick Warnier
 
Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014Yannick Warnier
 
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Yannick Warnier
 
Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)Yannick Warnier
 
Chamilo advantages against other LMSes
Chamilo advantages against other LMSesChamilo advantages against other LMSes
Chamilo advantages against other LMSesYannick Warnier
 
Chamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libreChamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libreYannick Warnier
 
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011Yannick Warnier
 

Plus de Yannick Warnier (20)

Chamilo, 12 ans déjà
Chamilo, 12 ans déjàChamilo, 12 ans déjà
Chamilo, 12 ans déjà
 
Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018
 
Novedades de PHP 7.*
Novedades de PHP 7.*Novedades de PHP 7.*
Novedades de PHP 7.*
 
The benefits of using Git
The benefits of using GitThe benefits of using Git
The benefits of using Git
 
Skillms, solution de gestion des talents
Skillms, solution de gestion des talentsSkillms, solution de gestion des talents
Skillms, solution de gestion des talents
 
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
 
Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017
 
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
 
L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017
 
Introducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPMIntroducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPM
 
Desarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-WordpressDesarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-Wordpress
 
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
 
Como usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso ChamiloComo usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso Chamilo
 
Asociación Chamilo
Asociación ChamiloAsociación Chamilo
Asociación Chamilo
 
Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014Crear cursos-virtuales-chamilo-flisol-2014
Crear cursos-virtuales-chamilo-flisol-2014
 
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
 
Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)
 
Chamilo advantages against other LMSes
Chamilo advantages against other LMSesChamilo advantages against other LMSes
Chamilo advantages against other LMSes
 
Chamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libreChamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libre
 
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
 

Dernier

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 

Dernier (20)

Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 

Taller de optimizacion de servidores web tipo LAMP

  • 1. Octubre 2012, Puebla, México Optimización de servidores web de software libre Yannick Warnier
  • 2. Plan de acción ● LAMP ● Chamilo ● Firebug ● Apache Benchmark ● XHProf ● APC y MemCache ● Munin ● Expires ● Monit
  • 3. Instalación LAMP ● En Windows ● Descargar EasyPHP o WAMP o XAMPP ● Instalar ● En GNU/Linux Debian o Ubuntu sudo apt-get install ● libapache2-mod-php5 php5-mysql mysql-server Nota : PHP 5.4 más eficiente
  • 4. Instalación de Chamilo LMS ● http://code.google.com/p/chamilo > Download ● Descomprimir en /var/www ● Crear un VirtualHost de Apache ● Registrar nombre en /etc/hosts ● Crear cuenta MySQL ● Cargar página de instalación ● Seguir procedimiento paso a paso
  • 5. Primera medición con Firebug y YSlow ● Firebug, extensión de Firefox ● Usar pestaña « red » para tiempo de carga ● Yslow, extensión de Firefox ● Lanzar sobre sitio. Ignorar falta de CDNs
  • 6. Apache Benchmark ● La clásica : ab -c 10 -n 100 http://misitio.com/ ● Para simular una conexión : usar -C o -H ● -C indica un cookie ● -H indica un header
  • 7. XHProf ● Librería de análisis publicada por Facebook ● Permite medir ● uso de ciclos de procesador ● uso de memoria
  • 8. APC ● APC (Another PHP Cache) es un módulo de PHP que permite pre-interpretar scripts PHP ● Instalación : ● apt-get install php5-dev ● pear install apc ● Configuración : activar y asignar espacio en memoria
  • 9. Memcache ● Almacenamiento de variables ● Servidor distribuido ● No hay redundancia
  • 10. Munin ● Munin permite seguir cambios en el tiempo
  • 11. Expires ● Las imágenes cambian poco ● Los usuarios regresan mucho al mismo sitio ● Si los usuarios guardan esta info en caché ● Ya no se necesita cargarla cada vez ● Se reduce (mucho) el tráfico (16GB->2GB) <Directory /var/www/vhost/subdomains/nuevo/httpdocs/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ExpiresByType image/gif "access plus 1 day" ExpiresByType image/jpg "access plus 1 day" ExpiresByType image/png "access plus 1 day" </Directory>
  • 12. Monit ● Que pasa cuando un servicio se cae o entra en sobrecarga ? ● Monit permite configurar límites y ● Enviar correos ● Reiniciar servicios
  • 13. Varnish ● Si muchos usuarios piden la misma página ● En un tiempo corto ● Se puede almazenar la página en un ● servicio de reverse-caché
  • 14. Contacto Ing. Yannick Warnier Director de tecnologías - BeezNest Presidente - Asociación Chamilo Info@beeznest.com                   @ywarnier

Notes de l'éditeur

  1. Estas diapositivas sirven de base para el taller de introducción a la optimización de sevidores web realizado por BeezNest.
  2. Nuestro plan de acción será, en base a la aplicación Chamilo (PHP, MySQL, Apache), de revisar la pila de software usada, herramientas de análisis de carga, de alertas, y de optimización simple.
  3. Para instalar la capa de software necesaria (tomando como referencia Ubuntu), unos comandos cortos serán suficientes. Los paquetes elegidos indicarán sus propios requerimientos Apache sirve como servidor web (entrega las páginas HTML) MySQL se usa como servidor de bases de datos (se almacenan los datos necesarios para la aplicación) PHP traduce el código PHP, con la ayuda de datos que recupera en la base de datos, en una página HTML entregada por el servidor web (Apache) al usuario
  4. Chamilo se puede instalar en unos pasos simples. La elaboración del VirtualHost es un ejercicio parte del taller, que representa una serie de ventajas a nivel de personalización y optimización de un sitio en particular (más todavía si el servidor en el cual se aloja ofrece varios sitios).
  5. Firebug es una herramienta (plugin) de Firefox que permite analizar de forma precisa las razones de lentitud de un sitio web desde el punto de vista del navegador del usuario : peso de las imágenes, tiempo para contactar el servidor, imágenes que generan errores, etc. Principalmente a través de su pestaña « Red » Yslow es una herramienta (también plugin de Firefox, aunque tiene su versión online) que analiza en más detalles la adecuación con unas recomendaciones generales a nivel de optimización de sitios web.
  6. Apache Benchmark es un aplicativo chiquito proveido por el paquete apache2-utils bajo Ubuntu. Se lanza en línea de comando con unos parámetros simples que permitirán « simular » una carga de usuarios en su sitio. El parámetro « -c » indica la cantidad de pedidas simultáneas (« c » para « concurente ») El parámetro « -n » (« número ») indica la cantidad de pedidas que hacer al sitio. Ojo que este sistema solo descarga la página principal (HTML) y no los recursos vinculados (imágenes, JS, CSS), lo que tiene que ser tomado en cuenta al momento de realizar pruebas, ya que no representa exactamente la situación como usuario.
  7. Xhprof es algo complicado de instalar (ver referencia) pero permite analizar con precisión los pasos más lentos de la generación (PHP) de una página, y obviamente dedicar tiempo a los pasos que más importan. http://techportal.inviqa.com/2009/12/01/profiling-with-xhprof/
  8. APC optimiza la carga de páginas PHP por guardar en memoria versiones pre-compiladas de los scripts usados. Su instalación y activación es generalmente suficiente para lograr buenos resultados, aunque puede ser causa de comportamientos extraños que generarán frustración de parte de los usuarios.
  9. Memcache es un « servidor de caché distribuido», es decir que actua como una base de datos (para menores cantidades de información) exclusivamente almacenado en memoria, y posiblemente distribuido entre varios servidores. Esto permite alcanzar mayores celeridades para, por ejemplo, el almacenamiento de datos de sesiones de usuarios.
  10. Munin tiene que ser configurado con paciencia y a través de varias « rondas » de afinamiento, ya que requiere de un cliente que colecta, y de un servidor que muestra la información colectada. Ambos servidores pueden estar en la misma máquina. Los gráficos permiten tener un registro « histórico » de los momentos de mayor carga, mayor uso de memoria o latencia en el disco (y mucho más). Es relativamente fácil diseñar sus propios módulos Munin para aplicaciones específicas. Ver http://munin-monitoring.org/wiki/HowToWritePlugins
  11. Expires es un módulo poco conocido de Apache, que permite definir tiempos de expiración para cada recurso en un servidor, por ejemplo, definir que los iconos de su sitio web pueden permanecer un mes en caché del navegador del cliente (a menos que este limpie su caché). Esto tiene usualmente un efecto tremendo en reducción de ancho de banda y de llamadas al servidor, ya que, al conocer el periodo de vigencia de algun recurso, el navegador ya ni llama al servidor para verificarlo. Simplemente asume, localmente, que este recurso no ha cambiado. El efecto para el usuario también es impresionante, ya que las páginas en su sitio cargarán mucho menos recursos, y por lo tanto necesitarán mucho menos descargas.
  12. Monit es una herramienta de monitoreo y alertas sobre servicios o estados de un servidor. Permite, por ejemplo, decir que si la carga del sistema pasa por encima de 80 % por más de 2 minutos, se envie un correo electrónico (o un SMS) al administrador del servidor. Esto permite adelantarse y estar al tanto de problemas « por surgir » a nivel del servidor, lo que permite mejorar la relación con el cliente y hacer vigilancia « preventiva y pro-activa »
  13. Varnish puede ser su mejor amigo en términos de optimización de servidores web. Permite hacer micro-caché, caché y balanceo de carga.
  14. BeezNest imparte talleres de optimización de servidores web y consultoría en toda América Latina (ya en México, Perú y Venezuela) y su trabajo ha permitido lograr hasta 60 % de aumento de tráfico y 800 % de reducción de carga, según los casos más exitosos. Para más información, escribir a info@beeznest.com