SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Entonamiento de
aplicaciones Web
  (Enfasis en PHP)


            Rodolfo Campos
      Joincic, 26 de Mayo de 2012

              @camposer
  Presentación disponible en 21 RedES
Agenda
   La Web y PHP
   Problemas típicos
   Soluciones típicas
   ¿Con qué se come?
   Preguntas
La Web y PHP




         Cortesía de Delta PC
Problemas típicos
                        Posible solución
     Problema                                 Específica de PHP
                           específica
Lenguaje
                       APC                           Sí
interpretado
Demasiados accesos
                   Memcached                         No
a BBDD
Servidores de
aplicaciones           Varnish
                                                     No
ofreciendo             CDN
contenidos estáticos
Páginas (resultado
final HTML)            PageSpeed                     No
mejorables
                       Replicación activa o
Crecimiento limitado
                       pasiva                        No
de BBDD
                       NoSQL
Problemas típicos
                        Posible solución
     Problema                                 Específica de PHP
                           específica
Lenguaje
                       APC                           Sí
interpretado
Demasiados accesos
                   Memcached                         No
a BBDD
Servidores de
aplicaciones           Varnish
                                                     No
ofreciendo             CDN
contenidos estáticos
Páginas (resultado
final HTML)            PageSpeed                     No
mejorables
                       Replicación activa o
Crecimiento limitado
                       pasiva                        No
de BBDD
                       NoSQL
APC
   Según php.net: “La APC, o caché alternativa de 
    PHP (por sus siglas en inglés), es un código de 
    operación de caché libre y abierto para PHP. Su 
    objetivo es el de proporcionar un marco robusto, 
    libre y abierto para optimizar código de PHP 
    intermedio mediante el almacenamiento en 
    caché“
   Artículo en 21 RedES aquí.
Problemas típicos
                        Posible solución
     Problema                                 Específica de PHP
                           específica
Lenguaje
                       APC                           Sí
interpretado
Demasiados accesos
                   Memcached                         No
a BBDD
Servidores de
aplicaciones           Varnish
                                                     No
ofreciendo             CDN
contenidos estáticos
Páginas (resultado
final HTML)            PageSpeed                     No
mejorables
                       Replicación activa o
Crecimiento limitado
                       pasiva                        No
de BBDD
                       NoSQL
Memcached
   Según el sitio oficial es: “Un sistema distribuido de 
    cacheo de objetos en memoria, libre, de código abierto, 
    de alto rendimiento y de naturaleza genérica, pensado 
    para acelerar aplicaciones web dinámicas, aliviando la 
    carga en Bases de Datos (BBDD)”.
   Es un almacén en memoria de clave­valor (key­value) de 
    pequeños trozos de datos arbitrarios (cadenas de 
    caracteres, objetos) extraídos de BBDD, llamadas a API, 
    o fragmentos de páginas”
   Artículo en 21 RedES aquí.
Problemas típicos
                        Posible solución
     Problema                                 Específica de PHP
                           específica
Lenguaje
                       APC                           Sí
interpretado
Demasiados accesos
                   Memcached                         No
a BBDD
Servidores de
aplicaciones           Varnish
                                                     No
ofreciendo             CDN
contenidos estáticos
Páginas (resultado
final HTML)            PageSpeed                     No
mejorables
                       Replicación activa o
Crecimiento limitado
                       pasiva                        No
de BBDD
                       NoSQL
Varnish y CDN
   Según la documentación oficial de Varnish: “es 
    un acelerador de aplicaciones Web. Su misión es 
    colocarse enfrente de Servidores Web y cachear 
    su contenido”.
   Artículo de Varnish en 21 RedES aquí.
   Vale, no hablarás de CDN (Content Delivery 
    Network), pero dime al menos para qué sirve... 
    Wikipedia tiene un gráfico que nos viene como 
    anillo al dedo.
Problemas típicos
                        Posible solución
     Problema                                 Específica de PHP
                           específica
Lenguaje
                       APC                           Sí
interpretado
Demasiados accesos
                   Memcached                         No
