PHP页面显示是否异步

时间:2018-01-31 09:38:15

标签: php asynchronous

我正在尝试创建一个项目,我向另一台服务器发出API请求,并使用我获得的数据写下HTML接口。例如,如果单个请求需要2秒才能完成,并且如果有5个人请求同一页面,那么最后一个人会等待2秒钟完成或等待其他人完成10秒钟吗?我找不到任何关于此的信息,也不确定Node是否是此项目的更好选择。

1 个答案:

答案 0 :(得分:0)

任何普通的Web服务器+ PHP设置都会并行处理多个请求。每个传入的请求都会生成一个带有独立PHP实例的新Web服务器线程。 Web服务器(工作者,线程,事件等)如何处理这些有几种不同的模型,但总的来说它是如何工作的。可以并行处理多少请求有一些限制,但一般来说它明显不止一个。

因此,模拟并行运行多个PHP线程的一些开销,每个请求将在2秒内处理。

这里的一个典型缺陷是会话处理:如果每个PHP实例试图获取相同会话数据的句柄,它们将阻止,因为一次只有一个实例可以使用普通的基于文件的会话存储,以及后续请求将不得不等待。要明确:如果同一个用户尝试多个并行请求,那就是;它不会影响具有不同会话的不同用户。这适用于您可能尝试访问的任何共享资源。