什么是自动缩放?

弹性伸缩是一种与 云计算 相关的方法,可根据需要随时自动增加或减少应用程序中的资源数量。 在使用云计算之前,自动 扩展服务器安装非常困难。 在物理托管环境中,您的硬件资源是有限的,因此我们将在应用程序中遇到性能下降,或者我们的 应用程序将崩溃

如今,云计算可以创建可扩展的服务器设置。 如果您的应用程序需要更多的处理能力,自动缩放为用户提供了根据需要使用和终止额外资源的能力。 自动缩放仅在必要时提供高效的资源使用方式,确保您的应用程序在需求增加/减少时具有容量,最重要的是,可防止您支付超过组织需求的费用。 让我们深入探讨自动缩放、工作原理以及它为组织提供的好处。

 

为什么需要自动缩放

当应用程序需要额外的服务器资源来容纳 页面请求或呈现的数量时,Auto Scaling 非常实用。 它为您提供了自动扩展或缩小以满足您需求的可扩展功能。 自动缩放具有以下优点:

  • 自动扩展允许某些服务器在低负载时间进入睡眠模式,从而降低成本。
  • 增加正常运行时间,提高工作负载变化的可用性。
  • 在前端站点上,它能够根据收到的请求数量进行扩展。
  • 在后端,它提供基于工作数量和队列中工作时间的缩放。

 

使用 LoadView 确保自动缩放正常工作

LoadView 是一个基于 Web 的负载测试解决方案,可以测试从 API 和网页到内部/外部 Web 应用程序中的复杂用户方案的所有内容。 Loadview 与它运行的报告共享测试,这些报告可帮助查找导致系统运行速度减慢或延迟的问题和故障。 例如,在对网页进行负载测试时,可以针对数百到数千个 并发 用户测试特定页面,以查看页面在特定负载级别下的性能。

测试用户路径时,LoadView 与 EveryStep Web 记录器一起将屏幕转换为脚本,以测试与应用程序的实时交互,捕获执行的所有操作,并在加载下重播。

 

负载视图设置

例如,我们将测试内部应用程序。 测试内部应用程序时,必须先将 IP 地址列入白名单,然后才能 对内部应用程序执行负载测试。 通过负载喷油器,我们可以对大量并发用户进行白名单 IP 和测试。

LoadView 主页打开,您将看到几个不同的选项,例如 Web 应用程序API网页、流媒体等。 我们将选择 网页 选项。

Web Page Test

 

将打开一个新页面,我们可以在其中添加运行负载测试所需的时间,添加我们的内部 网站主机名、浏览器等。 输入详细信息后,单击”创建 设备” 按钮。

内部应用程序负载测试

 

成功创建设备后,您将看到”测试方案”屏幕,您可以在其中设置和定义负载类型、负载喷油器位置等。 接下来,我们将选择 加载步骤曲线 选项。

内部应用程序负载测试负载曲线

 

加载视图将开始验证您是否有权访问内部应用程序。 选择 静态代理 并包括白名单 IP,然后 选择” 添加区域”以选择我们想要生成的流量的区域。 事实上,LoadView 平台可以帮助测试仅驻留在 防火墙后面的网络内的 Web 应用程序、网页、API 和其他 Web 服务。

LoadView 用户有几个选项可供选择,例如将 IP 地址列入白名单或安装本地代理(如果组织 出于安全原因无法向传入流量开放其网络)。 有关 防火墙后面负载测试的更多信息,请访问我们的知识库。

 

静态代理

 

完成后,选择”开始测试”。 我们需要在此屏幕的代理列表部分找到静态IP;加载创建者以访问需要进入 白名单的内部应用程序。 您可以在此屏幕上的代理列表中 找到静态 IP, 以便访问需要进入白名单的内部应用程序。

内部应用程序负载测试摘要

 

测试运行时,喷油器每次从白名单中检索新的唯一 IP 地址。 通过在白名单中使用静态 IP,我们可以通过我们在应用程序中创建的测试的面板和图形来查看性能。 下面显示了一个示例。

平均用户数平均响应时间

具有“平均响应时间”图的并行平均用户数。

 

 

随着负载的增加,监控 AWS 中的其他资源

 

