Php 如何记录Silverstripe的页面生成时间和MySQL查询数
我们正在开发一个大型Silverstripe网站,该网站有一个大型数据库(一个表上有700000多行)。托管性能存在一些难以量化的问题,因此我正在寻找度量页面生成时间以及生成每个页面所使用的SQL查询数量的方法 对于过去的SS项目,我破解了核心代码,以毫秒为单位记录页面加载时间,计算SQL查询的数量,并写入CSV文件 然而,我真的想避免更改核心代码,并且想知道是否还有其他选项/模块可以做类似的事情 理想情况下,我想要一个CSV,它看起来像这样Php 如何记录Silverstripe的页面生成时间和MySQL查询数,php,mysql,logging,silverstripe,Php,Mysql,Logging,Silverstripe,我们正在开发一个大型Silverstripe网站,该网站有一个大型数据库(一个表上有700000多行)。托管性能存在一些难以量化的问题,因此我正在寻找度量页面生成时间以及生成每个页面所使用的SQL查询数量的方法 对于过去的SS项目,我破解了核心代码,以毫秒为单位记录页面加载时间,计算SQL查询的数量,并写入CSV文件 然而,我真的想避免更改核心代码,并且想知道是否还有其他选项/模块可以做类似的事情 理想情况下,我想要一个CSV,它看起来像这样 时间戳、URL、毫秒、查询 2016/11/10
时间戳、URL、毫秒、查询
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
还有一个,我们在上一篇文章中也提到了它
您可以使用composer将其安装到“需要开发”部分:
composer require --dev lekoala/silverstripe-debugbar
当然,安装后冲洗
然后,您会在左下角看到一个小的SilverStripe徽标,它隐藏了实际的调试栏:
有了它,您可以(除了许多有用的信息之外)显示所有查询,还可以只过滤重复的查询。我推荐使用xdebug profiler,它非常方便,完全满足您的需要。要读取输出,您可能需要桌面程序,具体取决于您的操作系统。SilverStripe还有一个调试工具栏,请参阅。我们在最后一次StripeConEU的演讲中也提到了这一点,幻灯片位于@wmk-如果您想发布关于调试栏的答案,我很乐意接受。