客户端发出 2 个并发请求。(1 需要 60 秒 - 长轮询)和另一个不是长轮询 - 应该立即返回。当我不进行长时间轮询时,它确实会立即返回。但是,一旦我开始对另一个线程进行长轮询,另一个线程就需要永远执行。
Firebug 显示请求正在等待 10-50 秒。在服务器上,我分析了从 php 脚本开始到返回客户端的所有请求,它显示每个请求只用了 300 毫秒或更短的时间。
这个问题大约在我开始进行长轮询(与其他 XHR 请求)的同时开始。我对这两个请求都使用了 jquery。
服务器显示它的负载非常轻。CPU 和内存少于 2%。8 个进程用完了 15 个进程。(它似乎与那个数字 8 相差不大,即使我运行了更多的 ajax 请求)。我猜每个进程可以同时运行多个 ajax 线程。
我确保在所有进程执行完毕后立即退出。如果 prstat -J 下仍有 7 个未使用的进程,我看不到进程池是如何用完的。此外,问题有时会间歇性地发生。Firefox 应该能够处理 2 个并发 ajax 请求。我不明白问题是什么。