负载测试与压力测试

负载和压力测试比较

根据定义,负载测试测量系统在预期负载下的性能。

相比之下,压力测试使系统过载,以便找到临界点。

检查差异:

负载与压力测试

 

应力性能测试 负载测试是计划测试,以对系统执行指定数量的请求,以便在特定级别的同时请求下测试系统的功能。 负载测试可确保 Web 系统能够处理预期的流量,因此有时称为流量测试。 负载测试的目标是证明系统能够以最小到可接受的性能降级来处理预期卷。 测试人员必须将可接受的性能降级阈值定义为最终用户认为可接受的值,以便用户不会从站点中反弹。

压力测试是一种测试,旨在增加系统中同时请求的请求数,超过性能下降的点,甚至可能到完全故障点。 如果负载测试在同时用户数中达到峰值,则基本压力测试将继续增加系统的负载,直到资源过载。 这会将系统推入可能失败的状态,以查看系统如何处理它以及系统是否可以执行正常恢复。

在这些负载测试和压力测试的定义中,我们发现它们肯定不是完全独立于彼此的。 通常,在运行负载测试的上限时,您可能有效地运行压力测试,将系统推过可用资源的极限。 此时,您可能会开始看到负载测试中的故障与运行压力测试时通常看到的故障相同。

何时选择负载测试或压力测试

 

负载测试和压力测试之间的一个区别是,您可以将暂停注入负载测试以模拟实际用户流量。 通过压力测试,您可以尽可能快地同时运行用户,以生成压力测试的过多流量。

负载测试的目标与压力测试的目标大不相同。 执行负载测试,以确保网站或 Web 应用程序能够同时处理特定数量的用户。 负载测试通常用于容量规划过程中,以确保系统能够处理增长到指定的同步流量水平。

压力测试用于将系统特别推送到其预期容量之外,以识别开始减速的组件、识别系统中的瓶颈并揭示可能的故障点。

通常用于负载和压力测试:
建立基准绩效指标

负载测试通常作为一系列步骤执行,其中测试系统启动已知由基础结构支持的一组同时用户。 这将建立一组基准性能数据,以在整个测试过程中同时增加用户数。 此基线测试有时称为性能测试。 性能测试可以帮助确定几个不同的基准,如平均连接速度、平均延迟和下载固定大小文件的平均时间等。

一旦知道基准性能值,用户数将增加到在示例期间实际预期访问站点的数字。 然后,测试通常会在该静态用户数运行几分钟,以便在系统稳定到新的负载级别后验证网站的稳定性。

虚拟用户

在负载测试期间建立基准性能指标和压力测试之间的一个区别是,基准和峰值性能之间的差值将有助于确定您是否拥有处理峰值负载的适当系统,而在压力测试期间,您更关心系统变得有压力的点,甚至可能停止正常工作。

负载或压力测试,以识别 Web 应用瓶颈

基于 Web 的应用程序通常在浏览器中运行,并且由于异步性质,如果编程正确,可能会同时处理数百或数千个用户。 如果您在系统容量内生成预期负载,则应用程序的响应时间应保持在生成的准则内。 如果将系统推送到这些限制之外,则进入压力测试领域,故意使系统承受压力,以识别发生故障的组件。 因此,为识别瓶颈而执行的任何测试通常被视为压力测试。

斯拉报告
负载测试以建立服务级别协议 (SLA)

 

负载测试最好在生产环境中执行,以了解预期用户负载下的平均响应时间。 这些平均响应时间成为可接受的 SLA 的基线。 从这里,您决定根据 SLA 在客户的预期性能方面认为不可接受的其他阈值。

容量规划的负载测试

在 Web 应用程序上生成增加的负载有助于预测将来较重的用户负载的应用程序性能。 如果应用程序在您的 SLA 参数内响应,则此类测试通常将被视为容量规划中成功的组件。 如果测试期间记录的性能指标超出理想的参数,则负载测试可能会成为压力测试,因为您将系统推向其可用容量之外。

压力测试 Web 应用程序基础结构

确定基础结构中每个组件将发生故障的点是维护可扩展 Web 应用程序的关键部分。 有效的应力测试允许您通过一系列不同的测试隔离每个组件,以确定该组件的故障点。 此类测试可能包括:

  • 将所有流量隔离到特定地理区域。
  • 人为地限制可用的磁盘空间。
  • 反复发送一个特别大的 GET 请求。
  • 限制数据连接的最大数量。
  • 下载大图像文件。
  • 反复发送大量写入数据库的密集帖子。

每个测试都旨在强调基础结构的特定组件,以确定故障点、故障率和系统容量的上限。 压力测试可以帮助识别瓶颈,在短暂的紧张负荷,如病毒营销,国际新闻识别和沉重的网上购物日,如黑色星期五。

负载测试和应力测试之间的差异

LoadView 摘要

压力测试通常会使系统的一部分或另一部分达到最大值,最终导致减速,然后崩溃或无响应。 确定系统中哪些组件在测试过程中首先遇到问题非常重要。 因此,我们建议您在执行压力测试时监控多个组件。 值得注意的是,根据您的环境/系统中使用的应用程序、软件甚至技术,您在压力测试中衡量的指标可能会有所不同。 但是,以下列表复合

  • 响应时间。 发送请求后接收响应所需的时间。 这对于测量用户感知的响应时间尤为重要
  • 硬件限制。 这包括监控 CPU 使用情况、内存、磁盘 I/O。 如果响应时间延迟或延迟,这些硬件组件可能是潜在的罪魁祸首。
  • 吞吐量. 根据您的带宽水平,在测试期间发送/接收的数据量。
  • 数据库读写。 如果您的应用程序使用多个系统,压力测试可以指示哪个系统或单位是瓶颈。
  • 打开数据库连接。 大型数据库会严重影响性能,减慢响应时间。
  • 第三方内容。 网页和应用程序依赖于许多第三方组件。 压力测试将显示哪些可能会影响您的页面或应用程序的性能。

如果您在服务器端没有适当的监控系统,Dotcom-Monitor 平台将提供 性能计数器监控解决方案 ,用于完整的端到端服务器性能监控。 这些性能计数器直接安装在您的服务器上,以监控 Windows、Linux 或 SNMP 性能计数器。 此外,还有一个解决方案,用于监控来自您的设备和服务器的任何自定义性能计数器。 有关性能计数器监控的更多信息,请访问我们的性能计数器监控解决方案页面。

这些项目中的任何一个问题可表现为:

  • 减慢第一个数据包响应。
  • 获取/POST 请求和响应之间的长时间延迟。
  • 比正常页面加载时间长。
  • 网页加载计时。
  • 服务器错误代码返回。

虽然在负载测试期间最初可能会检测到这些相同的问题,但负载测试背后的理念通常是模拟系统应该能够定期处理的预期负载。 有时,当资源分配给增加的负载时,系统可能会短暂地遇到减速,但在大多数情况下,系统应该能够从初始分配中恢复,并在负载测试下恢复正常性能。

如果负载测试继续检测问题,则需要仔细查看系统性能计数器,以确定减速或故障的根本原因。 这是当负载测试基本上成为压力测试,因为负载意外地导致性能问题。 联系我们的团队进行 负载视图平台的演示。 性能工程师将引导您完成整个负载和压力测试过程。 从显示如何为网页或 Web 应用程序场景创建脚本,到配置和启动测试,他们将带您完成整个过程并回答您一路上可能遇到的任何问题。

今天运行负载或压力测试!

没有信用卡。 没有承诺。 按你走就付。