您可能见过某些博客显示有关生成/加载页面所花费的时间的统计信息。如果您有兴趣在自己的博客中实现这样的功能,我将在下面向您介绍实现该功能的方法以及执行此操作的源代码。

考虑到php和mysql查询,我们将显示生成页面所花费的总时间,为此,我们首先需要在wp-config.php中定义一个变量才能使其正常工作。因此,打开你的wp-config.php文件并添加以下行:

define( 'SAVEQUERIES', true );

既然已经完成了,我们将继续进行实际计算并显示加载时间信息。通常,您需要添加代码并将信息显示在主题的footer.php文件中。所以看看你的wordpress主题目录,找到名为footer.php的文件,打开它进行编辑,然后合适的位置加入下面的代码:

if (current_user_can('level_10'))
{
global $wpdb;
 
// Get the total page generation time
$totaltime = timer_stop( false, 22 );
 
// Calculate the time spent on MySQL queries by adding up the time spent on each query
$mysqltime = 0;
// if there are indeed mysql queries then
if ($wpdb->queries != null)
foreach ( $wpdb->queries as $query )
$mysqltime = $mysqltime + $query[1];
 
// The time spent on PHP is the remainder
$phptime = $totaltime - $mysqltime;
 
// Create the percentages
$mysqlper = number_format_i18n( $mysqltime / $totaltime * 100, 2 );
$phpper = number_format_i18n( $phptime / $totaltime * 100, 2 );
 
// Output the stats
echo 'Page generated in ' . number_format_i18n( $totaltime, 4 ) . " seconds ( {$phpper}% PHP, {$mysqlper}% MySQL )";
}

此时你很高兴。保存您的footer.php文件并刷新您博客的任何页面。在底部,在主题的页脚部分,您将看到新添加的文本,具体你可用看本页面的页脚显示。

注意,上面的代码只是针对管理员显示,如果你要对全员显示,请删除第1,2和最后行即可。

当然,请注意,通过在config.php中启用SAVEQUERIES保存查询以进行分析),将会涉及很小的性能损失,如果你不想用于调试使用,你可以完全忽视它

发表评论