我读过很多关于这个主题的帖子,但没有一篇讨论 AWS RDS MySQL 数据库。从三天前开始,我在 AWS EC2 实例中运行 python 脚本,在我的 AWS RDS MySQL 数据库中写入行。我必须写 3500 万行,所以我知道这需要一些时间。我定期检查数据库的性能,三天后(今天)我发现数据库变慢了。开始时,前 100,000 行仅在 7 分钟内写入(这是我正在处理的行的示例)
0000002178-14-000056 AccountsPayableCurrent us-gaap/2014 20131231 0 USD 266099000.0000
Run Code Online (Sandbox Code Playgroud)
三天后,数据库已经写入了5,385,662行,但现在写入100,000行需要将近3个小时。怎么了?
我正在运行的 EC2 实例是 t2.small。如果需要,您可以在此处查看规范:EC2 SPECS 。我正在运行的 RDS 数据库是 db.t2.small。在此处查看规格:RDS 规格
我将在此处附上一些有关数据库和 EC2 实例性能的图表: Db CPU / Db 内存/ Db 写入 IOPS / Db 写入吞吐量/ EC2 网络输入(字节) / EC2 网络输出(字节)
如果你能帮助我,那就太好了。非常感谢。
编辑 1:我如何插入行? 正如我之前所说,我有一个在 EC2 实例上运行的 python 脚本,该脚本读取文本文件,使用这些值进行一些计算,然后将每个“新”行写入数据库。这是我的一小段代码。 我如何阅读文本文件?
for i in path_list:
notify("Uploading: " + i)
num_path = …
Run Code Online (Sandbox Code Playgroud)