fbpx

负载测试与压力测试

负载和压力测试比较

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

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

检查差异:

负载与压力测试

 

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

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

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

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

 

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

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

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

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

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

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

虚拟用户

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

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

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

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

 

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

容量规划的负载测试

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

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

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

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

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

负载测试和压力测试的区别

LoadView 摘要
压力测试通常会使系统的一部分或另一部分达到最大值,最终导致减速,然后崩溃或无响应。 确定系统中哪些组件在测试过程中首先遇到问题非常重要。 因此,建议在执行压力测试时监视许多组件。

在压力测试中,您可能监视的事情:

  • 带宽
  • CPU 使用率
  • 可用内存
  • 磁盘 IO
  • 数据库读取和写入
  • 打开数据库连接
  • 第三方内容

如果服务器端没有足够的监控系统,Dotcom-Monitor 提供一种名为 MetricsView 的产品,您可以直接安装在服务器上以监视 Windows 或 Linux 性能计数器以及 SNMP 消息。

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

  • 缓慢的第一个数据包响应
  • GET/POST 请求和响应之间的长时间延迟
  • 页面加载时间高于正常
  • 网页超时
  • 返回服务器错误代码

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

如果负载测试继续检测问题,则需要仔细查看系统性能计数器,以确定减速或故障的根本原因。 这是当负载测试基本上成为压力测试,因为负载意外导致性能问题。

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

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