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

5,786
WordPress 显示数据库查询次数、查询时间及内存占用的代码
  • 4.83 / 5 5
4.83分(6票)

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

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

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

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

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

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

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

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

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

1
2
3
<?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 文件下加入以下代码定义函数并自动显示:

1
2
3
4
5
6
7
8
9
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 程序都可以使用这段代码,通用的。

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

喵~本文目前有1条留言,欢迎发表评论!

  1. 传说中的沙发
    :

    这个还是比较有用的

    [回复]

打破沉默,我来发表评论鸟~