云观察指标

借助 CloudWatch,我们可以获取有关数据的统计信息。 我们使用指标来检查我们的系统是否按预期工作。 您可以创建 CloudWatch 警报来跟踪特定指标并在邮件中接收警报通知。 当请求通过负载均衡器并每分钟测量弹性负载平衡指标并将其发送到 CloudWatch 时,负载平衡仅向 CloudWatch 报告数据。

 

云观察指标

 

查看负载均衡器的云观察指标

您可以使用 EC2 控制台查看负载均衡器的 CloudWatch 指标。 如果启用了负载均衡器并接收请求,我们可以查看数据点。

 

访问日志

通过访问日志,我们可以分析流量,并使用它们来修复我们的问题。 我们还可以在 Amazon S3 中存储我们对负载均衡器的请求作为日志文件。

 

请求跟踪

负载平衡器为收到的每一个请求添加跟踪标识符,以便您可以监控 HTTP 请求。

 

云轨日志

使用 CloudTrail,可以跟踪所有用户帐户进行的交易日志。 这样,您可以管理授权和访问请求。

 

通过自动缩放确保不会降低用户体验

CloudWatch 合成产品允许您监控用户性能。 它提供了更好的性能和可用性概述,因此您可以 更早地发现问题并更快地做出响应,从而提高客户满意度并确保您的应用程序能够更好地响应请求。 金丝雀是用来让我们预警的。 对于金丝雀使用,我们 单击 CloudWatch 控制台中的金丝雀,您可以在单个屏幕上观察所有金丝雀的状态。

 

云观察金丝雀

 

让我们来看看金丝雀在数据上的表现。 为此,当我们检查金丝雀运行部分中的单个数据点时,您可以看到每个基准点是为一个金丝雀执行的研究的总和。

在下面的屏幕截图中,您可以看到有一个超时器主题为 24 小时。 我们还可以看到使用 HAR 文件和日志获取的屏幕截图。 在每个 HAR 记录中,我们可以看到响应和请求以及为金丝雀提出的 HTTP 请求的经过时间。

 

云观察哈文件

 

金丝雀任务使用 lambda 函数完成。 从”指标”选项卡中,您可以访问函数的执行指标。

 

孵化金丝雀

要创建金丝雀,我们按金丝雀创建它。 我们可以从复选框中选择、加载现有脚本或从 Amazon S3 导入。

云观察创建金丝雀

 

由于我们创建的方法,将创建运行一次脚本或定期运行脚本。 当为 API 终结点创建金丝雀时,我们可以使用 GET 或 PUT 方法请求 HTTP 标头。 我们还可以通过 GUI 创建金丝雀构建流程。 我们可以很容易地给我们的金丝雀功能。 金丝雀脚本使用 Syn-1.0 操作时间。 您可以在下面看到示例脚本。

金丝雀脚本

 

在脚本中,我们可以看到成功的结果和错误为例外。 我们为脚本创建数据保留期。 我们选择S3桶的结构,将形成后,我们的金丝雀的每一个工作。 在创建金丝雀期间,我们还可以设置一些设施,如 IAM(身份和访问管理)角色、云监视警报、VPC(虚拟专用云)设置和标签。

 

结论:在 AWS 中测试自动缩放

为了防止我们的用户因降级而受到不利影响,我们可以使用金丝雀在用户之前检测可能的问题,记录他们,并介入早期阶段并更快地响应它们。 此外,由于我们的金丝雀提供的警报,我们可以增加来源,当需要,这也防止用户受到负面影响。

更重要的是,为了最大限度地提高客户满意度并确保您的应用程序能够更好地响应请求,CloudWatch 合成版与 LoadView 平台相结合,可以帮助您更好地了解性能和可用性,并确保自动缩放在负载测试期间按预期执行。

注册 LoadView 免费试用版 ,立即开始对您的所有网页、应用程序和 API 进行 性能测试

或者,如果您希望首先看到 LoadView 解决方案在起作用,请注册您自己以及您团队中的其他人,与我们的性能工程师一起进行私人演示。 它们将提供一个全面的演示,涵盖从创建和编辑负载测试脚本到配置和执行负载测试场景和分析报告的所有内容。 安排您的演示