如何更详细地了解 php-fpm 如何消耗 cpu 资源(php 的 pg_stat_statements)

Posted

技术标签:

【中文标题】如何更详细地了解 php-fpm 如何消耗 cpu 资源(php 的 pg_stat_statements)【英文标题】:how to have a more granular look at how php-fpm is consuming cpu resources (pg_stat_statements for php) 【发布时间】:2018-10-04 11:53:49 【问题描述】:

我正在查看我们应用服务器的 htop,很明显 php 应用正在吞噬 CPU:

我尝试过使用 newrelic 之类的服务,但随后将此类代理添加到应用程序服务器本身会导致峰值(请参阅 this post)。

我还有哪些其他选项可以跟踪我的应用程序中消耗大量内存的部分?

注意:我的堆栈是 Laravel/Psotgresql/nginx。我已经在数据库方面做了很多优化(感谢 psql 强大的分析工具,例如pg_stat_statements),但是找不到任何这样的 php 工具。

【问题讨论】:

【参考方案1】:

我喜欢用blackfire.io来调试PHP脚本执行和资源消耗。

【讨论】:

【参考方案2】:

也许你可以看看forpC php 扩展?

自己没用过,不过觉得值得一试

【讨论】:

以上是关于如何更详细地了解 php-fpm 如何消耗 cpu 资源(php 的 pg_stat_statements)的主要内容,如果未能解决你的问题,请参考以下文章

如何诊断和解决CPU高度消耗(100%)的数据库

如何减少我的应用程序的 CPU 消耗

SQL面试:如何快速定位消耗CPU最高的sql语句

数据库消耗 CPU 最高的 sql 语句如何定位?

如何快速定位当前数据库消耗 CPU 最高的 sql 语句

如何快速定位当前数据库消耗 CPU 最高的 sql 语句