php - 执行脚本时 apache/php-fpm 停止响应
问题描述
我有一个案例,我遇到了故障排除问题。我有一个 PHP 脚本,它执行许多查询(postgres)以进行数据分析,因此它们被缓存并可以为用户快速加载。这个 php 脚本循环通过某些输入参数、数据并生成大约 50-60 个 sql 查询,执行它们,并将它们存储在 db 缓存中。有些查询需要 2-3 秒,有些则需要几分钟。
执行后一切正常,但是当它们运行时,Apache 似乎没有响应对站点的任何访问(浏览器只是挂在“等待服务器”上)。PHP-FPM 状态仅显示 3 个活动进程(限制为 50)。服务器有 160GB 内存和多核 CPU,只运行这个应用程序。如果我重新启动 php-fpm,站点会再次响应并正常工作。执行期间的服务器负载非常低(顶部约为 1.5,它有 64 个内核可供使用)。
我似乎无法找到为什么 Apache/php-fpm 在进程完全完成之前似乎没有响应任何其他用户,即使我是唯一的用户并且运行的进程很少。服务器上的其他所有东西都运行得非常快(phpmyadmin、pgadmin、终端等)。一开始以为是php-fpm达到极限,但调整参数后好像不是这样,
将不胜感激有关如何/在哪里看的任何指示。谢谢
解决方案
推荐阅读
- python - 有没有办法用 Python Numba jitclass 抑制除以零错误?
- python - 如果在循环文件列表时文件名与 python 中的特定“%y%m%d”格式不匹配,如何继续下一次迭代?
- java - Firebase 数据不会加载到我的 RecyclerView 中
- r - 按纬度或经度将地图拆分为两个单独的地图
- flutter - pushAndRemoveUntil后android的后退按钮不工作
- node.js - 当我在 MERN 中提交数据时出现错误 400(错误请求)
- node.js - 来自节点的 Onclick 函数 pug
- java - 自定义声明样式不显示文本属性
- swift - 如何在 SwiftUI 中使用径向渐变填充路径
- android - 当数据绑定android中的数据发生变化时如何更新UI?