Blog Reacción Estudio

¡Tu zona de aprendizaje!

Evitar la sobrecarga del servidor con PHP

Si nuestra página o aplicación web tiene mucho tráfico y consume muchos recursos del servidor, podemos evitar que el servidor se sobrecargue utilizando la función sys_getloadavg que está disponible a partir de la versión 5 de PHP.

Esta función devuelve tres valores en un array que representan la carga media del sistema (el número de procesos en la cola de ejecución del sistema) sobre los últimos 1, 5 y 15 minutos, respectivamente. Los valores van de 0 a 100, siendo 100 el límite del servidor.

En el siguiente código, cuando la carga del servidor sea del 80% mostraremos un mensaje de advertencia impidiendo el acceso al sitio web hasta que el servidor reduzca su carga:

<?php
$carga = sys_getloadavg();
if ($carga[0] > 80) {
    header('HTTP/1.1 503 Ocupado, pruebe más tarde');
    die('Servidor ocupado. Por favor, inténtelo de nuevo más tarde.');
}
?>

Por último, solo queda aclarar que esta función no está implementada en plataformas Windows.