mod_fcgid + PHP + apache 锁定

2024-04-27

我正在运行一个相当典型的 LAMP 堆栈,其中 PHP 通过 mod_fcgid 运行。考虑到服务器收到的流量,我认为服务器处于“高负载”状态。

存在一个间歇性问题,当访问依赖 PHP 的站点时,Apache 报告所有连接都处于“正在发送内容”状态(监视器上的“W”)。

没有 PHP 错误可言,就好像 PHP 在这些“锁定”期间实际上没有被调用。但是,在 apache 站点日志中我看到以下内容:

(103)Software caused connection abort: mod_fcgid: ap_pass_brigade failed in handle_request function
[warn] mod_fcgid: can't apply process slot for /var/www/cgi-bin/php.fcgi

在此期间,我仍然可以访问不依赖于 PHP 的站点,例如 apache 状态和纯 HTML 虚拟主机(不包含 PHP 处理程序)。

php.fcgi 脚本有PHP_FCGI_MAX_REQUESTS=500设置,因为我读到 PHP 在 CGI 模式下运行存在竞争条件问题。 fcgid.conf 还具有最大进程数=15 set.

有其他人遇到过这个错误吗?如果有,如何解决?


我自己设法解决了这个问题。

要解决此问题,请在 FastCGI 配置中添加更严格的进程挂起检查,并缩短 PHP 实例的生命周期:

IPCConnectTimeout 20
ProcessLifeTime 120
IdleTimeout 60
IdleScanInterval 30
MaxRequestsPerProcess 499
MaxProcessCount 100

根据您的要求,这可以满足每小时超过 50k 次点击的配置良好的服务器。

您会发现记录的失效/“僵尸”PHP 进程的数量显着增加。不过,这很好,因为以前进程会变得无响应,而 FastCGI 管理器会继续向它们传送请求!

