【发布时间】:2016-11-07 19:28:50
【问题描述】:
我想知道是否有人可以就如何跟踪导致减速的函数给出一个高级答案。
我们有一个包含 6000 行代码的网站,有时速度会显着下降。
我想知道跟踪这些偶尔减速的来源的最佳方法是什么?我们应该在每个函数上附加一个时间执行跟踪器还是您会推荐其他的东西?
这是使用 PHP 5.2.9(无框架)的标准 LAMP 堆栈设置。
【问题讨论】:
-
假设代码是......好吧,不傻,我倾向于怀疑数据库瓶颈。确保您使用的是 INNODB 数据库(MyISAM 是去年的 Sooo!)并确保 WHERE 子句中使用的列具有索引以加快搜索速度。附带说明一下,您可以使用 Xenu 之类的工具来抓取您的网站,它可能能够指出某些页面的服务时间比正常情况要长。 home.snafu.de/tilman/xenulink.html
-
就个人而言,我使用Blackfire。
-
减速是否发生在测试环境中 - (它是可重现的)或仅在“实时”中发生
-
我确定有办法手动中断它,然后显示调用堆栈。这让你可以使用random pausing。
标签: php performance performance-testing