【发布时间】:2017-03-24 01:22:04
【问题描述】:
我们在 EBS 上使用 Postgresql 作为服务器,容量为 1TB,数据写入操作性能非常好,直到 0.7M(6-70 万次查询)操作之后写入速度开始下降。
需要 0.02 秒才能完成的查询开始需要 10-12 秒。
免责声明:我们有一个包含 26 个表的写入繁重的数据库,它们在 26 个不同的表中执行写入操作。
问题在于,在我们的案例中,CPU 使用率不会超过 40%,而 RAM 始终有 1.5GB 可用内存。
我们进行了以下实验:
- 使用了 300GB gp2 卷,带和不带 EBS 优化实例。
- 使用了 300GB 卷,具有 PIOPS(具有 15000 IOPS)且没有 EBS 优化实例。
- 使用 1TB gp2 卷,带和不带 EBS 优化实例。
- 已使用 1TB 卷与 EBS 优化实例和
io1(PIOPS 为 15000)
针对 EBS 优化实例的 r3.large, 4 core, 30.5GB RAM 和非 EBS 优化实例的 t2.medium, 2 core, 4GB RAM 执行实验。
这是 Postgres 还是 EBS 的问题?
【问题讨论】:
-
您使用的是 EBS 优化的 EC2 实例吗? EBS 卷上的 IOPS 指标是什么样的?它是 gp2 EBS 卷还是 io1 EBS 卷?听起来您正在使用 gp2 卷并消耗您的突发 IOPS 积分,如果是这样,您可能需要切换到预配置的 IOPS (io1) EBS 卷。您可能还需要考虑将 EBS IO 分布在 RAID 配置中的多个卷上。
-
@MarkB 使用有关 EBS 卷的所有详细信息(即 PIOPS 和 EBS 优化实例)更新问题,是的,我怀疑 RAID 是否真的会提高我的性能,所以没有使用它。
-
' 其余卷与 t2.micro、2 核、4GB RAM 相连。' :-- 请解释“其余卷”的含义。而 AFAIK,只有 t2.medium 配备 2 核 4GB RAM。
-
@mootmoot 是 *在 t.micro 上完成的剩余实验,我在 EBS 优化实例(即 r3.xlarge)上做了一些实验,在非 EBS 优化实例上进行了一些实验,即 t2.micro .谢谢指正
-
你的意思是你也启动 t2.micro 来运行 Postgresql 来执行那些测试?一旦你用完 t2 CPU credit ,它就会被限制。并且不会超过 40%。
标签: postgresql amazon-web-services amazon-ec2