加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

在PHP中如何处理并发请求(使用线程,线程池或子进程)

发布时间:2020-05-25 09:39:23 所属栏目:PHP 来源:互联网
导读:我明白, PHP支持处理多个并发连接,并且根据服务器可以配置,如本 answer所述 服务器如何管理多个连接,它会为每个请求分配一个子进程,还是使用线程处理,还是使用线程池处理? linked answer表示一个进程是分叉的,然后作者在评论中表示线程或进程,这使得混淆,如

我明白,PHP支持处理多个并发连接,并且根据服务器可以配置,如本 answer所述

服务器如何管理多个连接,它会为每个请求分配一个子进程,还是使用线程处理,还是使用线程池处理?

linked answer表示一个进程是分叉的,然后作者在评论中表示线程或进程,这使得混淆,如果请求是使用子进程,线程或线程池服务的?

我知道,每个网络服务器都有自己的处理多点同步请求.
通常Apache2可以为每个新请求分叉子进程.但是您可以按照您所链接的StackOverflow答案中提到的方式配置此行为.

例如,Nginx在一个线程中获取每个请求(像Node.js一样处理新的连接异常)或有时使用缓存(如配置的; Nginx也可以用作负载平衡器或HTTP代理).这是为您的应用选择正确的网络服务器.

Apache2可能是一个非常好的网络服务器,但是当您想在生产中使用Apache时,您需要更多的负载平衡.但是,当具有多个短持续连接或甚至根本不改变的文档(或使用缓存)时,它也具有良好的功能.

如果您期望许多持久的连接以某种程度上长的处理时间,Nginx是非常好的.那么你不需要太多的负载平衡.

我希望,我能够帮助你解决这个问题)

资料来源:

https://httpd.apache.org/docs/2.4/mod/worker.html

https://anturis.com/blog/nginx-vs-apache/

我建议你也看看:What is thread safe or non thread safe in PHP

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读