swoole和fpm差距
发布网友
发布时间:2022-11-18 15:23
我来回答
共1个回答
热心网友
时间:2024-08-26 04:42
fpm和swoole都是用于server提升php解析性能的方案,两者本质都是使用多进程进程管理的方案来解决php作为动态语言运行性能方面的劣势问题。
他们都是采用一个manager主进程负责接受处理响应,主进程负责管理接受请求数据,转发数据,还有子进程的管理工作(拉起和关闭),子进程负责处理请求数据.
首先应该明白在web流程中,最早是使用cgi协议来用于server的通讯的,这种方法会导致高并发情况下频繁创建销毁进程影响性能,之后就出现fast-cgi,采用多进程管理(进程池),避免进程频繁销毁创建,但是进一步的在后面各种复杂框架的出现,使得php在初始化过程中会频繁创建销毁大对象,这样又在一定程度上会影响性能,所以出现了swoole这种基于PHP的http-server,可以将将PHP对象的生命周期变成常住内存,避免了重复创建销毁大的PHP对象的问题(个人觉得非必要没必要使用这个,有些过度设计的嫌疑,还有就是这样做有可能会导致一些内存泄漏)