Morton 11 de septiembre de 2011 a las 10.02
   Imprimir artículo
elWebmaster.com

Caching: Cómo usarlo para evitar que sitios de terceros ralenticen tu sitio


javascriptwide2

La integraci√≥n con c√≥digo de terceros usando su API siempre implica ciertos riesgos.¬† Tu sitio, en √ļltima instancia, puede verse afectado por la invasi√≥n de c√≥digo ajeno. En este art√≠culo analizaremos c√≥mo utilizar el caching, pensado para reducir el impacto de estos servicios.

En la actualidad, el mejor acercamiento que se ha realizado a esta problemática es a través del caché. En lugar de mostrar un espacio vacío donde no puede encontrarse nuevos datos, el caché siempre contendrá algo de contenido.

Esto, sin embargo, no es conveniente para contenido din√°mico basado en las contribuciones de los visitantes, tales como formularios de b√ļsqueda, etc.

Mejorar la performance mediante integración en el back-end

La implementaci√≥n m√°s com√ļn es a trav√©s del back-end y la que mayor impacto tendr√° en tu sitio.

El caching puede ser fácilmente implementado cuando conectas el servicio web, por ejemplo, grabando toda la información a un archivo en un directorio caché de tu sitio. Usar este archivo en lugar de las llamadas a API para solicitudes futuras es bastante fácil y simple, y requiere el menor de los cambos al código. Necesitarás ajustar el periodo de tiempo de caching, dependiendo del servicio. Por ejemplo, Twitter es de actualizar más seguido que otros y requiere más regularidad que Flickr, que sólo se actualiza una vez por semana.

Twitter es un buen ejemplo de la ventaja del caching, debido a su límite de 2000 llamadas API por día. Si muestras un feed de Twitter sin caching, cada vez que un visitante o boy vea tu página, estaría generando una nueva llamada al API de Twitter, y tan sólo bastarían 200 visitantes mirando 10 página de tu sitio para cubrir tu límite diario. Si en cambio, cacheas la respuesta cada cinco minutos, sólo usaras 288 llamadas al día, sin importar cuántos visitantes hayas recibido.

C√≥mo crear tu cach√©: ¬ŅCron job o por demanda?

Aqu√≠ hay dos claras opciones:¬† correr un cron job (tarea programada) regular, o usar caching por demanda. Usando un cron job para correr un script cada determinada cantidad de tiempo durante todo el d√≠a, lograr√° que los visitantes no experimenten ning√ļn retraso en la carga.¬† La gran contra es que el cron job continuar√° corriendo todo el tiempo, incluso cuando no haya visitantes en tu sitio.

El caching por demanda puede ser usado cuando no puedes acceder a un cron job o  para no malgastar procesamiento. Cada vez que una página que contiene un caching es solicitada, tu código comprobará si existe una versión en caché y de ser así, le dará prioridad por sobre la versión dinámica.  Además, comprobará si el caché no se encuentra obsoleto, y en caso de que lo sea, lo reemplazará por un nuevo caché que construirá en el momento. La gran contra es que, si un visitante llega a tu sitio al mismo tiempo que el caché se encuentra en proceso de reconstrucción, experimentará una lenta carga de página.

Optimiza la carga del código front-end

El caching puede ayudar a la hora de usar JavaScript de terceros, im√°genes y otros contenidos. Usando las t√©nicas descriptas puedes copiar cualquier contenido de un sitio remoto dentro de un subdirectorio de tu sitio web, y luego enlazarlo directamente a la copia en cach√©, en lugar de enlazar al sitio de terceros. La t√©cnica de cron job es m√°s f√°cil de implementar que el m√©todo por demanda, que adem√°s requerir√° el parseo de JavaScript y otro contenido a trav√©s de un script de PHP para determinar valores como por ejemplo, la “edad” del cach√©.

Fuente original del artículo: Blue Line Media
Traducción realizada por
elWebmaster.com


Enviar a Del.icio.us Enviar a Meneame Enviar a Digg Enviar a Fresqui Enviar a Enchilame

Comentarios (2)

  1. NexDat dice:

    Un art√≠culo muy √ļtil, realmente se tiene que trabajar para tener una web de carga r√°pida pues es un factor crucial para el SEO y la UX.

  2. Gerard dice:

    ¬ŅSe puede encontrar alguna API de Twitter optimizada para WordPress? La que yo uso la implement√© en functions.php pero de vez en cuando y en seg√ļn que blog suele hacer lenta la carga de la p√°gina :s

Deja tu opinión

© 2007 - 2008 elWebmaster.com | Powered by Wordpress | Diseño CSS y XHTML válido. | Algunos íconos basados en FamFamFam Mini
Acceder