我有一个PYTHON脚本,该脚本使用多重处理将数据从DB2 / Oracle数据库提取到CSV并提取到Snowflake。当我运行此脚本时,性能良好(在75秒内提取大型数据集的源表)。因此,我制作了此python脚本的副本,并更改了输入参数(基本上是不同的源表)。当我同时运行所有这些python脚本时,性能会受到影响(对于同一张表,它会在100秒内提取出来),有时我会看到错误“无法分配内存”。
我正在使用Jupyter Nootebook,所有这些不同的python脚本都将不同的源表提取到CSV文件中,并将其保存在同一服务器位置。
我也在自己检查。但任何帮助将不胜感激。
谢谢 巴拉
答案 0 :(得分:0)
如果您正在运行多个使用multiprocessing
并同时写入同一磁盘的脚本,最终将遇到瓶颈。
可能是并发访问数据库,磁盘写入速度,已用内存量或CPU周期。如果不进行测量,这里的问题到底是什么?
但是例如与目前的CPU速度相比,将内容写入HDD的速度非常。
此外,当您运行使用multiprocessing
的多个脚本时,您的工作进程可能比CPU具有内核的工作进程更多。在这种情况下,将有一些工作进程一直在等待CPU时间。