我在VMWare中的Linux上运行Apache。

我正在请求的一个PHP页面执行sleep() ,我发现如果我尝试在第一页是sleep()'ing尝试请求第二页,则第二页挂起,等待sleep()从第一页完成。

有没有人见过这种行为?

我知道PHP不是多线程的 ,但这似乎是对CPU的严重错误处理。

编辑 :我应该提到CPU使用率没有高峰。 CPU“hogging”的意思是,当页面处于sleep()时,没有其他PHP页面能够使用CPU。

===============>>#1 票数:11

可能是被调用的页面打开一个会话然后不提交它,在这种情况下,请参阅此答案以获得解决方案。

===============>>#2 票数:4

这可能意味着你的Apache只使用了1个子进程。

因此:

1子进程正在处理一个请求(在这种情况下是睡眠,但它可能正在做实际工作,Apache无法区分),所以当一个新请求到来时,它必须等到第一个进程完成。

解决方案是增加允许Apache生成的子进程数(如果你正在使用prefork MPM,则为MaxClients指令),只需从PHP脚本中删除sleep()即可。

如果不知道你的脚本中发生了什么,很难说,但你可以摆脱睡眠()。

===============>>#3 票数:1

您是否真的看到CPU达到100%或者只是没有提供其他页面? 你跑了多少个apache-instances? 当你在线程中运行sleep()时,它们都停止了吗?

PHP的sleep()函数基本上在空闲循环中运行n秒。 它不释放任何内存,但不应显着增加CPU负载。

  ask by Steve M translate from so

未解决问题?本站智能推荐:

2回复

睡眠睡眠功能延迟?

假设一个网站的流量很高,我想使用php sleep(4)函数来避免泛洪。 是个好主意还是我应该使用其他延迟方式? sleep()使连接保持打开状态,这可能是个问题吗? 我做: Stuff.php做点什么然后睡觉(4); 因此,用户在黑屏的情况下等待4秒钟,然后返回索引。 谢
1回复

意外的time.sleep()行为

最近,当创建一个循环且最后等待很短时,当快速连续使用时,我遇到了time.sleep()的意外行为。 我使用这段代码进一步研究了我的问题 此函数通常返回大约0.0013的值,这比仅调用time.sleep()精确度低很多倍,通过查看waits列表进一步检查此问题后,我发现time.
2回复

有效的睡眠方式?

我正在开发一个简单的C ++应用程序来做一些网络。 我需要它通过Internet将UDP数据包发送到另一个应用程序,但为了防止任何拥塞,我需要以特定的速度调整发送速率。 因此,我需要我的程序在两个连续的数据包之间休眠。 usleep()函数看起来是一个不错的选择,但是对于合理快速的连接,我
6回复

Linux中的睡眠命令用法

作为我的学术项目的一部分,我必须执行一个C程序。 我想获取程序的执行时间。 为此,我必须将Linux中的所有其他进程休眠几秒钟。 有什么方法可以做到吗? (我曾尝试在Linux中使用time命令,但不能正常工作:当我执行同一程序时,它显示了不同的执行时间。因此,我通过查看开始时间
2回复

Python time.sleep vs忙等待准确性

我正在使用python标准库中的time.sleep函数,发现它不适合亚毫秒延迟。 从测试中我发现实际等待1到1毫秒等待1.1-1.2毫秒。 实现忙碌等待使准确度达到1%以内。 我用了: 并且可以在降低1%准确度之前下降到0.0001秒。 我的主要问题是: 为什么睡
2回复

为什么Sleep()会使后续代码减速40ms?

我最初在coderanch.com上询问过这个问题,所以如果你试图在那里帮助我,谢谢,并且不觉得有必要重复这些努力。 但是,coderanch.com主要是一个Java社区,这看起来(经过一些研究后)确实是一个Windows问题,所以我和那里的同事认为这可能是寻找帮助的更合适的地方。 我
3回复

等待文件的脚本在while循环中使用100%CPU

我有一个脚本,它在等待循环中使用100%的单个内核。 该脚本应处理出现在预设目录中的文件。 因此,它等待直到文件显示出来,然后对其进行处理。 大致如下所示: 在这种情况下,是否经常使用len(glob.glob(src_diretory+suffix))导致如此高的CPU使用率?
3回复

什么是最有效的Python睡眠方式?

什么会更好? time.sleep(delayTime) 要么 select.select([],[],[],delayTime) 它们是等价的吗? 选择更有效率?
1回复

cronjobs是否比睡眠功能有更好的表现?

我在Raspberry Pi上运行的矿机的CPU性能为100%。 我希望Raspberry Pi通过Twitter发送有关其温度和哈希率的一些推文。 到目前为止,我已经编写了一个脚本,可以很好地完成工作...为了保持矿工的性能,对我来说重要的是哪种方法消耗的功率/性能会更低。 你会用什
5回复

减慢线程的最佳方法? 使用睡眠()好吗?

我编写了一个C ++库来完成一些非常繁重的CPU工作(所有这些都是数学和计算),如果留给它自己的设备,将很容易消耗所有可用CPU资源的100%(它也是多线程到可用逻辑的数量)机器上的核心)。 因此,我在主计算循环中有一个回调,使用该库的软件应该调用: 在回调中,客户端调用Sleep