Amazon web services Amazon RDS批量插入比本地数据库慢?
我编写了一个节点程序,可以批量插入数据库,并为每个完成的插入做一个控制台日志Amazon web services Amazon RDS批量插入比本地数据库慢?,amazon-web-services,amazon-rds,Amazon Web Services,Amazon Rds,我编写了一个节点程序,可以批量插入数据库,并为每个完成的插入做一个控制台日志 function insert(){ var sql = "insert into todo (user, content) values (xx, xx);" + "insert into todo (user, content) values (xx, xx);" + "insert into todo (user, content) values (
function insert(){
var sql = "insert into todo (user, content) values (xx, xx);" +
"insert into todo (user, content) values (xx, xx);" +
"insert into todo (user, content) values (xx, xx);" +
(.... 4000 lines of insert)
db.insert(sql,function success(){
console.log('done');
});
}
for(i=0;i<10000;i++){
insert();
}
结果是,当RDS完成一次插入时,我的本地机器已完成24次插入。我试着把我的RDS升级到一个小实例上,没什么不同
我的问题是,为什么亚马逊rds在这种情况下速度较慢。有什么解决方案吗?我认为问题可能与微实例性能有关。经过一些测试,我们完全从微实例转移到小实例。另一方面,我没有发现任何关于RDS速度的问题,即使是小实例 看看EC2微实例是如何工作的,应该在哪里使用它们:
从我对您的测试用例的理解来看,您的设置基本上类似于第二个图,这不适用于微实例。尝试使用一个小实例,并在那里比较结果。即使它仍然比本地机器上的速度慢,您也会得到类似的结果。您描述的测试似乎不是一个苹果对苹果的比较。测试本地数据库可以消除任何网络延迟和吞吐量限制。@Bob Kinney。这一点您是对的,但我假设具有相同区域的EC2到RDS应该具有正常的网络延迟。我相信结果会更好,即使是云数据库,除非我遗漏了什么。我也希望如此,但我确实升级到了小实例,并没有注意到它们之间有太大的不同。我可以确认微实例的性能非常差。试用它们是非常糟糕的,因为它肯定不会鼓励你继续使用这项服务。
1) Local machine to local DB.
2) Amazon EC2 Micro Instance to Amazon RDS Micro Instance from same region
*Both my.cnf leave to default with only max_allowed_packet=500m set.