entonamiento de aplicaciones web (enfasis en php)

19
Rodolfo Campos Joincic, 26 de Mayo de 2012 @camposer Presentación disponible en 21 RedES Entonamiento de aplicaciones Web (Enfasis en PHP)

Upload: camposer

Post on 05-Jul-2015

1.084 views

Category:

Technology


5 download

DESCRIPTION

Entonamiento de aplicaciones Web(Enfasis en PHP). Agenda:- La Web y PHP- Problemas típicos- Soluciones típicas

TRANSCRIPT

Page 1: 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)

Page 2: Entonamiento de aplicaciones Web (Enfasis en PHP)

Agenda

La Web y PHP Problemas típicos Soluciones típicas ¿Con qué se come? Preguntas

Page 3: Entonamiento de aplicaciones Web (Enfasis en PHP)

La Web y PHP

Cortesía de Delta PC

Page 4: Entonamiento de aplicaciones Web (Enfasis en PHP)

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

Page 5: Entonamiento de aplicaciones Web (Enfasis en PHP)

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

Page 6: Entonamiento de aplicaciones Web (Enfasis en PHP)

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í.

Page 7: Entonamiento de aplicaciones Web (Enfasis en PHP)

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

Page 8: Entonamiento de aplicaciones Web (Enfasis en PHP)

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í.

Page 9: Entonamiento de aplicaciones Web (Enfasis en PHP)

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

Page 10: Entonamiento de aplicaciones Web (Enfasis en PHP)

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.

Page 11: Entonamiento de aplicaciones Web (Enfasis en PHP)

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

Page 12: Entonamiento de aplicaciones Web (Enfasis en PHP)

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.

Page 13: Entonamiento de aplicaciones Web (Enfasis en PHP)

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í.

Page 14: Entonamiento de aplicaciones Web (Enfasis en PHP)

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

Page 15: Entonamiento de aplicaciones Web (Enfasis en PHP)

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 camposer­techie.

Maestro-Maestro(activa)

Maestro-Esclavo(pasiva)

CUD R

CUD

CRUDCRUD

CRUD

C: CreateR: Retrieve/ReadU: UpdateD: Delete

Page 16: Entonamiento de aplicaciones Web (Enfasis en PHP)

Replicación activa-pasiva yNoSQL

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.

Page 17: Entonamiento de aplicaciones Web (Enfasis en PHP)

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

Page 18: Entonamiento de aplicaciones Web (Enfasis en PHP)

Más ejemplos... ¿Con qué se come?

Page 19: Entonamiento de aplicaciones Web (Enfasis en PHP)

¡Muchas graciaspor su atención!

Rodolfo CamposJoincic, 26 de Mayo de 2012

@camposerPresentación disponible en 21 RedES