gpt4 book ai didi

amazon-ec2 - 测试 Amazon EC2、RDS 和 ELB 性能

转载 作者:行者123 更新时间:2023-12-03 09:53:20 26 4
gpt4 key购买 nike

我有一个运行在亚马逊网络服务上的 PHP 应用程序。这是一个相对简单的 PHP 脚本,它基本上对 SQL 数据库进行了简单的写入。这个数据库是一个超大的RDS实例。 PHP 在负载均衡器后面的大型 EC2 实例上运行。

我想做的是对我的脚本进行压力测试,以模拟大约 800 个同时连接的用户(是的,这确实是估计值)。

我听说过 Siege,但我不确定如何使用它来测试我的应用程序。如果我尝试从家里的连接运行它,我不确定我的 PC/ADSL 是否足够快来创建足够的流量来模拟 800 个用户同时攻击 EC2(因此是 RDS)。

是否建议在另一个区域中启动另一个 EC2 实例来简单地“围攻”我的应用程序?或者可能运行 2 个 EC2 实例,每个实例都有 400 个用户!?

人们希望这将彻底测试负载平衡、RDS 和 EC2。

有没有人有这种高并发用户测试的经验?

安迪

最佳答案

我写了一个脚本,可能会帮助您解决所需的问题,详细信息 here , 来源 here .

但首先,实际上,这是最重要的事情,您需要考虑什么定义了“用户”。虽然在描述性术语中似乎很明显,但在技术术语中,您需要开始谈论每秒请求数。

现在,bug 负担已经解决了,要使用 ELB 对 Amazon 运行负载测试,您可能想了解一些事情。

  • 在这种负载下,您很可能需要让亚马逊“预热”一些东西。上次我研究这个时,我发现 ELB 本质上是一个运行在简单实例上的软件负载均衡器。像所有事情一样,这些实例有吞吐量限制,并且往往会在每秒(非常模糊)40 个请求左右达到最大值。它们会自动缩放,但此算法不适合负载测试,因此预热是亚马逊预先启动 X ELB,其中 X 基于您在请求中提供给他们的信息(请参阅我关于每秒请求的第一点,而不是用户)。
  • ELB 可以缓存 DNS,这在负载测试中可能会导致问题。如果您的测试工具是基于 Java 的(如 JMeter),请使用:-Dsun.net.inetaddr.ttl=0

  • 无论您选择哪种解决方案,请务必意识到您的测试本身可能成为瓶颈,您应该先检查这一点,然后再指责您正在测试的应用程序。

    关于amazon-ec2 - 测试 Amazon EC2、RDS 和 ELB 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11726996/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com