查询监视器插件

已发表: 2021-02-19

每当加载 WordPress 网站时,都会在幕后发生许多事情,因为从数据库中提取信息并构建页面然后加载。 因为这些查询从数据库中检索信息,并且可以涉及每个主题、插件和核心文件,所以如果可以以某种方式对其进行监控,则非常有用。 向 Query Monitor 插件问好。

查询监视器插件是(您猜对了)监控 WordPress 查询的最流行的工具之一。 凭借提供强大支持和定期更新的专门团队,查询监视器插件在网站调试时为 Web 开发人员提供了宝贵的帮助。

让我们仔细看看 Query Monitor 插件,看看它是如何使用的。

介绍查询监视器插件

Query Monitor 是一个免费的 WordPress 调试工具。 与所有 WordPress 插件一样,您可以从插件管理区域安装查询监视器。

安装并激活插件后,您访问的每个页面(在前端和后端视图中)都会出现一组数字,详细说明当前页面的负载统计信息。 这 4 个数字显示了页面生成时间、PHP 内存使用情况、数据库查询时间和查询次数。

如果您将鼠标悬停在这些数字上,则会出现一个下拉菜单,其中提供指向其他数据的链接。

当您单击这些链接中的任何一个时,页面底部会出现一个窗口,该窗口带有一个与上面描述的菜单相同的侧边栏菜单,您可以使用它来过滤结果。 下面的屏幕截图显示了“Hooks & Actions”选项的一些结果:

菜单上的最后一个选项卡称为“条件”,每个页面都不相同。 例如,在后端它显示如下:

但是,如果您在网站前端查看相同的菜单,您会看到一些不同的信息,因为使用了替代条件:

当您想在添加新插件或主题功能时确定要使用的正确挂钩或条件标签时,此选项卡可能是一个很好的工具。

查询监视器插件的作用

当您访问任何 WordPress 页面(从管理区域或前端)时,该插件会收集发生在服务器上以及服务器和访问者浏览器之间的所有 WordPress 进程。 为了向您展示它们,它创建了一个易于阅读的报告,可以如上所示查看。

由于它适用于您网站的每个页面(来自管理和前端),您可以使用它来调试任何前端或后端进程。 这可能包括识别和调试慢速数据库查询、AJAX 调用、REST API 请求等等。 在尝试查明特定问题时,所提供的信息非常有用,并且可以显着加快故障排除速度。

一些查询监视器示例

有大量使用查询监视器可以提供帮助的实例。 例如监控脚本依赖、WordPress 钩子、托管环境细节和条件查询标签可以帮助解决很多问题。 我们将在下面快速浏览一些常见用途。

语法错误疑难解答

出于本示例的目的,我们在单个帖子的模板中使用了自定义 SQL 查询。

 //// SLOW QUERY TEST global $wpdb; $prefix = $wpdb->prefix; $slowq = "SELECT * FROM {$prefix}_options WHERE option_name LIKE '%siteurl%'"; $results = $wpdb->get_results( $slowq ); echo $results[0]->option_value;

当我们刷新页面时,我们可以看到 PHP 打印输出没有结果。 此外,查询监视器选项卡已变为红色。

如果将鼠标悬停在警告上,则会显示另一个更详细的警告,内容为“数据库错误 (1)”。 单击此按钮,您可以详细查看错误,帮助您理解语法错误。

现在,如果您修复错误并重新加载页面,警告应该会消失。

如您所见,我们使用 Query Monitor 插件很快找到了问题的原因。 如果无法以这种方式监控查询,您可能会花费数小时来尝试找出为什么没有回显输出并且仍然看不到应该删除的额外“_”。

HTTP 请求减慢网站加载时间

许多插件倾向于通过向外部 API 发出大量请求来使用过多的外部资源。 这肯定会减慢您的网站速度,如果可能的话,应该避免使用这样做的插件。

谷歌分析或评论插件,如 Disqus、Jetpack 或 Facebook 评论都是这样做的插件。

外部脚本从其他网站拉取请求。 这未必是坏事(任何 WordPress 网站都可能使用一些外部资源)。 但是,当您使用请求多个外部资源的插件或脚本时,重要的是要确保您确实需要它,并且您应用了最好的解决方法来最小化外部调用。

您可以通过在外部服务器上上传 jQuery 脚本来自己查看差异。 使用查询监视器“请求”和“HTTP API 调用”选项卡查看请求时间。 然后将 jQuery 脚本加载到您自己的服务器上,并让您的网站从这个新的内部位置调用它。 当您比较外部和内部请求时间之间的差异时,您可能会感到惊讶。

使用这些工具检查您正在使用的任何插件,以查看它们是否会降低您的网站速度。

主题模板

Monitor 插件也可以为主题开发人员派上用场,因为他们可以查看模板层次结构和用于构建网站页面的 PHP 文件。

很酷,对吧? 所有信息尽在您的指尖。 活动主题名称、当前请求的主体类、为当前页面加载(或未加载)的所有模板部分以及模板文件名和层次结构。

结论

拥有正确的工具可以使开发人员的工作变得更加轻松,查询监视器插件绝对是添加到工具包中的一个! 充分利用插件来监控正在使用的资源,如内存或缓存内容,或追踪导致网站性能问题的插件。

如果您想了解有关使用查询监视器的更多信息,请查看他们的 GitHub 页面,该页面提供了完整的功能列表。 调试愉快!