【发布时间】:2012-04-05 20:24:17
【问题描述】:
更新:会话的使用是调用投票页面时的问题,因为它已经打开了一次。
我正在对我的网络应用进行长时间投票。
现在我只是在做类似的事情:(最终目标是先查询然后休眠,然后查询,然后休眠,...)
sleep(10);
echo 'ok';
在我的服务器端(只是为了测试它)
问题:当我尝试加载另一个页面时,它总是需要 10 秒。
【问题讨论】:
-
Apache 有多少线程和进程?您很有可能正在使用 Apache 的所有资源,并且它必须等到请求完成才能提供新的资源。
-
是的。
sleep()将捆绑 Apache 工作者。拒绝服务自己不存在的好方法。 -
啊,好吧...另一种不使用睡眠的方法,目标是不时查询数据库以检查是否有新内容,但在我的查询之间我应该我们一些东西就像睡眠一样,如果不是服务器会...爆炸;)
-
您在使用会话吗?默认的基于文件的处理程序将在脚本使用会话文件时锁定会话文件,从而阻止任何并行会话使用请求的发生。
-
@jeron:使用
session_write_close()在休眠脚本中放弃会话。 $_SESSION 数据仍可供读取。
标签: php jquery mysql long-polling