为什么需要应用程序性能监控工具

为什么需要应用程序性能监控工具

性能是任何应用程序成功的核心。由于用户依赖Web应用程序来满足他们的日常需求,企业的成功现在与其应用程序的性能成正比。因此,应用程序性能监控 (APM) 对于任何公司提供和维护一流的用户体验都至关重要。

对更新、更好的应用程序的需求导致采用快速应用程序开发方法。虽然它减少了开发时间,但也增加了许多潜在的复杂性。因此,当今复杂的应用程序(包括网站)提出了只能通过有用的APM工具解决的新挑战。

本文探讨了APM工具是什么、APM工具的类型、典型的APM功能以及如何使用APM工具来管理各种类型的WordPress网站。

  1. 什么是应用程序性能监控 (APM)?
  2. 3 种不同类型的APM工具
  3. 应用程序性能监控软件的有用功能
  4. 为什么需要应用程序性能监控工具来管理WordPress
  5. Kinsta APM救援工具
  6. 应用程序性能监控用例

什么是应用程序性能监控 (APM)?

应用程序性能监控 (APM) 是监控、管理和掌握应用程序性能的过程。APM包括监控应用程序的技术性能和用户感知的性能。

由于当今的应用程序在高度分布式的基础架构上运行,它们的所有组件都在不断变化,并且监控起来非常复杂。因此,一个有用的APM软件必须查看应用程序的所有关键部分,以便更轻松地进行故障排除和管理其性能。

有用的APM工具的各种组件

有用的APM工具的各种组件

由于典型的Web应用程序包含不同的组件,因此监控每个元素的性能指标对于衡量应用程序的整体性能至关重要。APM工具应该处理所有数据并通过简化的仪表盘有意义地呈现它。这样,您或您的支持人员就不必花费大量时间来解释记录的数据。

 

根据Gartner的说法,应用程序性能监控工具可以定义为满足三个主要标准的软件:

  • 前端监控 涉及PC和基于移动的最终用户的用户体验监控和综合事务监控。
  • 应用程序发现、跟踪和诊断 涉及多个功能,例如各种应用程序元素的自动发现,例如Web服务器、平台、框架、微服务等。接下来,它涉及确定这些元素之间的关系并诊断它们的代码。最后,它包括跟踪应用程序如何响应用户请求。
  • 分析是指记录应用程序生成的所有数据,然后使用各种技术来发现有意义的模式。它可以帮助您找到性能问题的根本原因,并在它们发生之前预测未来的问题。

通过结合上述所有功能,应用程序性能监控工具可以毫不费力地让您的应用程序保持最佳状态。

3种不同类型的APM工具

您可以根据APM工具的功能将其分类为各种类型。

基于应用程序指标的APM工具

这些APM解决方案主要收集几个应用程序和服务器相关的指标。APM工具然后使用此数据来确定您的应用程序的哪些URL请求很慢。由于他们没有分析应用程序的代码,因此他们无法告诉您导致速度下降的原因。流行的APM工具很少只监控应用程序指标。

基于代码分析的APM工具

这些APM产品执行代码分析和事务跟踪,可以帮助您深入了解性能问题的确切原因。许多流行的APM工具使用特定领域的人工智能和机器学习技术来分析各种代码类型。结合应用程序指标,它可以帮助他们识别任何性能问题的潜在原因。

基于网络的APM工具

这些APM工具专注于网络流量以衡量应用程序性能。由于它需要高度专业化的技术,因此只有少数APM工具可以做到这一点。因此,它催生了一个名为Network Performance Monitoring的新产品类别。

大多数APM工具,都属于上面列出的第一类和第二类。

应用程序性能监控软件的有用功能

每个APM软件的核心都是收集有关应用程序执行情况的大量数据。然而,开发人员需要的不仅仅是数据来从中获得实用的见解。APM需要提供带有上下文的数据,以便您可以快速找到性能问题的根本原因。

以下是APM软件支持的一些最有用的功能。

衡量应用程序事务的性能

每个APM工具的核心是衡量每个请求和响应的性能。它们一起被称为交易。了解这一点可以帮助您找出应用程序中访问最多的请求、最慢的请求以及优化应用程序性能需要重点关注的请求。

监控应用程序依赖项的性能

