>백엔드 개발 >PHP 튜토리얼 >网站响应比较慢,如何排除?

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

WBOY
WBOY원래의
2016-06-06 20:43:58975검색

我的网站是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查看连接数排查也是个不错的选择

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.