AWS RDS慢速插入

问题描述:

我有一个关于在RDS中插入行的问题。 我在这个例子中插入了301119个记录在1个表中。AWS RDS慢速插入

这里我的日志上那些插入批次:

Amazon : 

2014-09-05 12:12:47,245 - Processing 30119 users 
2014-09-05 12:15:01,508 - 5000 users updated in transaction 
2014-09-05 12:17:29,672 - 10000 users updated in transaction 
2014-09-05 12:19:30,499 - 15000 users updated in transaction 
2014-09-05 12:21:38,866 - 20000 users updated in transaction 
2014-09-05 12:23:26,659 - 25000 users updated in transaction 
2014-09-05 12:25:16,727 - 30000 users updated in transaction 
2014-09-05 12:25:19,376 - 30119 users updated in transaction - DONE 
2014-09-05 12:25:19,379 - Process completed in **752134** ms 


Local : 

2014-09-05 12:33:20,767 - Processing 30119 users 
2014-09-05 12:33:39,692 - 5000 users updated in transaction 
2014-09-05 12:33:50,949 - 10000 users updated in transaction 
2014-09-05 12:33:59,476 - 15000 users updated in transaction 
2014-09-05 12:34:06,962 - 20000 users updated in transaction 
2014-09-05 12:34:14,874 - 25000 users updated in transaction 
2014-09-05 12:34:22,945 - 30000 users updated in transaction 
2014-09-05 12:34:23,111 - 30119 users updated in transaction - DONE 
2014-09-05 12:34:23,112 - Process completed in **62345** ms 

查询是1台一个简单的批量插入。

我的本地速度不是很快,而且这些结果很奇怪......在AWS中运行相同插入需要12倍以上......所以,出现了一些问题......这是一个配置问题或其他问题?

一些指针将非常欢迎:) :)

谢谢!

+0

你有什么样的实例类型?如果你有一个微型实例,这并不奇怪。 – 2014-09-05 20:57:12

+0

实际上,我们升级到5000个IOPS的X-LARGE,速度很慢,现在不是比我的本地慢12倍,而是慢了10倍...非常令人不安: -/ – julien 2014-09-08 15:08:20

+0

插入数据的过程是什么?该进程是否与RDS实例在相同的可用区中运行? – 2014-09-08 15:32:33

所以,我想通了!在搜索并调整配置之后,我们每秒大约有300次插入,我们禁用了innodb_flush_log_at_trx_commit(1 - > 0)和sync_binlog(1 - > 0),并且我们上升到1500-2000插入每秒! 因为我们可以丢失最后一次交易/提交如果数据库崩溃,所以我们去了,它现在正在快速发展!

希望它可以帮助一些其他人有同样的问题!

+0

您可以指导您如何做到这一点 – BastanteCaro 2016-09-16 12:26:50

+0

您必须转到AWS控制台。在其中您可以找到您的实例并修改这些设置。 – julien 2016-09-19 14:06:18

+0

@ julien是否可以将sync_binlog更改为0?更改后我需要重新启动实例? 我问,因为我不太清楚,而且我有同样的问题。我所有的插入和更新都很慢。 – Claytinho 2017-12-12 21:03:54