首页 > 解决方案 > AWS 中无服务器应用程序的性能测试

问题描述

在传统的性能自动化测试中:有一个应用服务器接收所有的请求命中。所以在这种情况下;我们有服务器配置(CPU、RAM 等),可以使用 Jmeter 或任何负载测试工具执行负载测试(比如说 5k 并发用户)并检查服务器性能。

在 AWS 无服务器的情况下;没有服务器——可以这么说——所有服务器都由 AWS 管理。因此,代码仅驻留在 lambda 中,并且由 AWS 在运行时决定执行负载平衡,以防服务器上有大量数据。

所以现在;我们有一个使用无服务器框架托管在 AWS 上的 Web 应用程序,我们希望测量 5K 并发用户的性能。没有服务器后端信息;这里唯一的选择是依赖前端或基于浏览器的响应时间——这是否足够?有没有更好的方法来检查无服务器应用程序的性能?

标签: amazon-web-servicesperformance-testingserverless

解决方案


我没有使用 AWS,但在我看来,无服务器应用程序的性能测试应该与使用自己的物理服务器的传统方式几乎相同。

尽管名称为无服务器,但仍使用物理服务器(尽管由 aws 管理)。

因此,我将通过以下步骤来完成这项任务:

  • 将后端指标(响应时间、请求计数等)发送到某些指标系统(graphite、prometheus 等)

  • 在此度量系统中构建仪表板(理想情况下,您应该看到每个实例的请求数和响应时间以及实例数)

  • 使用负载测试工具(jmeter、gatling 或其他工具)并开始您的负载测试场景

在测试期间和测试之后,您将看到您的应用程序处理了多少请求、响应时间以及如何根据并发请求更改实例数。

因此,在这种情况下,您将无法使用 aws 管理工具(但可能 aws 有一些管理仪表板,然后比较它们的结果会很好)。


推荐阅读