卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章16333本站已运行3317

使用新的遗迹诊断WordPress性能问题

使用新的遗迹诊断WordPress性能问题

本教程继续我们在使用 New Relic 监控 WordPress 性能中的内容。在这里,我将向您提供 WordPress 性能的概念性概述,并指导您使用 New Relic 检查您自己网站的性能。

如果您是从使用 Varnish 和 W3 Total Cache 优化 WordPress 教程来到这里的,那么您已经拥有了一个非常优化的 WordPress 基础。如果没有,您可能需要返回并查看该文章。

在 WordPress 中使用 New Relic

WordPress 是一个功能强大的开源博客系统,可以支持小型个人博客和主要媒体组织的大型网站。但实际上要很好地运行 WordPress,并成功且经济地扩展它,需要大量的复杂性。

New Relic 的性能监控服务提供了一种出色的方法来确保您的 WordPress 配置保持平稳高效的运行。

注意:New Relic 警告说,其服务最好用于在专用服务器上优化 WordPress,而不是虚拟或共享服务器(例如许多基于云的提供商提供的服务器)。如果您在共享主机上运行 WordPress,New Relic 对您来说可能不如在专用服务器上运行的网站那么有用。

如果您想在深入了解本性能指南之前了解有关 New Relic 的更多信息,Tuts+ 提供了有关其服务的各种文章。

是什么让 WordPress 变得快或慢?

2013 年,免费 W3 Total Cache WordPress 插件的创建者 Frederick Townes 为 New Relic 撰写了一篇博文,描述了我们需要考虑的性能方面:使用 New Relic 优化 WordPress 性能。这是一个很好的总结,我将对其进行审查。

汤斯强调了我们需要关注的核心领域:

<强>1。磁盘性能。非共享本地磁盘始终提供最一致、最可靠的性能。例如,使用配备 SSD 驱动器或高速硬盘的主机是理想的选择。

<强>2。 MySQL查询缓存。查询缓存保存常见数据库查询的结果,并且可以立即返回结果,而无需重复执行。 Townes 建议运行 MySQLTuner 以帮助优化数据库配置。

<强>3。 WordPress 主题和插件对查询的使用。 WordPress 开箱即用,配置运行良好,但当我们添加第三方插件和主题时,我们可能会遇到各种错误代码,从而导致性能问题。

<强>4。 WordPress 主题和插件的文件大小。 减少文件大小和文件数量(从而减少 HTTP 事务)会对用户的网站体验产生巨大影响。不幸的是,并非所有级联样式表 (CSS) 或 JavaScript (JS) 都可以轻松整合和最小化。

<强>5。优化PHP,速度相对较慢。更快的 PHP 版本(例如 HHVM)将来可能适用于 WordPress,但我了解到它对于此任务还不稳定。同时,Townes 提供了一系列建议:减少脚本的内存占用、使用自动加载、使用记忆、避免循环、减少执行时间、最小化打开的文件数量以减少对磁盘的调用和内存使用,以及使用 includerequire 而不是 include_oncerequire_once

<强>6。使用Opcode Caching,例如APC,一个用于PHP代码的开源缓存框架。 Townes 说:“APC 将代码的解释(可执行)版本保留在内存中,这样就不必重新解释对其的请求。”

“WordPress 的对象缓存是发生很多魔法的地方。WordPress 在处理页面请求时会生成各种对象组。这些组有多种用途,并且根据您使用 WordPress 的方式,非常重要例如,通过使用 memcached 或 APC 后端存储持久存储对象来实现性能提升。”

Townes 的 W3 Total Cache 在页面缓存级别实现了这一点,允许 PHP 仍然可以生成给定页面的部分内容,而页面中未更改的较大部分被缓存且不会重新生成的情况。

“W3TC 将允许您选择除 MySQL 之外的数据存储,例如 memcached,它是为从多个应用程序服务器进行高速访问而设计的。因此,每个页面请求都不需要获取有关访问者或其他人的相应信息。动态元素,MySQL 现在能够仅关注(并调整)模板的动态部分。”

Townes 说,“片段缓存将使您的执行时间减少几个数量级。”

7.使用页面缓存。扩展典型网站最有用的技术是页面缓存。我们不是用每个页面请求(WordPress、主题、插件、HTML 和 MySQL)访问整个堆栈,而是从 Web 缓存(通常是从内存)中检索静态 HTML。未缓存的 WordPress 网站上的流量扩展可以在几秒钟内将其关闭,而内存缓存中预先编写的 HTML 文件的流量扩展则可以大规模扩展。

Townes 表示:“反向代理通常在 Web 应用程序和公共互联网之间提供缓存。其目标是减轻其背后的 Web 服务器的负载。反向代理针对返回底层应用程序生成的内容进行了优化。 Varnish、Nginx 甚至 Apache 都可以配置为提供反向代理功能。”

我最常将 Varnish 与 Apache 和 W3 Total Cache 结合使用来扩展 WordPress。如果您对这些配置感兴趣,请查看:使用 Varnish 和 W3 Total Cache 优化 WordPress (Tuts+)。

