FPM主要是用来提高php脚本处理性能的性能和稳定性。
1、减少 PHP 进程的启动和停止时间。传统的 CGI 模式中,每个请求都雲要启动一个新的 PHP 进程来处理,这会导致大量的进程启”和停止操作,造成较大的性能开销。而 PHP-FPM 则会预先启动一定数量的 PHP 进程,并通过进程池的方式来复用这些进程,从而减少了进程的启动和停止时间。
2、实现进程池的动态扩展和缩减。PHP-FPM 可以根据实际请求量的变化动态地调整 PHP 进程池的大小,从而优化资源利用率。
3、支持更多的进程管理方式。PHP-FPM 提供了多种进程管理方式,如静态进程管理、动态进程管理和按需进程管理等,可以根据实际应用场景选择会适的方式。
PHP.FPM 的底层原理是通过 FastCGl协议来与 WebQ 服务器进行通信,将 PHP 进程作为 FastCGl进程启动,接受 Web 服务器的请求并返回响应。FastCG!协议是一种高性能的协议,通过在 Web 服务器和 PHP 进程之间建立长连接来减少连接建立和关闭的开销,从而提高了请求处理的效率。