Entonamiento de aplicaciones Web (Enfasis en PHP)
-
Upload
camposer -
Category
Technology
-
view
1.085 -
download
5
description
Transcript of Entonamiento de aplicaciones Web (Enfasis en PHP)
Rodolfo CamposJoincic, 26 de Mayo de 2012
@camposerPresentación disponible en 21 RedES
Entonamiento de aplicaciones Web
(Enfasis en PHP)
Agenda
La Web y PHP Problemas típicos Soluciones típicas ¿Con qué se come? Preguntas
Problemas típicos
Problema Posible solución específica
Específica de PHP
Lenguaje interpretado
APC Sí
Demasiados accesos a BBDD
Memcached No
Servidores de aplicaciones ofreciendo contenidos estáticos
VarnishCDN No
Páginas (resultado final HTML) mejorables
PageSpeed No
Crecimiento limitado de BBDD
Replicación activa o pasivaNoSQL
No
Problemas típicos
Problema Posible solución específica
Específica de PHP
Lenguaje interpretado
APC Sí
Demasiados accesos a BBDD
Memcached No
Servidores de aplicaciones ofreciendo contenidos estáticos
VarnishCDN No
Páginas (resultado final HTML) mejorables
PageSpeed No
Crecimiento limitado de BBDD
Replicación activa o pasivaNoSQL
No
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
Problema Posible solución específica
Específica de PHP
Lenguaje interpretado
APC Sí
Demasiados accesos a BBDD
Memcached No
Servidores de aplicaciones ofreciendo contenidos estáticos
VarnishCDN No
Páginas (resultado final HTML) mejorables
PageSpeed No
Crecimiento limitado de BBDD
Replicación activa o pasivaNoSQL
No
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 clavevalor (keyvalue) 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
Problema Posible solución específica
Específica de PHP
Lenguaje interpretado
APC Sí
Demasiados accesos a BBDD
Memcached No
Servidores de aplicaciones ofreciendo contenidos estáticos
VarnishCDN No
Páginas (resultado final HTML) mejorables
PageSpeed No
Crecimiento limitado de BBDD
Replicación activa o pasivaNoSQL
No
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
Problema Posible solución específica
Específica de PHP
Lenguaje interpretado
APC Sí
Demasiados accesos a BBDD
Memcached No
Servidores de aplicaciones ofreciendo contenidos estáticos
VarnishCDN No
Páginas (resultado final HTML) mejorables
PageSpeed No
Crecimiento limitado de BBDD
Replicación activa o pasivaNoSQL
No
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 (roundtrip 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
Problema Posible solución específica
Específica de PHP
Lenguaje interpretado
APC Sí
Demasiados accesos a BBDD
Memcached No
Servidores de aplicaciones ofreciendo contenidos estáticos
VarnishCDN No
Páginas (resultado final HTML) mejorables
PageSpeed No
Crecimiento limitado de BBDD
Replicación activa o pasivaNoSQL
No
Replicación activa-pasiva yNoSQL
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 camposertechie.
Maestro-Maestro(activa)
Maestro-Esclavo(pasiva)
CUD R
CUD
CRUDCRUD
CRUD
C: CreateR: Retrieve/ReadU: UpdateD: Delete
Replicación activa-pasiva yNoSQL
Vale la pena echarle un ojo a la solución MaestroMaestro 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...
Cortesía de Letsgetdugg
En este ejemplo sonServidores de AplicacionesJava, pero si fuese PHP,Podríamos Instalar APC!!
Podría ir a una CDN
Más ejemplos... ¿Con qué se come?
¡Muchas graciaspor su atención!
Rodolfo CamposJoincic, 26 de Mayo de 2012
@camposerPresentación disponible en 21 RedES