php - 巨大的 CPU 负载 - php-fpm + nginx
问题描述
我将 php-fpm 与 STATIC 池一起使用,问题是 20 个池中的 2-3 个池用于 80-100% CPU。其他 php 池保持未使用状态。
我的问题是:为什么其他 17 个进程未使用?
我们使用 AWS 实例 c4.large。我们的 docker 镜像使用 1024 个 CPU 单元和 2560 MB 内存。
解决方案
PHP-FPM pm 静态设置很大程度上取决于您的服务器有多少可用内存。基本上,如果您遭受服务器内存不足的困扰,那么 pm ondemand 或 dynamic 可能是更好的选择。另一方面,如果您有可用内存,则可以通过将 pm static 设置为服务器的最大容量来避免大部分 PHP 进程管理器 (PM) 开销。换句话说,当您进行数学运算时,应该将 pm.static 设置为可以运行的 PHP-FPM 进程的最大数量,而不会产生内存可用性或缓存压力问题。此外,不要太高以至于压倒 CPU 并有一堆未决的 PHP-FPM 操作。
推荐阅读
- machine-learning - 梯度下降成本函数爆炸
- css - 角度 *ngFor 引导列最后一个溢出到下一列
- c# - 将 Excel 数据导入 SQL Server 的控制台应用程序
- excel - 使用外部链接评估字符串公式
- c++ - 为什么 CoCreateInstance 在某些 Windows 上返回 REGDB_E_CLASSNOTREG?
- go - Golang如何检查struct field int是否设置?
- java - 我可以从 cpp 程序调用带有数据库调用的 Java 程序吗
- odoo - 如何将卷添加到不使用卷的 odoo
- javascript - 匹配嵌套括号中的文本
- python - 合并数据框中两列中具有相同值的重复行并在第三列中添加值