我在使用Amazon RDS时遇到了奇怪的行为 .

实际上我在db.t2.large实例上使用RDS . 并且EC2的自动缩放组将数据连接到数据库并将数据写入数据库 .

当进程有更多流量时( 800 query per second ),某些php进程需要花费很多时间才能连接到数据库 .

我检查并确定问题发生在mysqli classconstrutor( __construct )的数据库连接处 .

长时间(有时超过8秒)的功能是这样的:

$this->mysqli = new mysqli($config['host'], $config['username'], $config['password'], $config['database'], $config['port']);

所以myqli需要 8 sencondes 来实例化一个新的mysql连接 .

然后我决定使用rds db instane eb mater,并决定升级实例,并将实例从t2.large带到m4.xlarge . 当我在我的应用程序之前执行该请求变得慢一倍时,当我们到达 1600 query per second 时,连接变慢,以 8 secondes 连接到数据库 .

我一直在搜索而且没有 . 当连接如此slaw时,rds实例既没有cpu消耗( 20% ),也没有控制台中的连接( 14 ) .

问题出在网络/连接级别 . 请问有什么想法吗?