gpt4 book ai didi

python - 使用python多处理器将数据导入到mysql RDS - RDS

转载 作者:行者123 更新时间:2023-11-29 22:45:54 27 4
gpt4 key购买 nike

当我在 python 中使用多处理器运行数据导入器时,发生了一些非常奇怪的行为。我相信这是一个数据库问题,但我不知道如何追踪它。下面是我正在做的过程的描述:

1) 运行 XX 个处理器的多处理器文件,执行第二部分和第三部分

2) 队列处理器,循环访问 sqs 队列来提取公司 ID。这个id用于拉取存储在mysql中的json字符串。这个json字符串作为json对象加载并发送到解析文件,该解析文件对数据进行规范化,以便可以将其作为规范化数据导入到mysql中。

3) 公司解析器/导入器读取 json 对象并创建插入到 mysql 数据库中,从而规范化数据。这些以 XXX 大小的批处理批量插入到 RDS 中,以缓解 IOPS 问题。

此代码从 c4.Large 实例运行并且有效。启动后,它运行速度很快(每分钟约 30,000 次插入),而不会耗尽 RDS 或 ec2 实例上的 IOPS、CPU 或其他资源。然后,经过一定时间(5-30分钟)后,RDS服务器的CPU下降到~20%,并且出现奇怪的心跳类型的节奏。我尝试启动额外的 ec2 实例来加速此过程,但导入速度保持不变且缓慢(每分钟约 2000 次插入),因此我认为瓶颈在于 RDS 实例。我尝试将 RDS 实例的大小从中型更改为大型,但没有任何变化。我还尝试将 RDS 实例的 IOPS 更改为配置为 10k 的 SSD。这也没有解决问题

据我所知,RDS 服务器存在某种限制或限制。但是,我不知道还能去哪里寻找。没有关于受到限制的危险信号。

您能否提供发生此类行为的其他潜在原因?我不知道还要测试什么。

当前设置为 500gb t2.medium RDS 实例,写入 IOPS 约为 200,CPU 约为 20%,读取 IOPS < 20,队列 < 1,稳定的 12 db 连接(这不是连接然后断开),以及大量可用内存。

最佳答案

我通过将实例类型升级为 m3.Large 实例(没有 CPU 积分限制)解决了这个问题。现在一切正常。

关于python - 使用python多处理器将数据导入到mysql RDS - RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129589/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com