AWS reading mysql replicas instances keeps getting Too Many Connections 错误
AWS reading mysql replicas instances keeps gettin Too Many Connections error
我在 AWS 上购买了一个 VPC 并在那里启动了 6 个 MySql 数据库,并且为每个数据库创建了一个读取副本,这样我就可以随时 运行 查询读取快速复制。
一天中的大部分时间,我的写作实例(原始实例)都是满载的,它们的 CPUs 百分比大部分是 99%。但是,读取副本显示大约 7-10% CPU 的使用率,但有时当我 运行 连接到读取副本 "TOO MANY CONNECTIONS" 的服务时我会收到错误消息 "TOO MANY CONNECTIONS"。
我不是 AWS 专家,但发生这种情况是因为写入副本已满载并且它们位于同一 VPC 上吗?
this happening because the writing replicas are fully loaded and they're on the same VPC?
不,不是。这与复制无关。在复制中,副本算作主服务器上的 1 个连接,但复制不会消耗副本本身的任何连接。与复制的总工作负载强度相关的连接没有影响。
此问题仅表示您连接到副本的客户端数量超过了基于您的 RDS 实例类型的参数组所允许的数量。使用查询 SELECT @@MAX_CONNECTIONS;
查看此限制是多少。使用 SHOW STATUS LIKE 'THREADS_CONNECTED';
查看当前存在多少个连接,并使用 SHOW PROCESSLIST;
(作为管理用户,或任何拥有 PROCESS
权限的用户)查看所有这些连接在做什么.
如果其中许多显示 Sleep
并且在 Time
中有很长的值(在当前状态下花费的秒数)那么问题是您的应用程序以某种方式放弃了连接,而不是正确地关闭它们使用后或不再需要时。
我在 AWS 上购买了一个 VPC 并在那里启动了 6 个 MySql 数据库,并且为每个数据库创建了一个读取副本,这样我就可以随时 运行 查询读取快速复制。
一天中的大部分时间,我的写作实例(原始实例)都是满载的,它们的 CPUs 百分比大部分是 99%。但是,读取副本显示大约 7-10% CPU 的使用率,但有时当我 运行 连接到读取副本 "TOO MANY CONNECTIONS" 的服务时我会收到错误消息 "TOO MANY CONNECTIONS"。
我不是 AWS 专家,但发生这种情况是因为写入副本已满载并且它们位于同一 VPC 上吗?
this happening because the writing replicas are fully loaded and they're on the same VPC?
不,不是。这与复制无关。在复制中,副本算作主服务器上的 1 个连接,但复制不会消耗副本本身的任何连接。与复制的总工作负载强度相关的连接没有影响。
此问题仅表示您连接到副本的客户端数量超过了基于您的 RDS 实例类型的参数组所允许的数量。使用查询 SELECT @@MAX_CONNECTIONS;
查看此限制是多少。使用 SHOW STATUS LIKE 'THREADS_CONNECTED';
查看当前存在多少个连接,并使用 SHOW PROCESSLIST;
(作为管理用户,或任何拥有 PROCESS
权限的用户)查看所有这些连接在做什么.
如果其中许多显示 Sleep
并且在 Time
中有很长的值(在当前状态下花费的秒数)那么问题是您的应用程序以某种方式放弃了连接,而不是正确地关闭它们使用后或不再需要时。