您的应用程序也可能由于其依赖项之一的问题而变慢,例如数据库、缓存、Web服务器、第三方服务等。例如,缓慢的数据库查询或服务器会影响应用程序的整体性能。外部HTTP Web服务和缓存的问题也可能导致相同的结果。因此,不仅要监视应用程序,还要监视其所有依赖项,这一点至关重要。

在代码级别测量性能

知道哪个请求或事务表现不佳仅仅是个开始。弄清楚它为什么会如此执行也很重要。通过在代码级别分析您的应用程序,APM工具可以帮助您深入了解导致应用程序性能不佳的代码。

监控服务器资源使用情况

检查服务器的CPU和内存使用情况至关重要,特别是如果您想根据流量自动扩展应用程序。

集中式应用记录系统

应用程序日志数据和错误对于开发人员和支持人员快速修复应用程序性能问题至关重要。虽然您可以通过其他方式手动访问所有大量服务器日志,但将所有记录放在集中式仪表盘中非常有用。

真实用户监控 (RUM)

监控应用程序的实际用户体验对于确定应用程序是否按预期执行至关重要。如果没有,应用程序的哪一部分失败了。通常,RUM是通过将JavaScript标记注入应用程序来被动执行的。然后,该脚本提供来自使用该应用程序的客户端(例如浏览器、应用程序)的反馈。

为什么需要应用程序性能监控工具来管理WordPress

WordPress易于使用。这是它最大的优势之一。但就其核心而言,管理它与任何其他Web应用程序或框架一样复杂。

Kinsta上托管的所有WordPress站点都在由Google Cloud Platform提供支持的虚拟机上运行。我们利用LXD 托管主机和LXC 软件容器将每个站点与所有需要的软件隔离开来——LinuxNginxPHPMariaDB——以顺利运行 WordPress。

结合我们内置的性能优化,如Kinsta CacheKinsta CDN,它使Kinsta成为最快的WordPress主机之一。

WordPress托管堆栈

WordPress托管堆栈

作为WordPress托管服务提供商,Kinsta负责所有服务器优化和维护任务。我们的团队使用Google Cloud Operations(以前称为Stackdriver) 和各种SysOps工具来监控和改进我们的云托管环境的性能。

因此,即使涉及如此多的不同技术,在Kinsta等托管WordPress主机上也很少会遇到服务器性能问题。

但是,您无法尽快修复WordPress网站上的性能瓶颈。当事情发生意外(他们确实如此)时,调试和排除您的WordPress站点的故障是非常令人沮丧的。

WordPress通过其插件和主题提供的无限定制可能性也增加了额外的复杂性。此外,不断升级我们的技术堆栈 ,以跟上最新、最好的技术。WordPress也在快速发展。

因此,监控应用程序的性能,例如WordPress(及其组件)是很困难的。当有数百甚至数千个站点需要监控时,这种情况尤其如此。在这里,一个APM工具就派上用场了。

Kinsta APM救援工具

Kinsta APM工具可帮助您直接从MyKinsta仪表盘识别WordPress网站上的性能问题。它适用于所有Kinsta计划 ,无需额外费用,因此您无需注册第三方应用程序性能监控服务,如New Relic。注意:如果他们想坚持使用New Relic,Kinsta客户可以添加自己的许可证。

Kinsta APM页面

Kinsta APM页面

专为监控托管在Kinsta上的WordPress网站而定制,它捕获并显示有关您网站操作的时间戳数据:PHP进程、MySQL数据库查询、外部HTTP请求等。

您可以启用Kinsta APM在指定时间段(30分钟到24小时)内跟踪您的站点的性能。

Kinsta APM工具默认禁用。我们仅在需要时才推荐它,因为您可能会遇到轻微但仍然明显的缓慢加载时间。

启用后,Kinsta APM将显示总交易时间和您网站上发生的最慢交易。这些事务可以追溯到您站点上资源最密集的请求(例如 admin-ajax.php、wp-cron.php)。

单击交易将带您进入其交易跟踪时间线,您可以从中深入了解导致问题的原因。

APM使调试WordPress更容易

APM使调试WordPress更容易

通过使用APM工具,您可以监控和优化WordPress网站以确保获得最佳性能。它将使您能够快速查明导致问题的WordPress组件。有了这些知识,您就可以迅速修复它们。

即使您无法自行解决问题并且需要聘请WordPress开发人员,了解导致问题的原因也可以帮助您节省时间和金钱。