a BBDD
Servidores de
aplicaciones           Varnish
                                                     No
ofreciendo             CDN
contenidos estáticos
Páginas (resultado
final HTML)            PageSpeed                     No
mejorables
                       Replicación activa o
Crecimiento limitado
                       pasiva                        No
de BBDD
                       NoSQL
PageSpeed
   Es un proyecto de Google con varios 
    componentes que buscan optimizar el 
    rendimiento de páginas Web.
   Yo voy a hablarles del módulo para Apache 
    HTTP Server, mod_pagespeed, que 
    automáticamente reescribe páginas y recursos 
    relacionados para mejorar su rendimiento.
   PageSpeed reescribe los recursos servidos por el 
    Apache siguiendo un conjunto de 
    buenas prácticas.
PageSpeed
   El conjunto de buenas prácticas buscan la: 
    optimización de cacheo, minimización de los 
    RTT (round­trip times), minimización de la 
    sobrecarga de peticiones, minimización del 
    tamaño de la carga útil del paquete (payload), 
    optimización de la representación (rendering) en 
    el navegador y optimización para móviles
   Artículo en 21 RedES aquí.
Problemas típicos
                        Posible solución
     Problema                               Específica de PHP
                           específica
Lenguaje
                       APC                         Sí
interpretado
Demasiados accesos
                   Memcached                       No
a BBDD
Servidores de
aplicaciones           Varnish
                                                   No
ofreciendo             CDN
contenidos estáticos
Páginas (resultado
final HTML)            PageSpeed                   No
mejorables
                       Replicación activa
Crecimiento limitado
                       o pasiva                    No
de BBDD
                       NoSQL
Replicación activa-pasiva y
          NoSQL
   Cuando no consigo imágenes que me convenzan 
    en Google, me toca hacer estos horribles 
    gráficos :­)
   Ejemplo replicación pasiva (maestro­>esclavo) 
    con MySQL en camposer­techie.
                          C: Create
                          R: Retrieve/Read
                          U: Update
    CRUD           CRUD   D: Delete          CUD          R

           CRUD                                    CUD



      Maestro-Maestro                         Maestro-Esclavo
         (activa)                                (pasiva)
Replicación activa-pasiva y
          NoSQL
   Vale la pena echarle un ojo a la solución Maestro­
    Maestro de Percona (MySQL ”envenenao”) 
    XtraDB.
   Y acerca de NoSQL, que no estaba en el 
    temario... Les dejo la definición de Martin 
    Fowler, no encuentro una mejor :­)
   ¿Not Only SQL o NO SQL? En todo caso, 
    almacenan objetos y la mayoría se valen de 
    operaciones MapReduce para procesar datos. 
    Súper útil en esquemas BigData.
Me perdí, ubicame en el mapa,
     dame un ejemplo...
                                  Podría ir a una CDN




                                      En este ejemplo son
                                      Servidores de Aplicaciones
                                      Java, pero si fuese PHP,
                                      Podríamos Instalar APC!!




        Cortesía de Letsgetdugg
Más ejemplos... ¿Con qué se
         come?
¡Muchas gracias
por su atención!


           Rodolfo Campos
     Joincic, 26 de Mayo de 2012

             @camposer
 Presentación disponible en 21 RedES

Contenu connexe

Similaire à Entonamiento de aplicaciones Web (Enfasis en PHP)

Similaire à Entonamiento de aplicaciones Web (Enfasis en PHP) (20)

Desarrollo en la nube
Desarrollo en la nubeDesarrollo en la nube
Desarrollo en la nube
 
Tecnologias para paginas Web Dinamicas del lado del Servidor
Tecnologias para paginas Web Dinamicas del lado del ServidorTecnologias para paginas Web Dinamicas del lado del Servidor
Tecnologias para paginas Web Dinamicas del lado del Servidor
 
Tecnologías para paginas Dinamicas del lado del servidor
Tecnologías para paginas Dinamicas del lado del servidorTecnologías para paginas Dinamicas del lado del servidor
Tecnologías para paginas Dinamicas del lado del servidor
 
Tema 1
Tema 1Tema 1
Tema 1
 
