Python-运行使用多重处理的多个python脚本有时会影响性能和错误

时间:2020-10-09 20:17:51

标签: python-3.x multiprocessing subprocess pool

我有一个PYTHON脚本,该脚本使用多重处理将数据从DB2 / Oracle数据库提取到CSV并提取到Snowflake。当我运行此脚本时,性能良好(在75秒内提取大型数据集的源表)。因此,我制作了此python脚本的副本,并更改​​了输入参数(基本上是不同的源表)。当我同时运行所有这些python脚本时,性能会受到影响(对于同一张表,它会在100秒内提取出来),有时我会看到错误“无法分配内存”。

我正在使用Jupyter Nootebook,所有这些不同的python脚本都将不同的源表提取到CSV文件中,并将其保存在同一服务器位置。

我也在自己检查。但任何帮助将不胜感激。

谢谢 巴拉

1 个答案:

答案 0 :(得分:0)

如果您正在运行多个使用multiprocessing并同时写入同一磁盘的脚本,最终将遇到瓶颈。

可能是并发访问数据库,磁盘写入速度,已用内存量或CPU周期。如果不进行测量,这里的问题到底是什么?

但是例如与目前的CPU速度相比,将内容写入HDD的速度非常

此外,当您运行使用multiprocessing的多个脚本时,您的工作进程可能比CPU具有内核的工作进程更多。在这种情况下,将有一些工作进程一直在等待CPU时间。

相关问题