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; }
相关文章推荐
- Yii权限管理工具Srbac使用小结
- Yii中配置Srbac模块
- PHP变量内存分配
- thinkphp3.2 CronRunBehavior使用
- PHP---ajax传递POST值(包含html标记)到提交页面数据丢失或乱码
- 怎样把php数组转换成字符串,php implode()
- php设计模式之迭代器模式
- PHP如何识别系统语言或浏览器语言
- FTP 协议(指令集)
- yii执行流程.
- php读写json文件
- 我的PHP编程生涯一
- PHP实现短信验证码
- PHP于Post和Get得到的数据写入到文件中
- u-boot2010.06的移植(6)——支持yaffs下载
- 教你识别简单的免查杀PHP后门
- 整理php防注入和XSS攻击通用过滤
- PHP概率计算函数汇总
- [转] PHP在不同页面之间传值的三种常见方式
- php框架开发(好用的php原生模板引擎)1