如何记录Silverstripe的页面生成时间和MySQL查询数量

时间:2016-11-10 01:12:01

标签: php mysql logging silverstripe

我们正在开发一个大型Silverstripe网站,该网站拥有一个大型数据库(一张桌子上有700,000多行)。托管性能存在一些难以量化的问题,因此我正在寻找测量页面生成时间的方法以及用于生成每个页面的SQL查询数量。

对于过去的SS项目,我攻击了核心代码,以毫秒为单位记录页面加载时间,计算SQL查询的数量,并写入CSV文件。

但是我真的想避免更改核心代码,并且想知道是否还有其他选项/模块做类似的事情。

理想情况下,我喜欢看起来像这样的CSV Timestamp, URL, milliseconds, queries 2016/11/10 14:10:00, http://www.example.com/url1, 345, 67 2016/11/10 14:10:05, http://www.example.com/url2, 123, 45

1 个答案:

答案 0 :(得分:2)

还有一个debug toolbar for SilverStripe,我们在最后一个StripeConEU的talk about debugging SilverStripe中也提到了它。

您可以使用composer:

将其安装到您的require-dev部分
composer require --dev lekoala/silverstripe-debugbar  

当然,安装后会冲洗。

然后你会在左下角看到一个小的SilverStripe徽标,它隐藏了实际的调试栏:

Screenshot of SilverStripe Debugbar in action

通过这种方式,您可以(除了非常有用的信息之外)显示所有查询,还可以仅过滤重复查询。