应用程序性能监控用例

以下是应用程序性能监控如何帮助不同类型网站的一些真实示例。

电子商务网站

速度和性能是电子商务网站的一切。您的电子商务网站加载速度越快,其购物体验就越好。根据Akamai的说法,页面加载延迟100毫秒会影响转化率7%,而延迟2秒会增加跳出率高达103%。

页面加载时间对于电子商务网站至关重要

页面加载时间对于电子商务网站至关重要(来源:与Google一起思考)

然后是停机时间。如果您的电子商务网站对某些用户(或更糟的是,对所有人)都关闭了,那么您每停工一秒都会损失收入。更糟糕的是,它会对您的品牌声誉造成长期损害。

电子商务网站有许多相互交互的服务,包括内部和外部。在这里,多个组件相互协作:产品目录、产品搜索、产品评论、用户帐户管理、库存管理、购物车、订单和运输管理、支付处理器、安全插件、个性化推荐、第三方集成、和更多。

一些电子商务网站还包括客户关系管理 (CRM) 和电子邮件营销软件 ,以更好地与客户互动。

最重要的是,现代电子商务网站运行在复杂的技术堆栈上,就像任何其他Web应用程序一样。例如,WooCommerce在WordPress上运行,由PHP和MySQL数据库提供支持,在Linux等操作系统上运行Nginx或Apache等Web服务器。

由于涉及的元素如此之多,要找到性能问题或停机的原因并不容易。APM工具可以在这里为您提供极大的帮助。在大多数情况下,APM工具可以让您在问题发生之前就发现问题,引导您主动解决性能问题,而不是被动应对。

例如,非常受欢迎的在线礼品店CafePress的电子商务商店经常面临停机时间。他们 的网站每停机一小时,就会损失大约 5.5%的每日收入。CafePress使用APM工具找出导致停机的问题并迅速修复。

“事务跟踪时间线”

“事务跟踪时间线”

Kinsta APM使您能够做到这一点。例如,您可以使用它来解决您的WooCommerce网站上缓慢的后端性能问题。这样做会显示您网站上发生的所有最慢事务的列表。

单击任何事务样本将向您显示其中发生的所有跨度的时间戳列表。此列表称为事务跟踪时间线。

您可以单击任何跨度项目以获取有关其中启动的所有进程的详细报告。

“跨度详细信息”和“堆栈跟踪”时间线

“跨度详细信息”和“堆栈跟踪”时间线

APM将智能地尝试确定主要负责此特定跨度的因素。在上面显示的示例中,它是WooCommerce插件。堆栈跟踪详细信息可以帮助您了解在哪里可以解决WooCommere站点上的性能问题。

会员和社区网站

会员和社区网站是通过内容获利和建立经常性收入来源的好方法。然而,成功地维持它们是一项巨大的挑战 ,因为它们涉及大量并发登录用户、复杂查询和高数据存储要求。此外,由于其高度个性化的特性,它们提供的大部分内容都是不可缓存的。

根据行业基准,订阅业务的长期成功取决于最大限度地降低客户流失率。而做到这一点的最好方法是提高客户满意度。其中很大一部分取决于您的网站的表现如何。

MemberPress是一个流行的WordPress会员插件

MemberPress是一个流行的WordPress会员插件

因此,掌握会员资格或社区网站的性能是吸引新会员和留住现有会员的关键。使用APM工具可以帮助您准确高效地做到这一点。

我们的团队运行大约20个Web应用程序,为遍布全球的大约10万用户提供服务。自从我们开始使用Application Insights以来,我们发现我们对应用程序的性能有了更清晰的认识,因此,我们的用户看到了性能更好、更有用的应用程序。” — APM与Application Insights

APM工具可以帮助您监控您的会员网站是否在负载下运行良好。如果没有,您可以使用它来诊断和解决问题。

对于建立在WordPress平台上的会员或社区网站,大多数潜在的性能问题与电子商务网站所面临的问题相同。除了这里,您将使用会员插件论坛插件而不是WooCommerce。如果需要,您还可以使用WooCommerce处理会员订阅和定期付款。

无论您最终使用什么,APM工具都将使您能够获得有关您的会员如何使用您的网站的新见解。跟踪此类指标对于会员或社区驱动网站的成功至关重要。

SaaS应用程序

