【问题标题】:IOPS limits on EC2 with EBS mounting安装 EBS 的 EC2 的 IOPS 限制
【发布时间】:2020-10-05 22:55:19
【问题描述】:

我在 EC2 实例中不使用 EBS 的 IOPS 限制上发布了 question。此问题涉及具有弹性块存储的 EC2 实例。环境是这样的——

  • 两个 c4.8xlarge EC2 实例,一个 c4.8xlarge 实例支持 500 MB/s 吞吐量
  • 连接池为2049
  • 摆脱DNS Cache
  • 每个实例 120 GB 的 EBS 存储
  • 使用 JMeter 2.13 在分布式模式下使用 10 个 m4.4xlarge 实例对应用程序进行了一小时的负载测试
  • 使用 700 个线程执行测试,加速周期为 30 分钟,然后继续使用所有 700 个线程执行 30 分钟。
  • 有两个 API 正在进行负载测试,一个具有写入操作(发布请求),另一个具有读取操作(获取请求)
  • 测试达到 7800 个请求/秒的读取操作吞吐量和 300 个请求/秒的写入操作,400 个线程,并且无论线程​​增加到 700 个线程,都保持在 ~7800 个请求/秒。
  • 以下是 EBS 测试期间的读取和写入吞吐量图表 -

  • 这就是测试期间平均读取和写入大小的显示 -

考虑到上面的图表,我可以安全地假设我没有受到 IOPS 限制吗?

【问题讨论】:

标签: amazon-web-services amazon-ec2 jmeter amazon-ebs


【解决方案1】:

每秒 7800 个请求。每个请求为 4 KB 用于读取。因此,总计为 31200 KB,大约为 31 MB/秒。根据您的数据,写入速度约为 18 MB/秒。对于 c4.8xlarge,每秒 500 MB 是最大值:EBS EC2 Config

吞吐量取决于 EBS 卷大小。当前比例为 30:1,根据:EBS IOPS:GB ratio

因此,对于 c4.8xlarge 上的 120 GB,您需要获得 3600 Mbps 或 450 MB/秒。

另外,您是否尝试过增加 m4.4xlarge 实例的数量或使用功能更强大的 m4.10x 实例。可能这也可能是一个瓶颈。 运行测试时这些实例的 CPU 使用率是多少?

【讨论】:

  • 因此考虑到读写操作,总 IOPS 约为 50MB/秒(即 31MB/s 和 18MB/s),并且鉴于 c4.8xlarge 的最大带宽为 500MB,我的 IOPS 远低于限制,不是吗?
  • 另外,据我所知,最大吞吐量是您的 EBS 容量 (GB) 的 30 倍。因此,对于 120,您可以获得 3600 Mbps 或 450 MB/秒的吞吐量。根据上述文档,c4.8xlarge 的最大速度为 4000 Mbps 或 500 MB/秒。因此,对于 120 GB EBS,限制为 450。此外,编辑了答案以包含此内容。
  • 另外,您是否尝试过增加 m4.4xlarge 实例的数量或使用功能更强大的 m4.10x 实例。可能这也可能是一个瓶颈。运行测试时这些实例的 CPU 使用率是多少?
  • 测试代理在测试执行期间显示最小的 cpu 或平均负载。从 6 个测试代理(每个测试代理有 110 个线程)运行测试时,我达到了相同的吞吐量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 2015-01-18
  • 1970-01-01
相关资源
最近更新 更多