感觉WordPress网站速度变慢了?需要更快的解决方案来识别和修复性能问题吗?
Query Monitor插件可以有效地查明性能问题并帮助您更好地了解 WordPress 网站的功能,接下来带你了解如何使用Query Monitor插件调试WordPress性能。
查询监视器概述
Query Monitor是一款免费插件,专门用于帮助您解决 WordPress 网站的性能和开发问题。它提供有关数据库查询、脚本、时间等的信息。
它涵盖了加载时间、查询类型、不同组件和其他详细信息等信息。这些数据可帮助开发人员更好地了解网站错误以及如何修复它们。
它由 John Blackbourn 开发,可在官方 WordPress 插件库和GitHub上获取。
Query Monitor 会定期更新,开发团队会针对任何报告的问题提供快速支持和解决方案。
查询监视器的功能
1.数据库查询
- 接收需要加快速度、重复或有问题的查询的警报。
- 您可以根据查询类型、负责组件(例如插件、主题或 WordPress 核心)或调用函数来过滤结果。
- 通过聚合视图中的详细分类获取每种查询类型的概述。
2. 模板信息
您可以看到模板文件的名称、整个模板层次结构以及加载或卸载了哪些模板部分(尤其是对于块和经典主题)。
3. PHP 错误报告
- 查看 PHP 错误以及有关导致问题的组件、调用堆栈和管理工具栏中的可见警告的信息。
- 识别代码中已弃用或不正确的功能的使用情况。
4. 区块和完整站点编辑 (FSE)
仔细查看帖子内容和完整站点编辑(FSE)中的块及其属性。
5.重写规则和查询参数
清晰地查看匹配的重写规则、连接的查询字符串和查询变量。
6. 排队脚本和样式表
查找有关已加载的脚本和样式表及其依赖项的详细信息。获取任何损坏的依赖项的警报。
7.语言设置
获取有关您的语言设置和为每个文本域加载的翻译文件(MO 和 JSON 文件)的信息。
8.HTTP API 请求
跟踪 HTTP API 请求的响应代码、负责的组件和所用时间。接收任何失败或错误请求的通知。
9. 用户能力检查
接收用户能力检查报告,显示结果和传递给每个能力检查的参数。
10.环境信息
在一个地方获取有关 PHP、数据库、WordPress 和 Web 服务器的全面信息。
11.条件函数
要了解当前的上下文或状态,您可以查看各种 WordPress 条件函数的结果,例如 is_single()、is_home() 等。
12. 瞬态数据和多站点操作
发现更新的瞬态数据并识别多站点安装中switch_to_blog()和restore_current_blog()的用法。
13. 重定向
自动包含一个 HTTP 标头,该标头在重定向发生时显示调用堆栈,提供对重定向过程的了解。
14. AJAX 调用
在动态 WordPress 网站中,Ajax 调用用于实时发送和检索数据,避免重新加载整个网页。Query Monitor 会显示这些请求以及其他有用的调试详细信息。这些信息可帮助开发人员识别和解决错误。
15. REST API
如果您具有监控查询监控所需的权限,则可以对经过身份验证的 WordPress REST API 请求标头中的信息进行故障排除。
16. 身份验证
通常,只有站点管理员或 WordPress Multisite 超级管理员才能查看查询监控日志。但是,您可以创建 cookie 身份验证以定期访问日志。
17. 隐私声明
WordPress Query Monitor 在设计时就明确承诺保护用户隐私。它不会收集或向第三方发送任何数据,从而确保您的信息的安全性和保密性。
查询监视器为何对开发人员有用?
Query Monitor 插件可帮助开发人员识别需要改进的领域,揭示导致资源问题或冲突的插件或资产。
为了更好地理解查询监视器的优势,请考虑一项典型的开发任务——确定页面加载时间和活动查询的数量。
WordPress 提供了两个函数,get_num_queries()和timer_stop(),需要技术知识才能解释。
Query Monitor 可自动执行此过程,向您的代码添加函数并显示结果,从而节省您的手动干预。它显示数据库查询的数量,并提供有关您网站的性能和功能的见解。
Query Monitor 的系统要求
- WordPress(兼容三年之前的版本)
- PHP 版本 7.4 或更高版本。
如何安装查询监视器?
- 登录到您的 WordPress 仪表板。
- 向下滚动到左侧菜单的“插件”部分。
- 点击“添加新插件”。
- 在右上角的搜索栏中输入“查询监视器”。
- 一旦 Query Monitor 插件出现在搜索结果中,请单击“立即安装”。
安装后,点击“激活”即可激活插件。
现在,它会显示在插件部分的列表中,无需任何额外设置。
单击下拉列表中的条目可以查看数据库查询、CSS、活动挂钩和 HTTP API 调用的详细信息。
如何使用 WordPress 查询监视器?
从 WordPress 仪表板成功安装并激活 Query Monitor 后,请执行以下步骤:
- 登录到您的WordPress 仪表板。
- 导航到插件部分。
- 选择已安装的插件,然后找到并单击查询监视器。
- 现在单击“设置”选项。
- 单击设置身份验证 cookie按钮。
让我们详细探讨查询监视器插件的每个部分。
概述
初始的 tab4 总结了您的网站,显示页面生成时间、峰值内存使用量、数据库查询时间和数据库查询次数。
数据库查询
当用户请求或提交信息时,它会触发数据库查询。
此功能允许用户观察成功和不成功的查询执行。此外,用户可以根据查询类型和相关组件筛选查询。
对象缓存
Query Monitor 中的“概览”面板提供了对网站各个方面的深入了解,包括对象缓存。如果您没有持久对象缓存插件,Query Monitor 将显示一条消息来表明这一点。
持久对象缓存插件通过存储数据库查询等操作的结果以供快速检索来提高性能。
如果出现“外部对象缓存未使用”消息,请考虑安装持久缓存插件,如 Redis 或 Memcached。这可以显著提高您网站的性能。
时间安排
查询监视器中的“时间”面板记录并显示指定函数名称的 qm/start 和 qm/stop 操作期间所花费的时间和估计的内存使用情况。
至关重要的是要认识到“时间”面板中显示的时间和内存使用情况都是近似值,并且应如此看待。
日志
Query Monitor 中的“日志”选项卡是一项高级功能,可让您记录消息和变量。这对于排除技术故障或监控站点是否存在潜在问题非常有用。
首次安装查询监视器后,由于尚未设置日志变量,因此该选项卡将为空。
要求
请求功能显示当前用户的查询变量并显示自定义查询。它还会显示请求内的任何相关查询字符串。
管理屏幕
管理屏幕部分显示 WordPress 管理面板上发生的活动。它提供了从管理面板访问的组件列表,并突出显示了由于缺少任何 PHP 文件而导致的错误。
脚本
当您转到查询监视器中的“脚本”选项卡时,它会显示与请求相关的所有排队脚本和样式。它还会突出显示由外部依赖项导致的任何损坏或无响应的脚本。
样式
Query Monitor 中的“样式”选项卡的操作与“脚本”选项卡类似,但它不会突出显示 JavaScript,而是专注于排队的 CSS。此选项卡有助于调试和优化网站性能。
加载大量样式表(如脚本)会减慢网站的加载时间。此选项卡可让您通过最小化样式表数量来优化网站,从而减小文件大小并减少 HTTP 请求。
钩子和动作
Query Monitor 内置了识别钩子和操作错误的方法。借助此工具,您可以根据核心、主题或插件筛选操作和钩子。此外,它还提供完整的名称和引用,便于在代码中轻松找到,从而实现有效调试。
语言
“语言”选项卡可检测多语言网站的损坏或不可用的文件并显示语言设置。
HTTP API 调用
此选项卡显示所有服务器端查询,包括响应代码、超时日志和失败的请求。它非常有用,因为它允许您观察实时响应并有助于高效调试服务器端代码。
临时更新
WordPress 可以将 API 响应存储在其数据库中,特别是当某些 API 允许在给定时间范围内发出特定数量的请求时。
查询监视器中的瞬态更新部分揭示了这些瞬态并提供了有关其大小和相关组件的信息。
能力检查
此功能默认停用,但可以通过在wp-config.php 文件中插入代码来激活。它会对页面上的每个用户进行能力检查,并展示参数和结果。
环境
这提供了 WordPress 环境的全面概述,涵盖了 PHP、数据库和 WordPress 部分。每个部分都提供了有关环境的宝贵信息,包括 MySQL 版本、PHP 内存限制、WordPress 版本等。
条件
查询监视器中的条件功能显示与正在进行的请求相关的所有 WordPress 条件,并指示每个条件是否被评估为“真”或“假”。
这使得人们能够更深入地理解页面加载期间实现的条件逻辑。
其他调试和提高网站速度的工具
-
Google PageSpeed 洞察
Google 的 PageSpeed Insights (PSI) 是一种广泛使用的补充工具,用于分析网站在移动和桌面平台上的速度。
-
GT矩阵
GTmetrix 是一款用于评估网站速度的在线工具。它分析网站的加载时间、大小和请求,并提供评分和改进建议。
Query Monitor 会减慢我的网站速度吗?
页面加载时间: Query Monitor 可能会导致页面生成稍微延迟,通常在 10 到 100 毫秒之间。但是,这种延迟对于大多数网站来说通常是可以接受的,并且与其他插件的开销类似。
内存使用情况:查询监视器通常占页面生成过程中所消耗总内存的 10% 左右。此百分比相对较低,在大多数 Web 服务器配置中不会造成严重的内存问题。
但是,如果您的网站遇到性能瓶颈,或者您正在管理高流量网站,那么即使是很小的性能影响也会变得明显。在这种情况下,请考虑:
- 暂时禁用查询监视器:当您不主动调试时,暂时禁用查询监视器可以稍微提高性能。请记住在需要进一步分析时重新启用它。
- 优化其他方面:专注于优化其他领域,例如服务器配置、主题和插件选择以及图像优化,因为这些会对网站性能产生更大的影响。
您能阻止查询监视器跟踪长过程吗?
是的。Query Monitor 允许您有选择地从其数据收集中排除长时间运行的进程。
- 备份和恢复:在备份期间暂停查询监视器可消除不必要的开销并提高备份性能。
- 数据导出:处理大量数据导出时,禁用查询监视器会很有用。这有助于释放资源并防止额外监视活动造成的任何潜在数据偏差。
- 安全扫描:在扫描期间停止数据收集可以使扫描高效运行并避免不必要的数据积累。
结论
WordPress Query Monitor 插件是一款强大的调试工具,以用户友好的格式提供详细信息。它特别适合快速查明插件、主题或功能对网站性能的影响。
Query Monitor 插件的一个显著特点是它将菜单无缝集成到管理工具栏中。此菜单提供当前页面的快速概览,选择菜单项后,它会在面板中显示综合数据。
经常问的问题
Q1. Query Monitor 是否适合初学者或主要为有经验的开发人员设计?
Query Monitor 对所有经验水平的用户来说都很有价值。初学者可以利用它来深入了解其网站的性能,而经验丰富的开发人员可以使用其高级调试功能。
Q2. Query Monitor 可以用来解决 WordPress 中的服务器端问题吗?
当然。查询监视器是解决 WordPress 中服务器端问题的有用工具。它展示了服务器端查询、响应代码、超时日志和实时失败请求,为有效调试服务器端代码提供了见解。
Q3. 谁可以访问/查看 Query 的监视器的输出?
默认情况下,Query Monitor 优先考虑数据安全,并根据用户角色限制对其输出的访问:
- 单站点安装:只有管理员可以访问查询监视器数据。
- 多站点安装:默认情况下只有超级管理员才有访问权限。