ibdata1文件持续增加的问题定位

  • 时间:
  • 浏览:2

XDES                333         0.01        Extent descriptor

a.长时间那末 提交事务,同去数据库包含少量的更新,插入,删除 ,因为innodb创建少量的undo来维护一致性读:可不都可以通过show engine innodb status\G查看active的事务:

TRX_SYS             1           0.00        Transaction system header

ALLOCATED           1035701     18.84       Freshly allocated

| innodb_max_purge_lag    | 0     |

如保查看ibdata1中的文件组建?

| innodb_max_purge_size   | 0     |

用户的ibdata1文件持续增加:

什么都有在mysql 5.5将undo的purge独立出来,可不都可以设置undo purge的系统线程个数:

—TRANSACTION 36E, ACTIVE 1256288 sec

开源社区提供了另一个 工具:innodb_space可不都可以清晰地分溶解ibdata1的组成(该工具需用bindata环境)

IBUF_FREE_LIST      152         0.00        Insert buffer free list

| innodb_purge_threads    | 0     |

SHOW ENGINE INNODB STATUS\G

| innodb_purge_batch_size | 20    |

show engine innodb status

第二种独占表空间法律依据 :什么都有我RDS目前采用 的,也什么都有我一张表另一个 表空间,表中的索引和数据存装入 买车人独立的表空间中,空间不能比较容易的回收;

第有这种共享表空间法律依据 :所有表的索引,数据统一存装入 另一个 共享表空间中,曾经 会因为共享表空间的空间很快了 了 增长,同时光图片 间回收困难;

无论是独占还是共享表空间,innodb总要有系统共享表空间(ibdata1),该系统表空间主要用于存储数据字典,undo entry,insert buffer,doublewrite buffer,

在5.6中可不都可以单独设置undo tablespace文件,补救与ibdata1混用在同去。

SYS                 3           0.00        System internal

IBUF_BITMAP         334         0.01        Insert buffer bitmap

建议用户将版本从5.1升级到5.5,5.5包含独立的purge系统线程可不都可以加快波特率的回收掉undo log,迁移的过程中机会是采用逻辑迁移,会重建ibdata1文件降低空间使用;

该系统表空间的增加通常的因为有如下:

FSP_HDR             1           0.00        File space header

UNDO_LOG            4480725     80.61       Undo log            

b.mysql 5.1中undo的purge是和master thread 共用另一个 系统线程,什么都有发现show engine inndob status\G中的histtory length过长,则机会的purge的波特率到达了瓶颈,

type                count       percent     description

MySQL thread id 42, OS thread handle 0x7f8baaccc700, query id 7900290 localhost root

可不都可以看后ibdata1文件中少量的总要undo_log,在定位到其中的文件组成后,亲戚亲戚让他们 可不都可以采取以下方案:

innodb_space -f /tmp/ibdata1 space-page-type-summary

Innodb的表有有这种存放法律依据 :

INDEX               722         0.01        B+Tree index

INODE               28348       0.52        File segment inode

Trx read view will not see trx with id >= 36F, sees < 36F