Archivo por meses: diciembre 2013

Preparándose para el invierno más frío

Dice la prensa que este será el invierno más frío de los últimos 100 años, o de los últimos 60 años dependiendo de la fuente. En cualquier caso, parece que este será un invierno complicado.

Este fin de semana hemos sufrido una caída del servicio por culpa del frío –la primera de este año. Concretamente, -1,5ºC de frío según el histórico de Meteogalicia.

Mientras esperamos que se arreglen ciertos problemas burocráticos para la instalación de una solución definitiva, hacemos lo que podemos. El año pasado comenzamos tapando la ventilación manualmente en las zonas más afectadas como primera medida, y más tarde acordamos con los servicios de la universidad un apagado automático de la ventilación por la noche.

Este año todavía no nos hemos atrevido a solicitar ese apagado automático, porque si bien a los servidores no les hace ningún bien escupirles aire a -1,5ºC, dejarlos sin ningún tipo de ventilación puede ser también peligroso, por lo que tenemos que asegurarnos que el invierno ha llegado de verdad.

Vale, y a estas alturas creo que todos estamos de acuerdo en que ha llegado.

Por supuesto, sabiendo que este problema existía, este año nos hemos preparado replicando los servicios más esenciales en servidores que están situados más lejos de la ventilación.

Como curiosidad, esta es una lectura de la temperatura del aire de una sonda situada en la entrada de aire de uno de los servidores afectados, durante los dos últimos meses.

Lectura de temperaturas de los 2 últimos meses

Menudo mes de noviembre. En la lectura de la última semana puede verse mucho mejor el problema de este fin de semana. Al bajar de 4º, el servidor en cuestión se apaga (y como ese, muchos otros).

Lectura de temperaturas de última semana

Alternative PHP Cache

Alternative PHP Code es un módulo de PHP que almacena la salida del compilador de bytecode de PHP en memoria compartida, de forma que reduce el tiempo de análisis y acceso a disco de cargas posteriores.

Este módulo convierte a PHP en algo similar a lo que hacen los intérpretes de otros lenguajes como Python por ejemplo. Python guarda este bytecode en archivos con la extensión pyc para luego reutilizarlo, en lugar de analizar y compilar cada archivo de código fuente cada vez.

Los tiempos de carga de aplicaciones como Drupal se mejoran considerablemente, algo que ya se puede notar ahora mismo en la página web del centro.

Para probarlo, hemos utilizado ab, una herramienta de benchmarking incluída con el paquete apache2-utils.

grafica_php-apc_1

Esta prueba muestra el tiempo medio de la petición del documento principal de tres páginas interiores diferentes del CiTIUS desde la red interna del centro. Se han hecho un total de 100 peticiones por prueba.

El tiempo de carga incluye todo el intervalo de tiempo desde que se solicita el documento hasta que se recibe completo. En los tres casos se aprecia una mejora notable usando PHP con el módulo de APC, con tiempos que en ningún caso alcanzan los 60ms, comparado con PHP sin el módulo, con tiempos que no bajan nunca de los 120ms.

grafica_php-apc_2

Haciendo la misma prueba desde un servidor localizado en otro país, estas diferencias no son tan notables porque APC solo influye en el tiempo en que PHP tarda en compilar el documento, y en este caso aparecen otros tiempos más constantes entre ambas pruebas, causados por la conexión en si. Con todo ello, se aprecian claramente las mejoras de velocidad, que rondan el 30%.