群里面有个朋友,在windows下安装phpstudy并跑typecho,发现服务端响应很慢,TTFB超过2s以上。这里记录一下排查过程,给有需要的朋友参考下。

windows下排查typecho性能问题案例

windows下排查typecho性能问题案例

思路:整个网站代码执行,大体分三个阶段:apache+php解析器、php代码执行、mysql数据查询

首先,确认是环境问题还是php代码问题

  • 猜测:问题可能出在php执行环境上,譬如php如果开启了xdebug的connect_back选项,则会导致xdebug卡主一段时间以等待环境就绪。

  • 方法:在index.php代码最开始的位置,加一行代码 die('xxx'),重新访问。

  • 结果:如果这个时候回应很快了,说明问题出在php代码。继续排查

然后,确认是php代码问题还是mysql的问题

  • 猜测:如果mysql查询很慢,也会导致整个网站响应很慢,所以确认一下是不是mysql数据过大导致查询卡主。

  • 方法:直接停掉mysql服务,再观察网站的响应时间。(ps:原理很简单,让typecho报错,跳过mysql查询过程)

  • 结果:如果网站依然很慢,则说明问题出在php代码本身上。

最后,出动profile分析工具,分析耗时函数

 

后来反馈发现是因为:在hosts里面把localhost 127.0.0.1的记录删掉,但是代码中却依然用localhost来链接数据库导致的卡死。

 
via.https://www.typechodev.com/case/windows%E4%B8%8B%E6%8E%92%E6%9F%A5typecho%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98.html
最后修改:2018 年 06 月 19 日 11 : 44 AM