El título parece venta por TV. pero es cierto se puede acelerar y mucho la carga de páginas atacando 3 problemas fundamentales:

  1. La compresión de las páginas /css / js usando gzip.
  2. Reducir la cantidad de peticiones http realizadas al server.
  3. Colocando cabeceras de expiración en forma correcta.

Leon Chevalier de http://aciddrop.com se tomó el gran trabajo de realizar una clase de php que una vez instalada en sólo 3 líneas de texto nos permite atacar los 3 problemas a la vez.

Cómo lo hace? Usando las funciones de búferes de salida ob_* de php de esta manera abre un buffer con ob_Start() recupera todo la pagina html que estamos componiendo con el script, luego la procesa en busca de cadenas del tipo “script”, “link” y otras para obtener todas las llamadas a los js y los css. Una vez obtenida la lista de .js y .css junta todos archivos generando un archivo con nombre aleatorio (basado en md5() y unas cadenas extras.) . A la vez reemplaza en el código html las llamadas originales por las nuevas a los archivos “rejuntados”. De esta manera solo queda el archivo html, un archivo css y un archivo js.

En mi caso que uso prototypejs y scriptacoulus se nota mucho el cambio en la velocidad de carga. De 22 objetos cargados se pasa a 7, generando menos conexiones al server.
De todas manera el código está medio verde todavía ya que no funciona con error_reporting en E_ALL y tiene algunos bugs de variables no definidas o cambiadas de tipo.
De todas maneras vale la pena ver este trabajo:

http://aciddrop.com/2008/01/23/site-speed-boost-script-updated/ 


3 comentarios a “Acelerando por 5 la carga de páginas realizadas con PHP”  

  1. 1 Ezequiel

    Muy interesante el dato, lo estuve probando con mi blog personal, como tambien con http://www.esequeviene.com y unos sitios comerciales de algunos clientes, y me funcionó pero no del todo, voy a investigar un poco mas porque los comentarios son muy buenos.

  2. 2 horaciod

    varias cosas no funcionan, tiene unos bucles muy raros al momemto de cambiar las llamadas “scripts” por el correspondiente archivo comprimido.
    Lo estoy reescribiendo entero, si lo dejo presentable lo publico por acá.

  3. 3 Ezequiel

    Seria muy bueno. Empece a hacerle cambios, pero no me da el tiempo para todo lo que debo hacer (n).
    Saludos.

Deja una respuesta



Comparte este artículo