Postgres累积磁盘I / O

时间:2018-10-23 13:48:40

标签: python postgresql python-3.6

随着时间的推移,postgres阻止了我的SSD(256MB)出现问题。

我的应用程序有一个表,该表包含我预先创建的caseA - caseB对。使用并行工作程序,每个具有自己连接的工作程序都会运行一个选择查询-根据接收到的fetchall(),通过其主键(包括5秒,包括caseA-caseB pair)连接其他几个表。

然后,它对数据进行一些分析,并对其他两个表执行copy_from。人们认为,随着时间的推移,磁盘使用率会很高,并且积压的高峰会在400s处,并最终使我的系统停止运行。

我不明白为什么会发生以及如何预防?我们正在谈论的总数为6500万例。一个结果表将具有相同数量的行,但另一个结果表将具有更多-数亿条记录。

我曾尝试使用Semaphor来控制有多少工作人员可以下载/上传,增加work_memshared_buffers等。但这似乎只是推迟了问题。

几次跑步后,我为所有工人实施了睡眠时间,但这似乎无济于事,这就是为什么我认为问题必须在postgres内解决。

非常感谢您的帮助。

0 个答案:

没有答案