Variable_name: version
Value: 5.5.52-MariaDB
mysql
Innodb versionlinux
5.5.49-MariaDB-38.0 sql
內容增長compression、dynamic、linux AIO、多回滾段、全文索引、在線索引添加;數據庫
核心的後臺線程,主要將緩衝池中的數據換新到磁盤中,保證數據一致性。髒頁刷新,合併插入緩衝,UNDO頁(數據修改以前備份的數據用於rollback)緩存
Async IO (write,read,insert buffer,log) InnoDB 1.0.X後read write 分別增大4個。數據結構
能夠經過Innodb_read_io_threads和innodb_write_io_threads併發
命令:性能
show variables like ‘INNODB_%IO_THREADS’\G;線程
清除線程,當事務被提交時候undo log就是不在須要,所以須要回收,故設立單獨線程,減緩master thread 壓力,提升存儲性能日誌
數據庫配置文件添加獨立命令啓動purge thread:
[mysqld]
innodb_purge_threads=1
innodb 1.2 後能夠設置4個purge threads
InnoDB1.2後面 髒頁刷入磁盤單獨放到一個線程完成減輕master thread 壓力,有利於查詢阻塞線程和提升存儲引擎的性能。
緩衝池:
是一塊內存區域,爲彌補CPU和磁盤速度的鴻溝,先把讀到頁從磁盤→FIX到緩衝池中,下次讀到相同頁的時候先判斷再命中!
數據庫修改頁,首先修改緩衝池中的頁,而後再必定的頻率刷新到磁盤,經過checkpoint(能夠配置頻率)機制 間隔的刷新到磁盤。
建議64位系統;
緩衝池經過參數Innodb_buffer_pool_size
show variables like 'innodb_buffer_pool_size'\G;
單位:字節
InnoDB 1.0.X 容許多個緩衝實例,每一個頁平均分配到不一樣緩衝池實例,減小數據庫內存資源競爭增長併發,經過如下參數 innodb_buffer_pool_instances配置默認值爲1.
命令:
show variables like 'innodb_buffer_pool_instances'\G;
經過 show engine innodb status 查看整個存儲引擎的緩衝池狀態:略!
MYSQL5.6開始能夠經過下面表查詢緩衝池狀態:
select pool_id,pool_size,free_buffers,database_pages from INNODB_BUFFER_POOL_STATS\G;