软件即服务 (SaaS)是指通过浏览器或应用程序直接向用户交付软件产品。它现在已成为许多流行应用程序的主要交付机制,尤其是大型企业提供的应用程序。一些流行的例子包括:

  • 办公套件: 谷歌文档、Office365
  • 消息和聊天:  Slack、Sendbird
  • 会计:  Quickbooks Online、FreshBooks
  • 发票:  Wave、PayPal发票
  • 合作:  Trello、Asana、Basecamp
  • 营销:  HubSpot、MailChimp
  • 人力资源管理:  CakeHR,monday.com
  • 平面设计:  Canva、Stencil

由于SaaS用户通常会花费大量时间使用该应用程序,因此他们希望它始终表现良好。如果用户对您的SaaS应用程序不满意,他们可以轻松切换到另一个SaaS提供商。因此,SaaS应用程序需要在任何负载下保持其性能才能成功。

但监控和管理SaaS应用程序性能具有挑战性。大多数SaaS应用程序在多租户架构上运行,其中软件的单个实例同时为多个用户提供服务。

对高度动态和交互式网站的需求意味着SaaS应用程序还需要从不同的第三方域中引入数十个(甚至数百个)资产。因此,就服务器端代码和用于交付它们的网络基础设施而言,它们的管理更加复杂。

例如,专注于人员配备和招聘机构的SaaS公司Crelate使用APM工具在成为灾难之前发现关键的性能问题。

“由于Retrace在SDLC每个阶段的即时反馈循环,Elder和他的团队通过主动识别瓶颈和性能问题,每年节省了超过60,700美元和数百小时。” —在Stackify创建案例研究

您可以利用WordPress的多功能性将其用作平台。有些人甚至将其称为WordPress即服务 (WPaaS)。WordPress.com是开源WordPress的托管版本,是WPaaS最成功的例子之一。

WordPress.com是WPaaS的一个流行示例

WordPress.com是WPaaS的一个流行示例

同样,您也可以使用WordPress作为基础来构建各种SaaS类型的项目,例如项目管理网站房地产目录商业目录在线学习网站等等!

部分APM工具独立于您使用WordPress的方式工作,您可以使用它监控任何类型的SaaS应用程序的性能。使用APM工具不仅可以帮助您解决和避免性能瓶颈,还可以了解客户趋势、减少客户流失并评估新的业务增长策略。

在线杂志和新闻网站

数字新闻消费继续稳步增长。无论是政治、娱乐、体育、模因还是混合一切,在线空间现在拥有许多传统和数字原生媒体渠道。

不断增长的在线读者群和提高读者参与度是数字出版商面临的两个最严峻的挑战。 在不首先考虑用户体验方面的情况下正确地将高流量网站货币化也很烦人。

根据用户体验状态报告,读者对慢速网站没有耐心。他们希望在每台设备上都能获得快速的Web性能。这对高流量网站来说是一个挑战,尤其是那些提供大量富媒体内容的网站。

为“体育评论”新闻网站提供支持

为“体育评论”新闻网站提供支持

出版商吸引和留住受众的另一种方式是个性化。但是把事情做好并做好可能会很棘手。它还需要为站点增加额外的开销,这可能会影响其性能。

新闻机构越来越多地认为,提供个性化内容可以帮助他们吸引观众访问他们的网站,并让他们回头客。”——尼曼报道

虽然大型媒体组织可以雇用或聘请单独的IT团队来管理其网站的性能,但小型数字出版商这样做并不可行。有效的APM解决方案和托管托管解决方案可以帮助这些发布商降低其网站性能优化的成本。

数字出版商还可以使用易于使用的开源出版平台(如WordPress)来节省成本。一些最大的在线杂志和新闻网站,例如Wired、The New Yorker和TechCrunch, 每天都使用WordPress来接触数百万读者。

商业和企业网站

大公司和企业可以使用网站向全球数百万潜在客户展示他们的产品和服务。通过博客发布有用的内容也可以吸引公众关注并建立品牌忠诚度。

企业网站通常包含本地化、多语言内容和小型微型网站网络等功能。他们通常也需要复杂的基于角色的访问要求,所有这些都会使站点的技术架构复杂化。

以多种语言为数百万国际用户提供这样的网站是一项艰巨的任务。在不损害公司工作流程和业务目标的情况下高效地做到这一点是一个更加重大的挑战。