<强>8。内容交付网络 (CDN) 是基于云的缓存服务,用于频繁使用的文件和媒体。 Townes 说:“使用 CDN,您的网站托管在哪里并不重要。如果您的访问者位于世界其他地方,CDN 会缓存靠近他们的内容,从而减少总页面加载时间。为您的网站。”

现在我们已经了解了 WordPress 良好运行的一些关键概念,让我们看看 New Relic 如何帮助我们。

使用 New Relic 监控 WordPress

New Relic 是一项性能监控服务,它与包括 PHP 在内的各种服务器和语言技术一起运行,非常适合优化 WordPress。

New Relic 提供完整堆栈的性能监控(最终用户体验),而且还提供详细的服务器监控。 Townes 表示,“New Relic 让传播环境中发生的事情变得轻而易举。”

当您在服务器上运行 New Relic 时,您可以获得有关服务器和 PHP 的详细性能监控图表和统计数据,包括:响应时间、Apdex 分数(满意响应时间与不满意响应时间的比率)、吞吐量(请求)每分钟),网络交易,例如第三方API请求、错误率、最近事件和服务器信息。

使用新的遗迹诊断WordPress性能问题

更进一步,New Relic 浏览器可监控全页面生命周期数据 — 远远超出初始页面加载的范围。对于每个最终用户页面加载,New Relic 浏览器捕获:

  • 在前端(浏览器)花费的时间
  • 在浏览器中执行的代码和事件(JavaScript、Ajax 和最终用户交互)
  • 在后端(网络和网络应用)花费的时间
  • 地理起源
  • 浏览器类型和版本以及操作系统

您可以在全球范围内查看所有用户的数据,并按网页、浏览器、用户会话和位置查看数据的切片和切块。

我在使用 New Relic 浏览器进行前端监控 (Tuts+) 中更全面地介绍了 New Relic 浏览器。

New Relic Synthetics 允许您在世界各地对您的网站进行定期测试,以便在出现问题时立即通知您。我将在即将发布的教程中介绍 Synthetics,因此请访问我的 Tuts+ 讲师页面以查看它何时发布。

使用带有 W3 总缓存的 New Relic

使用新的遗迹诊断WordPress性能问题

我在本教程中解释了 W3 Total Cache New Relic 服务集成的注册和安装过程:使用 New Relic 进行监控WordPress 性能(Tuts+)。

在 WordPress 管理控制台中,单击性能 > 监控。点击注册免费帐户。将 API 和许可证密钥的详细信息复制到下面的 W3 Total Cache 设置面板中:

使用新的遗迹诊断WordPress性能问题

在服务器上启用 New Relic 可以从 W3TC 仪表板进行监控,如下所示:

使用新的遗迹诊断WordPress性能问题

如需了解更多详情,您可以访问 New Relic 网站并登录您的帐户。

监控您的 WordPress 性能

评估服务器性能

在较高层面上,New Relic Server 监控为您提供 CPU 使用情况、内存使用情况、磁盘和网络 I/O 的概览,以及有关硬件和最活跃进程的信息。这可以让您鸟瞰您的配置所发生的情况,并提醒您任何重大问题:

使用新的遗迹诊断WordPress性能问题New Relic Servers Dashboard使用新的遗迹诊断WordPress性能问题

“进程”选项卡显示每个进程的内存和 CPU 利用率:

使用新的遗迹诊断WordPress性能问题

您还可以查看警报历史记录,指示您网站性能的危险信号:

使用新的遗迹诊断WordPress性能问题

评估 WordPress 性能

New Relic 可通过三种主要方式评估 WordPress 性能:

<强>1。 Apdex。New Relic 使用 Apdex 评分来帮助您根据行业标准衡量评估您的 Wordpress 应用程序对最终用户的执行情况。这有助于您为故障排除提供更好的数据,并更清楚地了解感到沮丧或满意的用户百分比。 Apdex 评分还提供了比一般的“网站速度慢”投诉更具体的背景信息,这种投诉甚至可能要到事件发生数小时后才会通知您。 Apdex 还为您提供了一种更客观的方法来衡量实际用户对性能改进的感受。

<强>2。 MySQL 性能。 Wordpress 插件和主题可能会滥用您的 mySQL 数据库。您可以通过查看 New Relic 中的慢速 SQL 来查明哪些问题引起了问题。例如,您可能会发现用于类别和标签的 wp_terms 上的选择可能占用了总数据库时间的 20%。或者,您可能会注意到缓慢的 INSERT 语句可以通过适当放置的索引或精炼查询来改进。

<强>3。监控第三方插件和 API 的性能。 在 WordPress 中使用社交媒体插件、监控插件和其他很酷的小部件非常容易,但这些第三方依赖项如何影响您的博客或博客可能并不明显营销网站。 New Relic 使您能够“汇总”外部服务调用以获得更全面的视图,并且您还可以在 New Relic 捕获的每个 Web 事务中监控这些第三方的响应时间。

