gpt4 book ai didi

postgresql - 根据监控,我们是否需要为使用 60 IOPS 的 RDS 实例预配置 IOPS?

转载 作者:行者123 更新时间:2023-11-29 11:26:48 39 4
gpt4 key购买 nike

我们有 PostgreSQL 实例每秒处理数十个 r/w 查询。

  • 实例类型:db.m3.2xlarge
  • 实例预置 IOPS (SSD):1000
  • 实例存储大小:100GB,数据库大小约为5-10GB。

它正在为数百个具有读写查询的并发客户端提供服务。然而,当我们查看 Cloudwatch Monitoring 时,它显示 IOPS 在 20-60 范围内。

Read iOPS 大约为 0!

enter image description here

这对 100 多个连接和始终执行读/写查询的客户端来说是不对的吗?Postgres 配置是标准的,我们没有关闭 fsync。

缓存是否如此有效以至于 IOPS 不是 5GB 数据库大小的一个因素?还是 AWS 监控控制台错了?

为此数据库实例支付 1000 IOPS 需要额外支付 300 美元。您可以购买的最低 IOPS 是 1000。

我想知道我们是否可以不用 IOPS?

  • 或者 AWS 监控不正确?
  • 或者如果我们有非 IOPS 服务器,我们现在拥有的 20 IOPS 会降低服务器性能吗?
  • 或者对于 5GB 的数据库,它主要适合缓存,而 IOPS 不是一个因素?

最佳答案

@CraigRinger 是正确的。如果您的数据集小到足以完全放入内存,则不需要预配置 IOPS,因为插入/更新流量和日志是唯一消耗 IOPS 的部分。

但万一有人找到这个主题,下面是您用完 GP2 学分后 CloudWatch 的样子。如您所见,读取和写入 IOPS 图表并没有告诉我们太多信息,但读取/写入延迟图表显示了巨大的峰值。

就上下文而言,这些是用于分析的 PostgreSQL 只读副本的 2 周。从 100GB GP2(300 Base IOPS,11.50 美元/月)到 100GB io1(1000 IOPS,112.50 美元/月)的切换发生在这些图表的 2/3 左右(没有更多的延迟峰值)。更便宜的选择是增加 GP2 存储的数量。预配置 IOPS 的价格高得离谱,但在这种情况下,重工作负载期间的可预测行为是有道理的。

RDS Cloudwatch Graphs: Read/Write Operations RDS Cloudwatch Graphs: Queue Depth, Replica Lag, R/W Latency

关于postgresql - 根据监控,我们是否需要为使用 60 IOPS 的 RDS 实例预配置 IOPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27558495/

39 4 0
文章推荐: mysql - 来自另一个 SQL 的列的子字符串
文章推荐: mysql - 从多个表中选择数据并在mysql中分组
文章推荐: php - 如何从数据库中放入