AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Определяем загруженность сервера из PHP

Есть скрипт, который запускается по крону и что-то там делает, например расылка уведомлений или чистка и упаковка базы банных. Это "что-то" не срочное и, когда у сервера высокая загрузка, то лучше эту работу отложить до лучших времен. Соответственно нужно получить в PHP загруженность сервера.

Пример определения загрузки сервера на PHP:

21:02:09 up 42 days, 17:43, 0 users, load average: 0.99, 1.36, 1.46

Низкая нагрузка сервера!

$loadLimit = 5; // Значение load average, больше которого выполняться не нужно
$uptime = exec('uptime');
echo $uptime;
if(preg_match('!load average: ([\d\.]+), [\d\.]+, [\d\.]+!si', $uptime, $cpu)) {
    if((float)str_replace(',', '.', $cpu[1]) > $loadLimit) {
        echo '<h4>Высокая нагрузка сервера!</h4>';
        die('Высокая нагрузка сервера');
    }else
        echo '<h4>Низкая нагрузка сервера!</h4>';
}else echo '<h4>Не определил нагрузку сервера!</h4>';
//дальше делаем то,что хотелсь бы

При этом можно ориентироваться по первому значению, но, если сервер склонен к быстрым пиковым нагрузкам, то, вероятно, лучше использовать более долгосрочное второе значение.


.

© Copyright 2008-2016 by KDG