我有一组用于测试 REST API 的 Locust 测试。
在 EC2 实例上运行时,这些 Locust 测试的性能极差。
我在 Vagrant VM 环境中开发测试,使用一台 VM 作为 Locust 主机,一台 VM 作为 Locust 从机。
无需任何努力调整测试,我的 Vagrant 开发环境可以运行 200 个用户并生成 50 rps。
但是,如果我在 EC2 上运行完全相同的 Locust 测试并访问完全相同的 API 主机,那么性能会很糟糕。
使用 C3.large 实例作为主实例和 C3.2xlarge 实例作为从属实例的示例:
如果我指定 300 个用户 Locust 将以指定的生成率生成 100 个左右,那么只会非常缓慢地添加新用户。它通常会减慢到永远不会真正创建 300 个用户的程度。充其量我得到5 - 8 rps。
我不确定从哪里开始寻找性能差异。是蝗虫主人还是奴隶?它是 EC2 特有的吗?