教你秒级定位PHP卡死问题

2019年10月10日 67 次阅读 3 条评论 1 人点赞

PHPer肯定收到过这样的投诉:小菊花一直在转!你们网站怎么这么卡!当我们线上业务遇到这种卡住(阻塞)的情况,大部分PHPer会两眼一抹黑,随后想起那句名言:性能瓶颈都在数据库然后把锅甩给DBA,赶紧找找慢sql,但这是非常错误的做法,因为有太多因素能导致业务卡住。

使用Swoole Tracker发现卡死问题

针对上述问题,Swoole官方出了一个解决方案,Swoole Tracker的堆栈工具,同时支持FPM和Swoole。
使用方法很简单:

  • 首先点击上面的连接注册个账户。
  • 然后装上swoole_tracker扩展。
  • 最后登陆后台,在调试器=>进程列表中点击堆栈按钮就能获得当前卡在哪了,如图:

结尾

除了上面的卡死问题,还有一种情况是调用变慢,比如原来一个系统调用5ms,但是由于网络等等原因,这个调用100ms才返回,业务的表现是变慢了而不是卡死在那里,这种情况通过tracker的抓堆栈工具是无法定位问题的,因为卡住时间很短,很难抓到调用堆栈,此时需要Swoole工具链中的另外一个工具阻塞IO检测工具我们会在后面给大家介绍。

原文地址:https://course.swoole-cloud.com/article/2

讲梦想、讲奋斗可以,前提是钱要给够。

文章评论(3

  • 擎天一鸣Lv 1

    真的这么好用吗?

    #22019-10-11 17:30
  • 阳阳博主

    这个工具真的是个神器,博客一直比较卡,通过这个工具发现了卡的问题,解决后果然流畅许多!

    #12019-10-10 16:46
  • 接收回复邮件通知
    非注册会员初次评论需要审核,审核时间(09:00-18:00),请耐心等待...