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


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

php-fpm php nginx

你快间子间 10 years, 4 months ago

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

党国委员长 answered 10 years, 4 months ago

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

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

理查德米洛斯 answered 10 years, 4 months ago

Your Answer