我需要比较每台运行Web服务器的3台不同计算机的性能.我的想法是,在每个服务器上处理相同的
PHP脚本,能够服务最大的没有.在给定负载限制下的客户端将是最强大的客户端.
为了实现这一点,我有一个PHP脚本,基本上做了一些繁重的数学计算.我维护客户端数量为静态值.脚本将无限运行,直到说cpu负载为95%.当负载达到95%时,脚本应该停止所有客户端.
在此限制下,拥有最大客户数的一个系统将是表现最佳的系统.
这个php脚本的一般结构如下:
static $clients_count=0;
static $sys_load=0;
//increment clients_count
$clients_count++;
while(sys_load<=95)
{
do_heavy_maths();
//calculate current cpu load
sys_load=get_cpu_load();
}
echo "No. of max. clients this server handled: $clients_count";
所以现在我有几个问题:
>我的方法是比较CPU性能是否正确. (PS我必须使用基于网络
仅基准测试)?
>如何确定没有.连接到我的服务器的客户?
>请提供更好的方法来查找CPU负载. (使用load_averages很难绘制最大cpu限制
可以通过从/ proc / loadavg读取来获得.
感谢名单..
最佳答案 尝试从内部执行此操作不如运行外部基准测试工具准确.
请记住,php核心有几个触发器可以避免CPU消耗或限制它.
使用操作码缓存,这可以更快地运行,其他几个方面.
检查一些工具:http://www.opensourcetesting.org/performance.php
我坚信PHP不适合用原始内存/ cpu访问语言写一个更接近内存和CPU管理的C语言.