在弹性 beantalk 环境中负载测试并发用户

Posted

技术标签:

【中文标题】在弹性 beantalk 环境中负载测试并发用户【英文标题】:Load test concurrent users in elastic beanstalk environment 【发布时间】:2018-09-18 21:02:03 【问题描述】:

我在弹性 beanstalk 环境中配置了我的 laravel 应用程序(服务于 Rest API)。目前我已经在应用程序负载均衡器下配置了 1 个 t2.medium Ec2 实例。如何加载测试来检查环境可以处理的最大并发用户数?

【问题讨论】:

旁注:如果您的压力测试量很大并且出现大幅峰值,您将需要联系 AWS 以预热 ELB。 【参考方案1】:

负载测试可以像 ping Beanstalk 应用程序的 health-check URL 一样简单。

    用您选择的语言编写一个线程/并发程序,用 HTTP 请求轰炸您的 Beanstalk 应用程序,以引发 HTTP 200 响应。

    在足够高的请求率(您可以通过提高并发程度来促进)时,您可以观察到自动缩放启动以启动我的环境的更新实例。

    对于来自并发程序的每个请求,您应该检查响应是否为 200 OK,如果没有将其记录为异常。

    测量请求和响应之间的平均时间,以指示您的响应是否滞后。

您可以使用您希望在您的应用程序中最流行的操作重复上述过程。

这样一个合理的操作是用户登录,您需要在(开发)数据库中设置大量虚拟用户。现在,您无需请求运行状况检查 URL,而是使用每个用户的身份验证凭据向应用程序的 /login URL 执行 POST 请求。

【讨论】:

谢谢,progfan ...这真的很有帮助。

以上是关于在弹性 beantalk 环境中负载测试并发用户的主要内容,如果未能解决你的问题,请参考以下文章

在弹性 beantalk 环境之间切换 CNAME 时出现延迟

如何使用弹性 beantalk 加密负载均衡器和 Web 服务器之间的流量

在弹性 beantalk 和 kubernetes 之间分配的应用程序负载均衡器

如何使用 https 在弹性 beantalk 中配置单个 ec2 实例

aws 弹性负载均衡器可以将端口 443 转发到端口 443 以获取弹性 beantalk 实例吗?

如何在弹性 beantalk 负载均衡器中设置自定义标头相关规则