从本地计算机连接时,AWS RDS会非常慢

时间:2015-10-15 06:34:24

标签: amazon-web-services amazon-rds

我已启动并运行AWS RDS实例。当从我的网站(也在AWS,同一地区)查询数据库时,它运行得很漂亮。但是,如果我尝试从我的本地开发机器连接到数据库,则需要AGES才能执行任何查询。有谁知道为什么?我打开了安全组以允许连接(当我尝试从本地计算机连接时)。

2 个答案:

答案 0 :(得分:0)

听起来好像您的互联网连接有问题?来自本地工作站的所有查询都必须从家庭或办公室网络发送出去,再到Internet,再到AWS VPC。如果您的互联网连接速度很慢,那将是一个问题。您的家庭/办公室中的任何本地防火墙也可能有问题。

答案 1 :(得分:0)

此类问题可能有多种原因。有些原因可能如此明显,但出于答案的完整性而提及它们。您已经说过查询执行速度很慢,所以我认为连接建立成功,并且网络ACL,安全组等都没有问题。

原因1:您的互联网连接速度太慢

这可能是由于许多原因。请参阅以下内容...

  • 另一台使用您的互联网带宽的设备
  • 您在同一台设备上同时进行了一些并行下载
  • 您的互联网配额已超出
  • ISP速度问题

无论出于何种原因,这样的问题都会在一段时间后得到解决。使用this检查您的互联网速度。

原因2:超出RDS实例上的最大连接数

您可能会达到MySQL的最大进程数限制。因此,当您连接并发出任何命令时,如果允许运行的进程数已饱和,则您必须等待并且请求进入队列。但是,如果您没有空位,那之后它就会超时。

连接总数取决于您使用的实例类型。您可以在“数据库参数”组选项中进行检查和设置。搜索max_connections

enter image description here

原因3:地理网络延迟

您的网站位于同一区域,因此到达RDS实例的网络跳数较少。但是您的本地计算机可能需要多次跳才能到达RDS并返回。通常,AWS相当快并且网络稳定,但是您可能会注意到某些协议的延迟问题。

这不太可能,但这仍然可能是原因。

原因4:您的网络带宽不足

要查询多个记录,您的带宽可能不足以以惊人的速度返回它们。因此,您会看到数据库查询的速度缓慢。