Php 长轮询,由于使用会话,Apache在sleep()时卡住

Php 长轮询,由于使用会话,Apache在sleep()时卡住,php,jquery,mysql,long-polling,Php,Jquery,Mysql,Long Polling,更新:会话的使用是调用轮询页时的问题,因为它已经打开过一次 我正在我的web应用程序上进行长时间的轮询 现在我只是在做这样的事情:(最终的目标是做一个查询,然后睡觉,然后查询,然后睡觉,…) 在我的服务器端(只是为了测试它) 问题:当我尝试加载另一个页面时,总是需要10秒使用session\u write\u close()在休眠脚本中放弃会话。$\u会话数据仍可用于读取。通过Marc BApache有多少线程和进程?您很有可能正在使用Apache的所有资源,并且必须等到请求完成后才能提供新的资

更新:会话的使用是调用轮询页时的问题,因为它已经打开过一次

我正在我的web应用程序上进行长时间的轮询

现在我只是在做这样的事情:(最终的目标是做一个查询,然后睡觉,然后查询,然后睡觉,…)

在我的服务器端(只是为了测试它)


问题:当我尝试加载另一个页面时,总是需要10秒

使用session\u write\u close()在休眠脚本中放弃会话。$\u会话数据仍可用于读取。通过Marc B

Apache有多少线程和进程?您很有可能正在使用Apache的所有资源,并且必须等到请求完成后才能提供新的资源。是的
sleep()
将占用Apache worker。拒绝服务的好方法你自己就不存在了。。。另一种不用睡眠的方法,目标是时不时地查询数据库,检查是否有新的东西,但在我的查询之间,我应该给我们一些类似睡眠的东西,如果没有,服务器会。。。爆炸;)您正在使用会话吗?默认的基于文件的处理程序将在脚本使用会话文件时锁定该文件,从而防止任何使用请求的并行会话发生。@jeron:使用
session\u write\u close()
放弃休眠脚本中的会话。$\u会话数据仍可用于读取。
sleep(10);
echo 'ok';