关于php多进程优化

目前有一个需求,需要多进程执行。用pcntl_fork实现的。
现在已经需要fork 500多个子进程了,后续还会继续增加。
pcntl_fork子进程越多,对于子进程的回收管理出现问题的可能性会增加。
有什么其他的方法可以对这种情况做优化吗?
swoole用不了,项目框架比较老旧,且定义了go方法,和swoole的函数冲突,全局修改代价太大。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

我觉得按你的需求 swoole是比较合适的 线上单独在拉一个php版本出来就行了 而且你说的go函数也和swoole 不冲突 ,go只是一个语法糖而已,关闭php的短语就行

5个月前 评论
轻语过往 (楼主) 5个月前
讨论数量: 23

把这份业务拆出来用swoole或者是go之类的去处理不行吗? 即时交互可以走接口,异步交互可以走消息队列

5个月前 评论
轻语过往 (楼主) 5个月前
令龙小道 (作者) 5个月前
轻语过往 (楼主) 5个月前
令龙小道 (作者) 5个月前
轻语过往 (楼主) 5个月前

我觉得按你的需求 swoole是比较合适的 线上单独在拉一个php版本出来就行了 而且你说的go函数也和swoole 不冲突 ,go只是一个语法糖而已,关闭php的短语就行

5个月前 评论
轻语过往 (楼主) 5个月前

workerman, supervisor, 或者spatie/async啊

5个月前 评论
轻语过往 (楼主) 5个月前
JaguarJack

你这啥场景?fork 之后自动交给系统回收就行了。既然需要管理,master worker 模式,就用 workerman 就行了啊,他好像支持进程动态扩容的

5个月前 评论
轻语过往 (楼主) 5个月前
JaguarJack (作者) 5个月前
Jyunwaa

Swoole 用不了还有 Swow 🤣

所有 方法常量均置于 Swow 命名空间之下,不会污染原始环境(如果你的项目已经有 Swow 这个命名空间当我没说🤣)

5个月前 评论
轻语过往 (楼主) 5个月前
sanders

楼主讲一下具体需求和要部署的环境。啥配置的机器一下子要跑500个子进程?每个进程的负载大概能到多少?预计占多少内存?需不需要进程池?

5个月前 评论
轻语过往 (楼主) 5个月前
轻语过往 (楼主) 5个月前
ilvsx 5个月前

说说 对于子进程的回收管理出现问题的可能性会增加 目前遇到了什么问题?

5个月前 评论
轻语过往 (楼主) 5个月前
cclilshy (作者) 5个月前
轻语过往 (楼主) 5个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!