外链论坛

 找回密码
 立即注册
搜索
查看: 13|回复: 2

服务器程序源代码分析之二:php-fpm

[复制链接]

3083

主题

3万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098788
发表于 2024-10-4 14:27:52 | 显示全部楼层 |阅读模式

php做为排名top2 互联网研发工具,非常流行,能够参考:中国最大的25个网站采用技术选型方法

php这个名叫作实质上有两层含义

广义的php 指的是用后缀名为.php的脚本,便是程序员编写的php代码:狭义的php 指的是php安排程序,例如lnmp,这个php 便是 php-fpm

php-fpm是什么

直接定义:

php-fpm是一个内置php解析器,采用prefork+异步IO 模型的高性能服务器程序

php-fpm从php5.3.3起始已然进入到php源代码包,之前是做为patch存在的

很少人会去读php本身源代码,我6年前处理php内存泄密问题的时候做了些科研,近期再查看了一番,发掘php的研发特别有诚意,这是一款非常出色的服务器软件,支持如下

php-fpm 采用 prefork的方式 (listen同一个位置而后fork出若干子进程)在子进程里面,采用异步IO处理客户端请求event模型能够在php-fpm.conf中配置; Specify the event mechanism FPM will use. The following is available: ; - select (any POSIX os) ; - poll (any POSIX os) ; - epoll (linux >= 2.5.44) ; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0) ; - /dev/poll (Solaris >= 7) ; - port (Solaris >= 10) ; Default Value: not set (auto detection) ;events.mechanism = epoll

在linux服务器上,倘若不设置events.mechanism,那样默认便是采用epoll,因此

php-fpm的IO模型&并发处理能力和nginx是完全一致

nginx以性能卓越闻名,大部分程序员都认为php效率低下,看了源代码,才晓得这是传奇啊

在高性能安排的时候,大众常常会针对性的优化nginx 。我自己之前安排php程序犯了错误,8G内存的server,php-fpm的max children都会设置128+,此刻看来太多了,参考nginx的安排:

nginx的worker_process通常设置为 2 * cpu-core

php-fpm配置为 3倍 cpu core number就能够

php-fpm稳定性比nginx稍差这是由于php-fpm内置了一个php解析器,php-fpm进程就和php程序绑缚了,倘若php脚本写得欠好,有死循环阻塞在某个远端资源上,会拖累加载它的php-fpm进程

而nginx和后端应用服务器之间经过网络连接,能够设置timeout,不易堵死的

php-fpm的fastcgi是短连接 我原以为是长连接的,看了代码才晓得是短连接,处理一个request就关闭掉

php-fpm接口采用fastcgi 非常遗憾,php-fpm和fastcgi完全绑定了,没法独立运用 。只能安排在支持http-fcgi协议转换程序背面(nginx)。其实能够思虑在php-fpm代码包里面引入http协议支持,这般php-fpm能够独立运行,让nodejs无话可说

php-fpm等同于OpenResty OpenResty是一个国人研发的nginx模块,便是在nginx引入lua解释器. 实质上,它和php-fpm的独一差别便是一个采用php语法,一个用lua,因此OpenResty要做为nginx加强运用能够,要选取做为一个重点编程工具,任何必要

从架构上来讲,php-fpm已然做到最好,超过大都数 python安排工具,我再不黑它了





上一篇:【囧游村游戏脚本是免费的吗】
下一篇:web研发之-php语法介绍
回复

使用道具 举报

2979

主题

3万

回帖

9956万

积分

论坛元老

Rank: 8Rank: 8

积分
99569190
发表于 2024-10-4 17:55:43 | 显示全部楼层
论坛是一个舞台,让我们在这里尽情的释放自己。
回复

使用道具 举报

3037

主题

3万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109078
发表于 2024-11-3 12:07:09 | 显示全部楼层
外贸论坛是我们的,责任是我们的,荣誉是我们的,成就是我们的,辉煌是我们的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-18 06:47 , Processed in 0.148647 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.