首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php脚本一次只能服务于两个客户端

php脚本一次只能服务于两个客户端
EN

Stack Overflow用户
提问于 2012-04-29 03:52:27
回答 1查看 74关注 0票数 0

我编写了以下脚本作为测试,它似乎一次只能服务于两个客户端:

代码语言:javascript
复制
<?php
$time = time();
$timediff = 0;

do
{
    $timediff = time() - $time;
    usleep(1);
}while($timediff <= 1);

echo date('G:i:s', $time)." - ".date('G:i:s', time()); 
?>

LAMP服务器的结果:

每个线程似乎在同一时间是正确的started,由result ( php回显的东西)确认,并且每2个新线程确实需要额外的2秒(time)才能完成。

每个脚本似乎需要2秒钟才能完成,在此之后将提供以下2个脚本。这太愚蠢了,因为现在我有一个有12 no内存的四核3.2 GHz服务器,无缘无故地让人排队。值得一提的是,根据htop (系统监视器)的说法,apache2只使用了两个CPU核心。

我在运行lighttpd和php5-fpm的debian-squeeze服务器上再次尝试了该脚本,这是一个完全不同的设置,但它给出了相同的结果。我不确定是不是编码不好还是别的什么..

我已经尝试注释掉CPU,但结果完全相同,除了htop显示所有(两个)内核的CPU使用率都是100%。在1上运行usleep时,每个内核上的使用率为15%,而在500上运行时,每个内核上的使用率仅为6%,这证实了服务器应该能够同时处理超过2个页面。

有人能告诉我为什么会这样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-29 04:00:37

您究竟是如何运行这些测试的?如果您的基准测试软件只同时执行2个请求,那么一次只有2个请求是有意义的。

您可以尝试ab,也称为apache benchmark。您可以通过参数设置并发请求的大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10367015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档