我还建议从 php.fcgi 脚本中删除所有覆盖指令,因为这可能会导致您的系统出现问题。尝试尽可能从 Apache 中的主要 FastCGI 配置进行管理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mod_fcgid + PHP + apache 锁定 的相关文章

  • 在Linux伪终端中执行从一个终端发送到另一个终端的字符串

    假设我有一个终端 其中 tty 的输出是 dev pts 2 我想从另一个终端向第一个终端发送命令并执行它 使用 echo ls gt dev pts 2 仅在第一个终端中打印 ls 有没有办法执行字符串 不 终端不执行命令 它们只是数据的
  • $mysqli->fetch_object($result) 不起作用

    我正在学习mysqli 我正在尝试从表 tbllogin 中获取数据 DATABASE CONNECTION hostname p localhost database dbLogin username user1 password pwd
  • Joomla 模型视图控制器 (MVC) 如何工作?

    我是 Joomla 的新手 我想知道 Joomla 控制器如何将数据传递给模型 模型传递给控制器 以及控制器传递给视图 虽然这可能是一个愚蠢的问题 但我确实试图找到答案 我希望我能从 stackoverflow 大家庭得到一些帮助 控制器获
  • 如何“grep”连续流?

    可以用吗grep在连续的流中 我的意思是有点tail f
  • 如何在 PHP 中检查特定类型的对象

    我有一种方法 它接受 PDO 对象作为参数 允许用户使用现有连接 而不是打开新连接的方法 并节省资源 public static function databaseConnect pdo null 我知道is object 检查参数是否是一
  • isSaleable() 和 isAvailable() 有什么区别?

    我正在我的 Magento 主题的 单个 产品页面上显示库存可用性 但有些事情我并不完全理解 我看到模板中使用了两种方法来检查产品是否可供销售 Mage Catalog Model Product isAvailable Mage Cata
  • PHP ajax使用新数组上传多个文件

    它是我的上传 html 代码 div class col xs 12 div
  • PHP邮件发送附件但附件为空

    基本上 我正在尝试通过 PHPMail 发送 PDF 电子邮件已发送 我在 Outlook 中完美收到 问题是附件已损坏并且无法打开 我什至尝试发送 HTML 但也是空的 我尝试在论坛中进行研究 尝试了几个 工作代码 其他人让它与此代码一起
  • 从 MySQL 列创建 PHP 数组

    mysql fetch array会给我一个获取行的数组 从一列中所有行的值生成数组的最佳方法是什么 您可以循环遍历数组并创建一个新数组 如下所示 column array while row mysql fetch array info
  • 在 php 中进行 AES 加密,然后用 Javascript (cryptojs) 解密

    我正在寻找一种对简单文本 5 到 6 个数字和 或字符 进行双向加密的方法 问题是我想在 php 中进行加密 然后通过 Javascript 解密 对于 php 我已经使用 mcrypt encode 进行了测试并使其正常工作 因此当我尝试
  • PHP 中的 Javascript“unes​​cape”

    我的图像主机有一个 Google Chrome 扩展程序 它会向我的网站发送一个 URL 该网址得到encoded通过 JavaScript 的escape method 编码的 URLescape看起来像这样 http 253A 4 bp
  • 如何使用 Laravel Scheduler 命令将输出重定向到 STDOUT?

    我的调度程序应用程序运行到 Docker 容器中 Laravel 调度程序由主管管理并执行到容器中 我通过以下方式管理输出重定向 http veithen github io 2015 01 08 supervisord redirecti
  • waitUntilObjectExists() Amazon S3 PHP SDK 方法,它到底是如何工作的?

    该函数是否会暂停 php 脚本 直到在 s3 服务器上找到该对象 我将它放在 foreach 循环中 一张一张地上传图像 找到对象后 我调用一个方法在本地删除图像 然后删除本地文件夹 如果为空 这是正确的处理方式吗 谢谢 foreach f
  • PHP 5 的 HTML 表单库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个QuickForm替代品 QF 存在性能问题 例如组合框中的许多选项 我还想要一些更面向对象的东西 比如 Zend Form
  • 如何通过 PEAR 安装旧版本的 PHPUnit?

    我想将 PHPUnit 3 4 的安装降级到 3 3 我只是不知道该怎么做 如何使用 PEAR 在 Ubuntu 上安装 PHPUnit 3 3 版本 您需要知道要降级到的确切版本号 在撰写本文时 您所使用的最后一个版本是 3 3 17 可
  • Bash 中 $() 和 () 之间的区别

    当我打字时ls l echo file 支架的输出 这只是简单的回显 被获取并传递到外部ls l命令 就等于简单的ls l file 当我打字时ls l echo file 我们有错误 因为不能嵌套 内部外部命令 有人可以帮助我理解之间的区
  • 为什么 $_SERVER["PHP_AUTH_USER"] 和 $_SERVER["PHP_AUTH_PW"] 没有设置?

    在开始之前 我想指出我浏览过 Stack Overflow 并发现了其他类似的问题 PHP AUTH USER 未设置 https stackoverflow com questions 3663520 php auth user not
  • 'SQLSTATE[HY093]:参数数量无效:绑定变量的数量与令牌数量不匹配'[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我收到 SQLSTATE HY093 的错误 参数编号无效 绑定变量的数量与标记的数量不匹配 if isset POST cada
  • 使用 Assetic PHP 通过 RVM 安装后 Sass 损坏

    我正在尝试设置 Assetic PHP 资源编译器 并且它可以与 CoffeeScript Stylus 和 Less 一起使用 所有 NPM 包都运行良好 然而 对于 Sass 我遇到了问题 以下是我到目前为止所采取的步骤 我安装了 RV
  • Alsa 带有来自调制解调器的 PCM 接口

    我有一个基于 imx28 CPU 的定制板 CPU 的串行端口连接到调制解调器的 PCM 输出 我必须为调制解调器的 PCM 接口开发一个驱动程序 使其成为 ALSA SoC 的一部分 您能指出内核树 中与我的设置重新组合的一些驱动程序吗

随机推荐