Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何记录Silverstripe的页面生成时间和MySQL查询数_Php_Mysql_Logging_Silverstripe - Fatal编程技术网

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

Php 如何记录Silverstripe的页面生成时间和MySQL查询数,php,mysql,logging,silverstripe,Php,Mysql,Logging,Silverstripe,我们正在开发一个大型Silverstripe网站,该网站有一个大型数据库(一个表上有700000多行)。托管性能存在一些难以量化的问题,因此我正在寻找度量页面生成时间以及生成每个页面所使用的SQL查询数量的方法 对于过去的SS项目,我破解了核心代码,以毫秒为单位记录页面加载时间,计算SQL查询的数量,并写入CSV文件 然而,我真的想避免更改核心代码,并且想知道是否还有其他选项/模块可以做类似的事情 理想情况下,我想要一个CSV,它看起来像这样 时间戳、URL、毫秒、查询 2016/11/10

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

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

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

理想情况下,我想要一个CSV,它看起来像这样

时间戳、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-如果您想发布关于调试栏的答案,我很乐意接受。