jQuery POST 多线程延迟

3
我正在使用PHP代码处理多线程的POST请求。
由于这些请求可能需要很长时间,因此我决定使用多个连接进行多线程的POST请求以加快处理速度。
目前,我编写了一个JavaScript调度程序,该程序执行POST请求(使用jQuery post命令)来请求request_helper.php,并监视当前是否有最多4个挂起的请求。理论上,我可以4倍地获取数据。
我开始尝试处理request_helper.php内容:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'on');
sleep(20);
exit (0);
?>

同时运行4个POST请求。20秒后,我收到了4个POST响应。太棒了!

但是,如果我添加start_session() - 这是我用于检查用户是否有权限的:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 'on');
// always load or start session
session_start();
sleep(20);
exit (0);
?>

第一次请求的响应时间为20秒,但第二次请求需要40秒,第三次请求只需要3秒 - 看起来session_start只能处理一个请求。我实际上失去了多线程。

为什么会出现这种情况,如何更好地处理?

1个回答

1
您可以这样使用会话,但在发送下一个请求之前,您需要解锁会话。 session_write_close(); 应该可以做到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接