我们可以使用 New Relic 的浏览器来更详细地研究 WordPress 性能。您需要特别从我们的主题和插件中查找可能对性能产生负面影响的代码。

仪表板为您提供按 Apdex 和吞吐量细分的页面加载时间概览:

使用新的遗迹诊断WordPress性能问题

以下是过去 24 小时内我的 Apdex 分数的放大视图:

使用新的遗迹诊断WordPress性能问题

您还可以按页面浏览量查看效果:

使用新的遗迹诊断WordPress性能问题

深入分析时,您可以查看网站加载的各个文件的性能。您需要查找任何花费可疑时间的主题或插件文件:

使用新的遗迹诊断WordPress性能问题

使用新的遗迹诊断WordPress性能问题

MySQL分析< /h3>

New Relic 服务器监控还可以跟踪 MySQL 查询的性能:

使用新的遗迹诊断WordPress性能问题

您可以深入了解更多详细信息:

使用新的遗迹诊断WordPress性能问题

并诊断最慢的查询:

使用新的遗迹诊断WordPress性能问题

这对于识别由不良插件代码创建的缓慢查询特别有用。

会话跟踪

会话跟踪可让您了解网页的整个生命周期,包括用户交互、资源加载、iframe、等待 Ajax 调用所花费的时间、错误等等,从头到尾跟踪真实用户的真实体验。

跟踪不仅可以识别问题,还可以向您显示用户在错误发生之前和之后执行的操作。

使用新的遗迹诊断WordPress性能问题

以下是对您的会话的详细深入分析。这有助于评估主题和插件中代码的性能:

使用新的遗迹诊断WordPress性能问题

会话跟踪可帮助您了解:

  • 用户如何体验页面加载,包括 DOM 加载时间、等待 Ajax 请求完成的时间以及用户与页面的交互
  • JavaScript 和浏览器事件的顺序(比其他事件花费的时间更长)以及每个事件发生的时间

  • 瓶颈发生的位置以及可能导致瓶颈的原因
  • 通过为会话期间的各个事件提供上下文,为什么一个页面加载可能比其他页面加载慢

您可以准确地看到特定用户的浏览器在任何特定时刻发生的情况。会话跟踪为您提供用户会话中所有事件的详细、直观的可视化,可以帮助查明问题区域并轻松识别解决方案。了解有关使用会话跟踪的更多信息。

Ajax 和 JavaScript

通过 Ajax 页面,您可以查看该页面上的任何交互式调用所发生的情况,从而在调用耗时或失败时帮助确定用户体验问题:

使用新的遗迹诊断WordPress性能问题

请注意,New Relic 浏览器不会自动记录 Ajax 数据。您需要在 New Relic 设置区域中为每个应用程序打开它。了解有关 Ajax 仪表板的更多信息。

浏览器 JavaScript 错误仪表板可让您快速查看实时生产 JavaScript 随着时间的推移在哪些浏览器上发生了哪些错误。您可以根据每个错误发生的次数以及遇到该错误的唯一页面加载次数来调查错误。

这使您能够识别影响网站上真实用户体验的错误;这是一种特别有效的方法,可以了解您自己的测试中或您可能已从测试台中排除的浏览器上未出现的 JavaScript 错误。

使用新的遗迹诊断WordPress性能问题

展望未来

自托管 WordPress 需要高度的技术技能。如果您不愿意,托管主机是更好的选择。其中许多在内部使用 New Relic 来优化自己的网站,例如Page.ly。

深入研究 New Relic 需要投入时间,但结果是值得的。使用此工具,您可以查看 WordPress 堆栈的内部情况,从而快速找出需要解决的问题区域。

如果您自行托管,New Relic 的服务可以提供极其强大的方式来了解您自己的托管环境以及 WordPress 堆栈、主题和插件,并驯服性能野兽。

在您的推出过程中(以及您的开发过程,如果您正在构建自己的主题和插件),您肯定会希望使用 New Relic 深入了解您的网站。

虽然您可以永久使用 New Relic Lite,但两周试用期结束后,您可能需要升级到 Pro 套餐(149 美元/月)以保持相同水平的服务。 New Relic 浏览器、Synthetics 和 Insight 都有自己的定价结构 - 要了解更多信息,请访问 New Relic 网站。

如果您有任何疑问或更正,请在评论中提出。如果您想继续关注我未来的 Tuts+ 教程和其他系列,请访问我的讲师页面或关注 @reifman。

相关链接

  • 使用 New Relic 监控 WordPress 性能 (Tuts+)
  • 使用 Varnish 和 W3 Total Cache 优化 WordPress (Tuts+)
  • 使用新的 Relic 浏览器进行前端监控 (Tuts+)
  • 在 W3 Total Cache 合作伙伴页面注册 NewRelic
  • 使用 New Relic 优化 WordPress 性能

卓越飞翔博客
上一篇: 如何使用Python对图片进行线条检测
下一篇: PHP开发中如何实现百度文心一言随机语句的排序功能?
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