WordPress 显示数据库查询次数、查询时间及内存占用的代码

如果对进行过WordPress 性能优化,需要一个直观简单的查看方式的话,那么就可以使用下面所提及的代码,通过这段代码,可以在直观或者在html 源代码查看数据库查询次数、查询时间及内存占用。代码本质上只有一段,但因不同添加方式可以变形为以下几种:

一、在页面前台显示数据库查询次数、查询时间

将下面的代码丢入主题的footer.php 的<? php wp_footer(); ?>前:

<p>< ?php echo get_num_queries(); ?> queries in < ?php timer_stop(3); ?> seconds</p>

二、在html 源代码下显示数据库查询次数、查询时间

如果只是给自己看的,最好是在html 源代码下显示,很简单。就是将它变为html 注释,上面的代码修改为:

<!-- <?php echo get_num_queries(); ?> queries in < ?php timer_stop(3); ?> seconds -->

三、统计信息只有管理员登录了后可以看到

用if 判断是否登陆,上面的代码改为:

<?php if (current_user_can('level_10')) {
	echo '<!-- ' . get_num_queries() . ' queries in ' . timer_stop(3) . ' seconds -->';
} ?>

想必都知道了:<?php echo get_num_queries(); ?>输出查询数量, <?php timer_stop(1); ?>输出查询时间;

经过Jeff 测试,其实可以通过 <?php echo memory_get_peak_usage(); ?> 输出内存占用,但是单位是B(字节),不知道如何实现自动转化。下面的代码可能会好一些。

四、通过自定义函数在html 源代码下显示

需要在主题的functions.php 文件下加入以下代码定义函数并自动显示:

function performance( $visible = false ) {
    $stat = sprintf(  '%d queries in %.3f seconds, using %.2fMB memory',
        get_num_queries(),
        timer_stop( 0, 3 ),
        memory_get_peak_usage() / 1024 / 1024
        );
    echo $visible ? $stat : "<!-- {$stat} -->" ;
}
add_action( 'wp_footer', 'performance', 20 );

该段代码来自于wpsnipp,感谢原作者。

其实只要是php 程序都可以使用这段代码,通用的。

最后给个略难看的“效果图”吧~

评分:
当前平均分 0.00 (0%) - 0 个投票
2 条 评论
  1. 最后的代码感觉非常的完美!收藏了,感谢博主分享!

    7年前 回复
  2. 这个还是比较有用的

    10年前 回复
发表评论