是否可以从 MySQL 内部确定 AWS RDS MySQL 实例的实例类型?

是否可以从 MySQL 内部确定 AWS RDS MySQL 实例的实例类型?

我想知道是否可以在连接到 RDS 服务器时从 MySQL 命令行确定可用的实例类型和存储。

我有一个项目,当我从查询专用开发服务器的 MySQL 数据库切换到客户端的 AWS RDS 实例(与托管 Web 应用程序的 EC2 实例位于同一可用区)时,数据库效率急剧下降。不同之处在于 EC2 实例位于北美,开发服务器位于南非,尽管横跨大西洋,RDS 实例在密集查询上仍然慢了大约 55%。

由于基础设施由第三方托管服务提供商托管,我无法直接询问服务提供商他们部署了什么类型的实例。我拥有的唯一访问权限是基本授予、创建、选择、更新、插入。我无法访问 AWS 管理控制台。

假设这是可能的,有人可以给我一些指导,告诉我运行什么命令来确定这一点吗?

答案1

无法从 MySQL“内部”确定实例类型、可用存储或 RDS 实例的任何类似属性(之内意思是通过 SQL 接口,这是 RDS 上唯一公开的接口 —— 没有 shell/OS 访问)。

了解这些内容或检查性能指标的唯一方法是通过 AWS 控制台或 API 访问 AWS 账户。

答案2

有一个提示可能会有用。您可以使用 查询 MySQL 中的最大并行连接数SHOW VARIABLES LIKE "max_connections";

AWS 告诉他们文档默认的“max_connections”限制是根据实例的内存/RAM 计算的。

MySQL 的计算是{DBInstanceClassMemory/12582880}- 因此 max_connections 乘以 12582880 可得出实例的内存量。

例如:一个实例有 639 个 max_connections - 这就需要 8,040,460,320 字节或 8GB 内存。现在您需要一个包含所有实例的表,例如来自这里由此,我们现在知道,该实例一定是以“large”结尾的实例之一,例如“db.m5.large”。

当然,这并不完全是实例,但它可以让您了解所使用的实例类型。

请注意,这max_connections可以从 aws-user 进行更改。

相关内容