Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Определяем загруженность сервера из PHP
Есть скрипт, который запускается по крону и что-то там делает, например, рассылка уведомлений или чистка и упаковка базы банных. Это "что-то" несрочное и, когда у сервера высокая загрузка, то стоит эту работу отложить до лучших времен. Соответственно нужно получить в PHP загруженность сервера.
Пример определения загрузки сервера на PHP:
08:01:52 up 248 days, 1:05, 0 users, load average: 1.69, 1.83, 1.72Низкая нагрузка сервера!
$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>';
//дальше делаем то,что хотелсь бы
При этом можно ориентироваться по первому значению, но, если сервер склонен к быстрым пиковым нагрузкам, то, вероятно, лучше использовать более долгосрочное второе значение.
.
Прокомментировать/Отблагодарить