My Sql
My SqlMy Sql
My Sql
 
My sql
My sqlMy sql
My sql
 
MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013MySQL Team – Open Day Oracle 2013
MySQL Team – Open Day Oracle 2013
 
Tecnicas y extensiones para Java de tiempo real
Tecnicas y extensiones para Java de tiempo realTecnicas y extensiones para Java de tiempo real
Tecnicas y extensiones para Java de tiempo real
 
Jdbc
JdbcJdbc
Jdbc
 
Lenguajes de programacion web
Lenguajes de programacion webLenguajes de programacion web
Lenguajes de programacion web
 
Lenguajes de programacion web
Lenguajes de programacion webLenguajes de programacion web
Lenguajes de programacion web
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
¿Que es javascript y Modulos?
¿Que es javascript y Modulos?¿Que es javascript y Modulos?
¿Que es javascript y Modulos?
 
Jdbc lenguaje de programación
Jdbc lenguaje de programaciónJdbc lenguaje de programación
Jdbc lenguaje de programación
 
Lenguaje de programacion con so
Lenguaje de programacion con soLenguaje de programacion con so
Lenguaje de programacion con so
 
Jdbc
JdbcJdbc
Jdbc
 
My sql ha-fina_lv2
My sql ha-fina_lv2My sql ha-fina_lv2
My sql ha-fina_lv2
 
los-diferentes-lenguajes-de-programacion-para-la-web
 los-diferentes-lenguajes-de-programacion-para-la-web los-diferentes-lenguajes-de-programacion-para-la-web
los-diferentes-lenguajes-de-programacion-para-la-web
 
los diferentes lenguajes de programación para-la-web
 los diferentes lenguajes de programación para-la-web los diferentes lenguajes de programación para-la-web
los diferentes lenguajes de programación para-la-web
 

Dernier

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 

Dernier (15)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 

