php 线上负载过高 如何排查

lan

这其实不是什么bug,也不是什么问题。就是最近线上环境负载很高,不是配置问题(配置 两台8核16G)。最高时负载稳在300左右,负载高时,cpu也很高,现在不知到如何去定位是哪里问题。主要是在这里向大家请教一下,如何定位问题?我现在一点思路都没有。谢谢大家了

1117 2 0
2个回答

2548a

至少把具体东西描述清楚呀,首先,是webman项目还是fpm项目,负载高,那大概访问量呢?数据库是单独服务器还是跟项目放一起呢,如果放一起的,那有没有查过是否是数据库没优化好导致的负载高呢,如果单独的,那看看数据库负载情况呀,如果数据库负载正常,php服务器负载高,那有没有可能就是你某个接口执行了大量计算造成的呢.

  • lan 2022-05-24

    这个属于php-fpm项目,目前数据库是单独服务器的负载算正常,独立访问量每天8万左右,高峰期在下午4点到晚上23点,现在不知道入手点怎样去排查

  • lan 2022-05-24

    现在确定是服务器的问题,就是想定位具体是那些代码导致的

  • nitron 2022-05-24

    慢SQL查一下啊, 每个请求的执行时间记录一下啊

  • nitron 2022-05-24

    用nginx的话,可以在日志格式里加上 $upstream_response_time,用来记录每个请求的执行时间

  • lan 2022-05-25

    我试一试

2548a

不确定你是否开启了opcache ,如果没开启的话,先开启提高效率,然后可以通过开启nginx accesslog 去定位慢接口,或者可以开启php慢日志来定位

  • 暂无评论
年代过于久远,无法发表回答
🔝