Jam*_*ady 6 mysql replication performance amazon-rds
我有两个 RDS 实例:一个 R/W 主实例和一个只读副本。
6 月 29 日,副本停止注册复制数据 - 不确定这是否相关。
7 月 3 日,master 的 CPU 使用率开始单调增加,并且急剧增加:
现在几乎是 100% 的临界值。
据我所知,查询量并没有真正改变。当时唯一发生的事情是我的 web 层中的一个 django-celery 守护进程占用了整个 CPU 核心——强制杀死它似乎解决了 web 层上的问题,但似乎 DB 层问题可能与此相关。
同时数据库大小也开始单调增加:
进程列表中没有长查询,也根本没有插入,所以我不确定如何找出哪些表在增长,以及 CPU 的去向。
是否有 MySQL 诊断,同时可以显示表大小趋势?配置全局正在进行的查询?配置全局 CPU 使用率?
我已经重新启动了服务器几次,但无济于事。
服务器上显然还有很多空间,但是当 CPU 使用率达到 100% 时,事情会变得很糟糕,因此非常感谢任何帮助!
我有一些关于在这些高峰期间可以在 MySQL 中运行的表大小的疑问
以 StorageEngine 表示的数据库大小 (MB)
SELECT IFNULL(B.engine,'Total') "Storage Engine", CONCAT(LPAD(REPLACE(FORMAT(
B.DSize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Data Size",
CONCAT(LPAD(REPLACE(FORMAT(B.ISize/POWER(1024,pw),3),',',''),17,' '),' ',
SUBSTR(' KMGTP',pw+1,1),'B') "Index Size",CONCAT(LPAD(REPLACE(FORMAT(B.TSize/
POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Table Size"
FROM (SELECT engine,SUM(data_length) DSize,
SUM(index_length) ISize,SUM(data_length+index_length) TSize FROM information_schema.tables
WHERE table_schema NOT IN ('mysql','information_schema','performance_schema') AND
engine IS NOT NULL GROUP BY engine WITH ROLLUP) B,(SELECT 2 pw) A ORDER BY TSize;
Run Code Online (Sandbox Code Playgroud)
数据库大小(以数据库 (MB) 为单位)
SELECT DBName,CONCAT(LPAD(FORMAT(SDSize/POWER(1024,pw),3),17,' '),' ',
SUBSTR(' KMGTP',pw+1,1),'B') "Data Size",
CONCAT(LPAD(FORMAT(SXSize/POWER(1024,pw),3),17,' '),' ',
SUBSTR(' KMGTP',pw+1,1),'B') "Index Size",
CONCAT(LPAD(FORMAT(STSize/POWER(1024,pw),3),17,' '),' ',
SUBSTR(' KMGTP',pw+1,1),'B') "Total Size" FROM (SELECT
IFNULL(DB,'All Databases') DBName,SUM(DSize) SDSize,SUM(XSize) SXSize,
SUM(TSize) STSize FROM (SELECT table_schema DB,data_length DSize,
index_length XSize,data_length+index_length TSize FROM information_schema.tables
WHERE table_schema NOT IN ('mysql','information_schema','performance_schema')) AAA
GROUP BY DB WITH ROLLUP) AA,(SELECT 2 pw) BB ORDER BY (SDSize+SXSize);
Run Code Online (Sandbox Code Playgroud)
数据库大小以 Database/StorageEngine (MB) 表示
SELECT IF(ISNULL(B.table_schema)+ISNULL(B.engine)=2,"Storage for All Databases",
IF(ISNULL(B.table_schema)+ISNULL(B.engine)=1,CONCAT("Storage for ",B.table_schema),
CONCAT(B.engine," Tables for ",B.table_schema))) Statistic,CONCAT(LPAD(REPLACE(FORMAT(
B.DSize/POWER(1024,pw),3),',',''),17,' '),' ',
SUBSTR(' KMGTP',pw+1,1),'B') "Data Size",CONCAT(LPAD(REPLACE(FORMAT(
B.ISize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Index Size",
CONCAT(LPAD(REPLACE(FORMAT(B.TSize/POWER(1024,pw),3),',',''),17,' '),' ',
SUBSTR(' KMGTP',pw+1,1),'B') "Table Size" FROM (SELECT table_schema,engine,
SUM(data_length) DSize,SUM(index_length) ISize,SUM(data_length+index_length) TSize
FROM information_schema.tables WHERE table_schema NOT IN
('mysql','information_schema','performance_schema') AND engine IS NOT NULL
GROUP BY table_schema,engine WITH ROLLUP) B,(SELECT 2 pw) A ORDER BY TSize;
Run Code Online (Sandbox Code Playgroud)
注意某些标记
我建议下载 MySQL Administrator(我知道,它很旧,但我仍然会在一天中快速而肮脏的“我想立即查看统计数据”时刻使用它)并进行设置。我定制了自己的图表来观察 InnoDB 缓冲池及其脏页的大小。您也可以只使用“连接运行状况”选项卡。
归档时间: |
|
查看次数: |
3558 次 |
最近记录: |