Entonamiento de aplicaciones Web (Enfasis en PHP)

  • 1. Entonamiento de aplicaciones Web (Enfasis en PHP) Rodolfo Campos Joincic, 26 de Mayo de 2012 @camposer Presentación disponible en 21 RedES
  • 2. Agenda  La Web y PHP  Problemas típicos  Soluciones típicas  ¿Con qué se come?  Preguntas
  • 3. La Web y PHP Cortesía de Delta PC
  • 4. Problemas típicos Posible solución Problema Específica de PHP específica Lenguaje APC Sí interpretado Demasiados accesos Memcached No a BBDD Servidores de aplicaciones Varnish No ofreciendo CDN contenidos estáticos Páginas (resultado final HTML) PageSpeed No mejorables Replicación activa o Crecimiento limitado pasiva No de BBDD NoSQL
  • 5. Problemas típicos Posible solución Problema Específica de PHP específica Lenguaje APC Sí interpretado Demasiados accesos Memcached No a BBDD Servidores de aplicaciones Varnish No ofreciendo CDN contenidos estáticos Páginas (resultado final HTML) PageSpeed No mejorables Replicación activa o Crecimiento limitado pasiva No de BBDD NoSQL
  • 6. APC  Según php.net: “La APC, o caché alternativa de  PHP (por sus siglas en inglés), es un código de  operación de caché libre y abierto para PHP. Su  objetivo es el de proporcionar un marco robusto,  libre y abierto para optimizar código de PHP  intermedio mediante el almacenamiento en  caché“  Artículo en 21 RedES aquí.
  • 7. Problemas típicos Posible solución Problema Específica de PHP específica Lenguaje APC Sí interpretado Demasiados accesos Memcached No a BBDD Servidores de aplicaciones Varnish No ofreciendo CDN contenidos estáticos Páginas (resultado final HTML) PageSpeed No mejorables Replicación activa o Crecimiento limitado pasiva No de BBDD NoSQL
  • 8. Memcached  Según el sitio oficial es: “Un sistema distribuido de  cacheo de objetos en memoria, libre, de código abierto,  de alto rendimiento y de naturaleza genérica, pensado  para acelerar aplicaciones web dinámicas, aliviando la  carga en Bases de Datos (BBDD)”.  Es un almacén en memoria de clave­valor (key­value) de  pequeños trozos de datos arbitrarios (cadenas de  caracteres, objetos) extraídos de BBDD, llamadas a API,  o fragmentos de páginas”  Artículo en 21 RedES aquí.
  • 9. Problemas típicos Posible solución Problema Específica de PHP específica Lenguaje APC Sí interpretado Demasiados accesos Memcached No a BBDD Servidores de aplicaciones Varnish No ofreciendo CDN contenidos estáticos Páginas (resultado final HTML) PageSpeed No mejorables Replicación activa o Crecimiento limitado pasiva No de BBDD NoSQL
  • 10. Varnish y CDN  Según la documentación oficial de Varnish: “es  un acelerador de aplicaciones Web. Su misión es  colocarse enfrente de Servidores Web y cachear  su contenido”.  Artículo de Varnish en 21 RedES aquí.  Vale, no hablarás de CDN (Content Delivery  Network), pero dime al menos para qué sirve...  Wikipedia tiene un gráfico que nos viene como  anillo al dedo.
  • 11. Problemas típicos Posible solución Problema Específica de PHP específica Lenguaje APC Sí interpretado Demasiados accesos Memcached No a BBDD Servidores de aplicaciones Varnish No ofreciendo CDN contenidos estáticos Páginas (resultado final HTML) PageSpeed No mejorables Replicación activa o Crecimiento limitado pasiva No de BBDD NoSQL
  • 12. PageSpeed  Es un proyecto de Google con varios  componentes que buscan optimizar el  rendimiento de páginas Web.  Yo voy a hablarles del módulo para Apache  HTTP Server, mod_pagespeed, que  automáticamente reescribe páginas y recursos  relacionados para mejorar su rendimiento.  PageSpeed reescribe los recursos servidos por el  Apache siguiendo un conjunto de  buenas prácticas.
  • 13. PageSpeed  El conjunto de buenas prácticas buscan la:  optimización de cacheo, minimización de los  RTT (round­trip times), minimización de la  sobrecarga de peticiones, minimización del  tamaño de la carga útil del paquete (payload),  optimización de la representación (rendering) en  el navegador y optimización para móviles  Artículo en 21 RedES aquí.
  • 14. Problemas típicos Posible solución Problema Específica de PHP específica Lenguaje APC Sí interpretado Demasiados accesos Memcached No a BBDD Servidores de aplicaciones Varnish No ofreciendo CDN contenidos estáticos Páginas (resultado final HTML) PageSpeed No mejorables Replicación activa Crecimiento limitado o pasiva No de BBDD NoSQL
  • 15. Replicación activa-pasiva y NoSQL  Cuando no consigo imágenes que me convenzan  en Google, me toca hacer estos horribles  gráficos :­)  Ejemplo replicación pasiva (maestro­>esclavo)  con MySQL en camposer­techie. C: Create R: Retrieve/Read U: Update CRUD CRUD D: Delete CUD R CRUD CUD Maestro-Maestro Maestro-Esclavo (activa) (pasiva)
  • 16. Replicación activa-pasiva y NoSQL  Vale la pena echarle un ojo a la solución Maestro­ Maestro de Percona (MySQL ”envenenao”)  XtraDB.  Y acerca de NoSQL, que no estaba en el  temario... Les dejo la definición de Martin  Fowler, no encuentro una mejor :­)  ¿Not Only SQL o NO SQL? En todo caso,  almacenan objetos y la mayoría se valen de  operaciones MapReduce para procesar datos.  Súper útil en esquemas BigData.
  • 17. Me perdí, ubicame en el mapa, dame un ejemplo... Podría ir a una CDN En este ejemplo son Servidores de Aplicaciones Java, pero si fuese PHP, Podríamos Instalar APC!! Cortesía de Letsgetdugg
  • 18. Más ejemplos... ¿Con qué se come?
  • 19. ¡Muchas gracias por su atención! Rodolfo Campos Joincic, 26 de Mayo de 2012 @camposer Presentación disponible en 21 RedES