首先,它需要由世界级技术专家团队支持的企业级托管基础设施。其次,为确保网站访问者获得最佳用户体验,企业必须彻底监控其网站上的每一次用户交互。最后,它需要安全、可扩展和可靠。

WordPress检查了任何企业网站所需的大部分技术功能。它是可扩展的、开源的、经常更新的、SEO友好的、用户友好的和可扩展的。另外,它可以定制做几乎任何你想做的事情。

根据BuiltWith的数据,前10,000个网站中有3,459个使用WordPress。一些著名的例子包括梅赛德斯-奔驰索尼音乐BBC America施乐哈佛商业评论

教育和在线学习网站

在线教育为教师和学生开辟了新的可能性。十多年来,通过大规模开放在线课程 (MOOC)、编码训练营和在线认证计划提供的替代教育形式继续缓慢地推动教育行业向前发展。

由于COVID-19,远程学习的增长

由于COVID-19,远程学习的增长

Udemy和StraightLine等一些在线教育门户网站已将这一趋势向前推进了一步。对于每月订阅,他们为学生提供了获得可转让大学学分或额外证书的机会。现在,大流行也迫使大多数高中和大学上网。

EdX和Coursera等成熟的MOOC平台使用各种技术向数千万学习者提供课程。然而,今天的教育机构仍然停留在通过Zoom或Google Meet使用简单的“远程学习”课程。但情况不一定如此。

通过使用WordPress的许多插件、主题和服务,您可以将WordPress用于所有与教育相关的内容。通过将其设置为基于学习管理系统 (LMS) 的站点,您可以轻松教授在线课程并远程培训学生。

但是,LMS网站面临许多与会员和电子商务网站相同的性能挑战。由于海量数据(图像、视频、论坛线程)、众多登录用户、不可缓存的动态内容和复杂的数据库查询,它们是资源密集型的。如果处理不当,这些问题可能会大大降低您的网站速度。

APM工具为应对所有这些性能挑战提供了坚实的基础。无论您是由于数据库查询速度慢还是LMS插件未优化或两者兼而有之而面临问题,您都可以使用APM快速深入了解确切原因。

管理客户网站的数字机构

多亏了WordPress,开发和启动客户端网站从未如此简单。但是,管理它们是一项挑战,尤其是在您处理许多站点时。这是一个很好的问题,因为寻找体面的客户是一项更大的任务。

通常,数字机构负责处理众多WordPress网站的维护、安全和性能。每个客户都有独特的要求,需要使用各种主题、插件和自定义代码。这使得控制所有站点的性能变得复杂。

SkyrocketWP

SkyrocketWP

但确保所有客户网站的出色表现对于数字代理机构的成功至关重要。

您的客户会喜欢支持工单的更快周转时间。您会喜欢在支持成本上节省的时间和金钱,同时仍将服务质量保持在最高水平。此外,它还能让您腾出时间专注于其他紧迫的需求,例如管理和发展您的数字代理机构。

WordPress多站点网络

WordPress Multisite是WordPress最奇特的实现之一。它允许您从单个WordPress安装运行单个站点的网络。无论您是想托管许多类似的客户端站点、运行多个商业站点,还是管理学院或大学的社区网络,WordPress Multisite都可以帮助您快速设置它们。

UBC在WordPress Multisite上托管他们的学生社区博客

UBC在WordPress Multisite上托管他们的学生社区博客

然而,多站点网络带来了独特的挑战,使其难以维护和监控其性能。由于WordPress多站点网络上的每个子站点都使用相同的服务器和数据库资源,因此它们更容易出现过载和性能问题。

如果它吸引的流量较少,标准的WordPress安装可能会解决代码优化问题。但是,多站点网络并非如此,因为可以有许多较小的站点分布在网络中。即使网络的一个子站点吸引了高流量,任何未优化的代码最终都可能导致整个网络超载。

APM工具可以帮助您发现多站点网络上最慢的交易。即使您或您的开发人员对WordPress Multisite没有经验,了解导致您的网络站点速度变慢的原因对于故障排除也非常有帮助。为了快速轻松地提升您的整体优化,还可以考虑缩小您的代码。

小结

在对应用程序的性能问题进行故障排除时,APM工具可帮助您轻松找到大海捞针。此外,APM工具还将主动监控您所有应用程序的代码、请求、响应、用户体验等。

评论留言