Archivo de la categoría: tecnología

Mejorar el tiempo de carga de la web descargando con CRON archivos externos

En ocasiones, una web meteorológica puede enriquecerse con archivos externos que contengan predicciones, mapas de radar o imágenes de satélite.

Lo más habitual es enlazar esas imágenes mediante la URLs de los archivos en el servidor web externo en el que están disponibles. Sin embargo, en el caso de que el servidor externo no tenga un tiempo de respuesta suficientemente rápido, o esté caído en ocasiones, puede ralentizar significativamente el tiempo de carga de nuestra web.

En estos días en los que estoy montando la web meteovillaverdepontones.es, he encontrado una forma de mejorar el tiempo de carga de la web. Consiste en planificar un tarea mediante CRON, en la que se descarguen los archivos de las URLs externas, ubicándolos en nuestros directorios públicos locales y renombrándolos para que sean incluidos en nuestras páginas web mediante URLs locales.

Las tareas de CRON consisten en uno o varios comandos a ejecutar. En caso de que nuestra tarea tenga más de un comando, estos se deben separar mediante ; o bien estar incluidos en un script. La configuración de tareas en CRON puede realizarse directamente a nivel de sistema operativo, o mediante utilidades que suelen facilitar los  hostings para programar tareas a través del comando CRON (por ejemplo, Cron Jobs/Trabajos de Cron en Cpanel).

Para que sea más sencillo, lo explicaré a través de un ejemplo:

  • cd /home/usuario/public_html/meteodata; lo primero es seleccionar el directorio dentro de nuestro public_html en el que ubicaremos el archivo descargado.
  • wget -q -T 60 http://dirección-url-externa/nombre-archivo-externo.ext; a continuación se descarga el archivo de la dirección URL externa. En este caso la opción -q hace que se realice de manera silenciosa (el comando no genera ningún output) y que en caso de que en 60 segundos no se obtenga el archivo, se genere un timeout que aborte la descarga.
  • mv -f nombre-archivo-externo.ext nombre-archivo-local.ext; finalmente cambiamos de nombre el archivo externo por el nombre local que enlazaremos desde nuestra propia web. En este caso, lo que hacemos es forzar la sobreescritura en caso de que el archivo local ya exista.

Os dejo los enlaces a los manuales de los comandos utilizados. Con ellos de pueden tratar casos menos simples y adaptar a las necesidades de cada sitio web:

Una cuestión importante para no sobrecargar de forma innecesaria nuestro hosting ni los sitios web externos, es conocer cada cuánto tiempo y a qué horas se generan los archivos externos, y hacer una planificación coherente de la ejecución de los comandos o scripts mediante CRON con la periodicidad adecuada. Por ejemplo, una imagen con la previsión generada mediante un modelo cada 12 horas no debe tratarse igual que una pastilla que contenga los datos de una estación meteorológica que cambien cada 15 o 30 minutos.

Web y Blog en marcha

Tras un par de noches durmiendo algo menos de lo debido, he conseguido por fin poner un poco en orden el sitio web meteovillaverdepontones.es.

Está basado en WordPress, gracias al truco de mover, desde el directorio donde está instalado el blog, tres ficheros que han quedado ubicados en el directorio raíz, y que además han sido modificados. Además de eso, dar contenido a las páginas, hacer una de ellas estática, crear una nueva para el blog, y un largo etcétera. Mucha lectura en internet, y con la suerte de haber encontrado un puñado de plugins de entre los miles que hay, que han venido ciertamente bien.

Hasta que he dado con la tecla, han caído unas cuantas copias de seguridad y sucesivas restauraciones de las configuraciones y demás archivos, suerte que IslaServer, el hosting que he contratatado, lo hace muy sencillo, y permite aplicar aquello del ensayo-error, sin grandes complicaciones.

El blog también está activo, aunque reconozco que no será fácil tener tiempo para tenerlo actualizado. Supongo que la mayoría de los posts serán desde el móvil y, de vez en cuando, me sentaré a reflexionar y soltaros algún ladrillo algo más profundo :-).

Creo que el conjunto es un buen punto de partida, muy sencillo, pero con la ventaja de tener una web fácilmente mantenible y en la que se podrá añadir el contenido de las páginas a través de WordPress.

El enlace de los datos actuales de la estación meteorológica de momento apunta a un link externo. Si llegáis a tiempo de ver cuál es, os podréis dar cuenta de uno de los motivos del cambio. El 1 de mayo cierta operadora de telecomunicaciones finaliza el servicio de páginas personales. Que conste que quizá me haya anticipado en exceso, pero está siendo una buena experiencia. Lo siento por los cientos de miles de usuarios domésticos, pymes y autónomos que sufrirán el cambio, y muchos pequeños negocios, también.

Otro día os contaré que con poco coste, cualquier usuario doméstico y poco avanzado, puede conseguir cierta independencia eligiendo el hosting que mejor se adapte, además de un dominio. Cosas que hasta hace poco, no había tenido el placer de experimentar…