欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

网站响应比较慢,如何排除?

程序员文章站 2022-05-30 09:54:06
...
我的网站是LNMP+fastcgi的架构;
问题一:我的网站放慢了我该如何定位到到底是php-fpm慢还是数据库的问题?
问题二:比如我在fpm慢日志看到我的一个方法,执行时间比较长(有可能是远程调用,有可能是数据库查询,也可能是文件写入比较多),那么我看到了这个慢的方法,我如何定位,到底是这个方法哪个环节比较慢(条件是我不能调试我的代码,我也不能在我代码里面加断点的情况)?
问题三:我看到我的服务器负载不高,但CPU和内存比较高,那我应该怎么排查到底是什么原因造成的?

回复内容:

我的网站是LNMP+fastcgi的架构;
问题一:我的网站放慢了我该如何定位到到底是php-fpm慢还是数据库的问题?
问题二:比如我在fpm慢日志看到我的一个方法,执行时间比较长(有可能是远程调用,有可能是数据库查询,也可能是文件写入比较多),那么我看到了这个慢的方法,我如何定位,到底是这个方法哪个环节比较慢(条件是我不能调试我的代码,我也不能在我代码里面加断点的情况)?
问题三:我看到我的服务器负载不高,但CPU和内存比较高,那我应该怎么排查到底是什么原因造成的?

如何定位到到底是php-fpm慢还是数据库的问题

如果使用的是Mysql,可以开启慢查询,来排查

问题一:通过php-fpm和mysql的cpu占用可以看出来是哪个导致的
问题二:如果php占用高则查看php的timeout和max_child优化php配置,如果mysql占用高,则查看my.cnf配置调优,优化之后,则查看慢查询日志,找出查询时间长的sql加以优化
问题三:同一二top找出占用资源的前几个
另外带宽和服务器的软硬件配置,和程序逻辑,还有是否被攻击也是需要考虑的要素
通过netstat -nat |grep 3306查看连接数排查也是个不错的选择

相关标签: php nginx php-fpm