首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgres数据库10天后插入速度变慢,需要完全真空。

Postgres数据库10天后插入速度变慢,需要完全真空。
EN

Database Administration用户
提问于 2021-04-09 20:32:36
回答 2查看 2.1K关注 0票数 3

我们有一个postgres数据库,它在真空后的大小几乎是15 We。一个专用的硬件i,e 32 of的ram,12个核心。数据每天自动插入大约300 k,我们也会处理数据。数据在3个月后被删除,以降低db的大小。

通常插入速度为: 1200次/分钟

其中一个重要的表上有一个相当大的触发器(不幸的是,我们不能对它做任何事情),DB可以每分钟插入大约1200条记录,这对我们来说是可以接受的。这些记录不是批量插入,而是在处理后单独插入。

问题开始后:每分钟插入200次

大约10天前,我们的数据库突然变得非常慢,即每分钟200次插入。因此,经过几个不眠之夜,我们吸尘了十大最大的桌子,但只提高了性能到300插入每分钟。

真空后10张大桌子: 300片/分钟

因此,我们对整个数据库进行了真空分析,并列出了10个最大的表。这样做非常有效,我们对结果相当满意。

全真空分析和重新索引后: 1400插入/分钟

但10天后,我们又开始有同样的问题,现在插入回到200插入/分钟。我们没有改变postgres的任何配置。

10天后,返回到: 200插入/分钟

你能帮我找出问题吗?我知道这不是很多可以处理的信息,但是如果你们真的有这个问题的话,你可能会马上发现它。这可能是磁盘的问题还是死锁太多?硬盘可能不是一个问题,因为我们确实获得了良好的速度后真空,但请告诉我,如果你认为。

谢谢你帮我。

EN

回答 2

Database Administration用户

发布于 2021-04-14 11:21:13

如果在VACUUM ANALYZE之后恢复了性能,我会质疑这个表(S)是否是auto_vacuumed和auto_analyzed。

如果您查看pg_状态_用户_表格视图,last_autovacuumlast_autoanalyze的值是否合理?

如果表经常被锁定,那么自动真空可能无法运行。

票数 2
EN

Database Administration用户

发布于 2023-01-15 02:21:28

我对Postgre没有经验。但我也有过类似的使用不同数据库引擎的经验。基于此,我要说,插入事务没有被正确提交。也许它们是自动提交的。

我的建议是遍历所有查询,重新考虑所使用的事务和可见性。

票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/289575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档