InnoDB存儲引擎層體系結構圖:node
1.innodb基本信息mysql
mysql> show engine innodb status \G算法
*************************** 1. row ***************************sql
Type: InnoDB數組
Name: 緩存
Status: dom
=====================================異步
2017-01-03 15:34:17 7f916c114700 INNODB MONITOR OUTPUT --輸出的時間ide
=====================================oop
Per second averages calculated from the last 38 seconds
-----------------
2.後臺線程
BACKGROUND THREAD
-----------------
srv_master_thread loops: 2323156 srv_active, 0 srv_shutdown, 2593442 srv_idle --主線程每秒loop循環的次數(2323156 激活的次數 0 中止的次數 2593442 等待的次數)
srv_master_thread log flush and writes: 4916598 --主線程日誌刷新和寫入的次數
----------
3.鎖信息
SEMAPHORES
----------
OS WAIT ARRAY INFO: reservation count 2882668 --全局等待數組信息(當數據組建立後預留的計數)
OS WAIT ARRAY INFO: signal count 59482367 --收到的通知次數
Mutex spin waits 57404086, rounds 70574291, OS waits 688683 --57404086表示互斥等待的個數,70574291表示循環迭帶的個數,688683系統調用的等待個數
RW-shared spins 23269113, rounds 80987143, OS waits 1648604 --23269113表示共享讀鎖期間讀寫鎖等待的個數,80987143表示循環迭帶的個數,1648604系統調用的等待個數
RW-excl spins 3761579, rounds 143069955, OS waits 524639 --3761579表示排它寫鎖期間讀寫鎖等待的個數,80987143表示循環迭帶的個數,1648604系統調用的等待個數
Spin rounds per wait: 1.23 mutex, 3.48 RW-shared, 38.03 RW-excl
------------------------
4.事物信息
TRANSACTIONS
------------
Trx id counter 5381 --下一個事物號
Purge done for trx's n:o < 4553 undo n:o < 0 state: running but idle --全部編號小於4553的事物都已經從歷史記錄列表中清除了
History list length 75 --歷史列表的長度
LIST OF TRANSACTIONS FOR EACH SESSION:
---TRANSACTION 0, not started
MySQL thread id 2, OS thread handle 0x7f69957c9700, query id 3 localhost root init
show engine innodb status
--------
5.文件IO
FILE I/O
--------
I/O thread 0 state: waiting for completed aio requests (insert buffer thread) --插入緩衝線程
I/O thread 1 state: waiting for completed aio requests (log thread) --日誌線程
I/O thread 2 state: waiting for completed aio requests (read thread) --4個異步讀線程
I/O thread 3 state: waiting for completed aio requests (read thread)
I/O thread 4 state: waiting for completed aio requests (read thread)
I/O thread 5 state: waiting for completed aio requests (read thread)
I/O thread 6 state: waiting for completed aio requests (write thread) --8個異步寫入線程
I/O thread 7 state: waiting for completed aio requests (write thread)
I/O thread 8 state: waiting for completed aio requests (write thread)
I/O thread 9 state: waiting for completed aio requests (write thread)
I/O thread 10 state: waiting for completed aio requests (write thread)
I/O thread 11 state: waiting for completed aio requests (write thread)
I/O thread 12 state: waiting for completed aio requests (write thread)
I/O thread 13 state: waiting for completed aio requests (write thread)
Pending normal aio reads: 0 [0, 0, 0, 0] , aio writes: 0 [0, 0, 0, 0, 0, 0, 0, 0] , --每一個讀寫線程狀態(4個讀8個寫)
ibuf aio reads: 0, log i/o's: 0, sync i/o's: 0 --插入緩衝線程的狀態,每秒日誌IO狀態,IO同步的狀態
Pending flushes (fsync) log: 0; buffer pool: 0 --文件同步的日誌狀態,緩衝池的個數
72539 OS file reads, 27925279 OS file writes, 21542873 OS fsyncs --讀了多少個文件,系統寫了多少個文件,系統同步了多少個文件
0.00 reads/s, 0 avg bytes/read, 7.50 writes/s, 5.50 fsyncs/s --每秒讀的信息,平均每秒讀的字節數,每秒寫入的信息,每秒同步的信息
-------------------------------------
6.插入緩衝和自適應哈稀索引
INSERT BUFFER AND ADAPTIVE HASH INDEX
-------------------------------------
Ibuf: size 1, free list len 488, seg size 490, 3595 merges --1表示緩衝索引樹的當前大小,488空閒列表的長度,490文件段中已分配段的個數,3595合併頁的個數
merged operations:
insert 3553, delete mark 168, delete 0 --insert插入緩衝的次數,delete mark標記爲已刪除的次數,delete表示purge的次數(刪除)
discarded operations:
insert 0, delete mark 0, delete 0 --有多少個insert buffer被丟棄,有多少個insert buffer被標記爲已刪除,purge多少個insert buffer等
Hash table size 9461329, node heap has 8274 buffer(s) --自適應哈稀索引單元格的數量與預留緩衝結構的數量
21976.71 hash searches/s, 1793.98 non-hash searches/s --使用哈稀索引的數量與不能使用哈稀索引時向下搜索B樹索引的次數
---
7.重作日誌信息
LOG
---
Log sequence number 24627115613 --當前重作日誌序列號
Log flushed up to 24627115603 --刷新到重作日誌文件的序列號
Pages flushed up to 24627105147 --刷新到磁盤的日誌序列號
Last checkpoint at 24627105147 --下一個日誌序列號
0 pending log writes, 0 pending chkp writes --掛起日誌寫入數,掛起檢查點寫入數
8868627 log i/o's done, 2.63 log i/o's/second --innodb啓動後的io個數,最近一次顯示以後的每秒io操做個數
----------------------
8.緩存池和內存
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 4395565056; in additional pool allocated 0 --分配內存總數和額外的內存池
Dictionary memory allocated 961282 --數據字典佔用的字節數
Buffer pool size 262134 --緩衝池的個數
Free buffers 142352 --剩餘緩衝區的個數
Database pages 111508 --LRU中數據頁的個數
Old database pages 41039 --LRU中舊數據頁的個數
Modified db pages 37 --LRU中已修改的數據頁個數
Pending reads 0 --掛起讀操做的個數
Pending writes: LRU 0, flush list 0, single page 0 --經過使用LRU算法等待刷新的頁數,在BUF_FLUSH_LIST列表等待刷新的頁數,在BUF_FLUSH_SINGLE_PAGE等待刷新的頁數
Pages made young 504766, not young 550 --504766第一次訪問變成新頁面的次數,550沒有變成新頁面的次數
0.05 youngs/s, 0.00 non-youngs/s --LRU中每秒變成新頁面的速率,沒有變成新頁面的速率
Pages read 71261, created 40267, written 14051008 --71261讀操做的頁面個數,40267在緩衝池中建立了沒有讀取的頁面個數,14051008寫操做的頁面個數
0.00 reads/s, 0.00 creates/s, 3.82 writes/s --LRU中每秒讀取數據的頁速率,每秒建立數據的頁速率,每秒寫入數據的頁速率
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000 --讀取頁面數與得到緩衝池頁面的比例,變爲新頁面的頁面數與得到緩衝池頁面的比例,沒有變
爲新頁面的頁面數與得到緩衝池頁面的比例
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s --預讀的速率,不經過訪問剔除的預讀頁面的個數
LRU len: 111508, unzip_LRU len: 0 --LRU列表長度,unzip_LRU列表長度
I/O sum[978]:cur[0], unzip sum[0]:cur[0] --LRU在LRU列表中I/O操做的次數,unzip在LRU列表中I/O操做的次數
----------------------
9.行操做
ROW OPERATIONS
--------------
0 queries inside InnoDB, 0 queries in queue --有多少個正在查詢操做個數
0 read views open inside InnoDB --顯示只讀視圖的數量
Main thread process no. 9822, id 140262664857344, state: sleeping --顯示主線程的ID及其狀態
Number of rows inserted 2044551, updated 2917695, deleted 411325, read 319298239254 --從innodb存儲引擎啓動後插入,更新,刪除,查詢的行數
0.45 inserts/s, 0.79 updates/s, 0.11 deletes/s, 136529.62 reads/s --最近一次顯示增,刪,改,查的速率
----------------------------
END OF INNODB MONITOR OUTPUT
============================
1 row in set (0.00 sec)
mysql>