您的位置:首页 > 编程语言 > PHP开发

PHP服务器负载判断

2015-09-15 11:14 507 查看
<?php
header("content-type:text/html;charset=utf-8");

// echo PHP_OS;exit;
// echo get_server_load();
var_dump(sys_getloadavg());

/*
$load = sys_getloadavg();
if ($load[0] > 80) {
header('HTTP/1.1 503 Too busy, try again later');
die('Server too busy. Please try again later.');
}
*/

// 建议最大负载不要超过3*N核,例如有16核(含8核超线程)则 16*3=48
function get_server_load() {

if (stristr(PHP_OS, 'win')) {

$wmi = new COM("Winmgmts://");
$server = $wmi->execquery("SELECT LoadPercentage FROM Win32_Processor");

$cpu_num = 0;
$load_total = 0;

foreach($server as $cpu){
$cpu_num++;
$load_total += $cpu->loadpercentage;
}

$load = round($load_total/$cpu_num);

} else {

$sys_load = sys_getloadavg();
$load = $sys_load[0];

}

return (int) $load;

}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: