我们在EBS上使用Postgresql作为服务器,其容量为1TB,数据写入操作性能很好,直到0.7M(6-7万次查询)操作后,写入速度开始下降。
需要0.02秒才能完成的查询开始需要10-12秒.
免责声明:我们有一个包含26个表的写重数据库,它在26个不同的表中执行写操作。
问题是,在我们的情况下,CPU使用率不会超过40%,RAM总是有1.5GB的空闲内存。
我们进行了以下实验:
io1
(PIOPS为15000)在r3.large, 4 core, 30.5GB RAM
上对EBS优化的实例和非EBS优化的t2.medium, 2 core, 4GB RAM
进行了实验.
这是Postgres还是EBS的问题?
发布于 2017-03-23 17:22:04
因此,您的问题似乎是,经过一定的时间,您的写作性能放缓。
这可能有几个原因。
首先,在使用T2系列实例时,您将看到这种类型的行为--它们是可扩展的,但利用T2s可用的额外性能只会持续到您用完学分为止--然后实例恢复到其默认性能,并且在实践中使实例几乎不可用。您可以从T2监视器屏幕或CloudWatch监控EC2信用余额和信用使用情况。这可以帮助确定信贷枯竭是否导致了这一问题。
造成这一状况的另一个原因可能是EBS的可扩展性能。一般用途的SSD卷(gp2)支持多达3000 IOPS的突发。从2016年11月开始,AWS已经通过Cloudwatch公开了这个度量。因此,如果您正在执行大量IO (在负载测试期间您可能会预料到),那么您可能遇到的IO已经耗尽了它的突发平衡。
一旦确定了减速的原因(可能是问题的组合),您就可以确定解决问题的最佳方法。一个简单的解决方案是在测试中使用提供的iops (io1)卷。
https://stackoverflow.com/questions/42978454
复制相似问题