Amazon AWS RDS MySQL查询日志慢

时间:2015-08-04 23:32:06

标签: mysql amazon-web-services amazon-rds mysql-slow-query-log

我在AWS RDS实例上有Mysql DB,我的查询日志很慢,log_queries_not_using_indexes = YES

它工作但几乎每5秒钟,这就是我在日志中看到的:

SELECT value FROM mysql.rds_heartbeat2;
# Time: 150804 21:00:25
# User@Host: rdsadmin[rdsadmin] @ localhost [127.0.0.1] Id: 1
# Query_time: 0.000154 Lock_time: 0.000058 Rows_sent: 1 Rows_examined: 1
SET timestamp=1438722025;
SELECT NAME, VALUE FROM mysql.rds_configuration;
# Time: 150804 21:00:30
# User@Host: rdsadmin[rdsadmin] @ localhost [127.0.0.1] Id: 1
# Query_time: 0.000233 Lock_time: 0.000113 Rows_sent: 1 Rows_examined: 1
SET timestamp=1438722030;
SELECT count(*) from information_schema.TABLES WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME = 'rds_heartbeat2';
# User@Host: rdsadmin[rdsadmin] @ localhost [127.0.0.1] Id: 1
# Query_time: 0.000116 Lock_time: 0.000039 Rows_sent: 1 Rows_examined: 1
SET timestamp=1438722030;
SELECT value FROM mysql.rds_heartbeat2;
# Time: 150804 21:00:45
# User@Host: rdsadmin[rdsadmin] @ localhost [127.0.0.1] Id: 1
# Query_time: 0.000238 Lock_time: 0.000116 Rows_sent: 1 Rows_examined: 1
SET timestamp=1438722045;
SELECT count(*) from information_schema.TABLES WHERE TABLE_SCHEMA = 'mysql' AND TABLE_NAME = 'rds_heartbeat2';
# User@Host: rdsadmin[rdsadmin] @ localhost [127.0.0.1] Id: 1
# Query_time: 0.000112 Lock_time: 0.000036 Rows_sent: 1 Rows_examined: 1
SET timestamp=1438722045;
SELECT value FROM mysql.rds_heartbeat2;
# Time: 150804 21:01:00
这是什么?

我可能有一两个我需要优化的查询,其余的日志文件就是这个。

这与我的数据库有什么关系?那些疑问不是我的。我相信这是AWS所做的事情,但我不知道为什么以及它如何影响性能。

1 个答案:

答案 0 :(得分:1)

这些数据库是Mysql服务器的一部分。虽然我怀疑rds_heartbeat2rds_configuration特定于AWS RDS版本的mysql。您可以阅读有关heartbeat的更多信息。

来自dev.mysql

  

INFORMATION_SCHEMA是每个MySQL实例中的数据库,该实例存储有关MySQL服务器维护的所有其他数据库的信息。 INFORMATION_SCHEMA数据库包含几个只读表。它们实际上是视图,而不是基表,因此没有与它们关联的文件,并且您无法在它们上设置触发器。此外,没有具有该名称的数据库目录。

您可以运行此命令以查看哪些数据库具有MyISAM表:

select distinct(table_schema) FROM information_schema.tables where engine = 'MyISAM';

来自dev.mysql

  

mysql系统数据库包括几个授权表,其中包含有关用户帐户及其拥有的权限的信息。

您可以运行此命令查看用户和主持人列表:

select user, host from mysql.user;