Optimizacion Web - Programador PHP

3
Mecanismos de optimización de peticiones en zenphp O como hacer webs que carguen más rápidamente Lo que contiene éste documento son algunas de las técnicas que usa el framework de aplicaciones zenphp. Algunas de ellas aún están en fase beta blog.zenphp.es 08/02/2008 ::zenphp:: Optimización Serie de tutoriales sencillos:II

description

Gracias a http://programadorphp.org/¿Cómo funciona la optimización en el framework zenphp?¿Cómo podemos optimizar nuestra web?Herramientas, utilidades,consejos, complementos del navegador,etc.

Transcript of Optimizacion Web - Programador PHP

Page 1: Optimizacion Web - Programador PHP

Mecanismos de optimización de peticiones en zenphp O como hacer webs que carguen más rápidamente Lo que contiene éste documento son algunas de las técnicas que usa el framework de aplicaciones zenphp. Algunas de ellas aún están en fase beta blog.zenphp.es 08/02/2008

::zenphp:: Optimización

Serie de tutoriales sencillos:II

Page 2: Optimizacion Web - Programador PHP

Optimizando una web

Para optimizar y conservar el contenido de una

página web existen varias técnicas:

1. Comprimir/compactar el HTML generado

2. Comprimir/compactar javascript

3. Comprimir/compactar CSS

4. Usar rutas cortas para las imágenes y ficheros

5. Colocar CSS al principio del documento

6. Colocar el JavaScript al final del documento

7. Minimizar la resolución de DNS

8. Evitar redireccionar las páginas

Etc.

Seguir leyendo en el apartado de Soluciones a

nivel de código

¿Qué más debería saber?

Zenphp no hace Milagros, es decir, si un servidor

ha de procesar muchas peticiones es lógico que el

tiempo de compactar todos los ficheros de cada

aplicación para cada cliente sea muy alto ya que

compactar HTML necesita usar muchas

ejecuciones de expresiones regulares y filtros, cada

fichero javascript a comprimir es otra petición a

Apache,al módulo PHP que ejecuta el script que

hace posible la compresión, esto es posible que no

salga rentable a fin de cuentas ya que ESTAMOS

SOBRECARGANDO el servidor, por lo tanto, se

trata de encontrar el equilibrio ,hacer nuestras

pruebas con alta y baja carga para establecer el

umbral donde comprimir unas partes, usar la

caché en otras, compactar HTML en ciertas

peticiones,etc.

Componentes para Firefox que nos

ayudan a mantener eficiente el grado de

una página web son:

Firebug e YSlow!

Webs de ayuda

http://www.getfirebug.com

/

http://developer.yahoo.com

/yslow/

http://granadaphp.agenciaq

4.com/

Soluciones a nivel de código(algunas de ellas automáticas en zenphp):

Programas de ayuda

Uso de cabeceras de expiración

Cabeceras de peticiones

comprimidas con gzip (si el

servidor lo soportara) y Etags

Uso de un búfer PHP optimizado

Compresión de ficheros con Gzip

Compactación de HTML

Compactación JavaScript (con

PHP)

Compactación CSS

Minimización de JavaScript: todo

en un paquete comprimido

Evitar la duplicación de scripts

Page 3: Optimizacion Web - Programador PHP

Más ideas sobre optimización

Si tienes más ideas o piensas que se ha

dejado algo sin poner por aquí, no hay

problema!, pásate por el foro:

[enlace al foro]

Personalizando los optimizadores

de eficiencia

Por supuesto puedes insertar tus propios

mecanismos para mejorar la experiencia de la carga

de un sitio web, es más, es altamente recomendable

que empieces por usar tu propia red de contenidos :

http://developer.yahoo.com/performance/rules.htm

l#cdn

Evitando redirecciones

Que no se os olvide poner en las rutas la barra al

final, ya que al redirigir la página web a un

www.loquesea.es/directorio se crea otra redirección

del servidor a la misma URL pero con la barra / al

final...y ésto es altamente ineficiente

Eliminando espacios de HTML,CSS,etc

En zenphp es posible utilizar compactadores que

utilizan expresiones regulares y eliminan espaciados

innecesarios, esto es muy aconsejable cuando el

fichero original tiene muchos espacios en blanco

pero no es tan bueno cuando se repite mucho ya

que se sobrecarga al servidor de operaciones de

recorte que no son realmente necesarias si hemos

diseñado bien el HTML,CSS,etc.

Sugerencias adicionales: caché

Hasta una aplicación AJAX puede usar caché.

Personalizando el AJAX de zenphp

Puedes insertar tus propios scripts AJAX pero

asegúrate de que estás usando las recomendaciones

aquí ofrecidas para que tu aplicación sea más

eficiente.El que una aplicación utilice la tecnología

AJAX (en zenphp no es un hack XD ) no quiere decir

que no utilicemos las herramientas disponibles para

comprimir y cachear el contenido...

Depurando

Con estos componentes de firefox podemos ver

el estado final del trabajo

Gráfico de eficiencia:

Componentes que bajan la eficiencia de una página

web por grado de mayor culpabilidad a menor

CSS

JS

CDN

Cabeceras

Gzip

Organización