欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL監(jiān)控Innodb信息工作流程

 更新時間:2024年02月16日 12:19:46   作者:bug生產(chǎn)者  
這篇文章主要為大家介紹了MySQL監(jiān)控Innodb信息工作流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Innodb監(jiān)控

Innodb由于支持事務(wù)操作,是mysql中使用最多的存儲引擎,所以如何監(jiān)控Innodb存儲引擎以進行性能優(yōu)化是在使用mysql過程中遇到最多的,那么如何進行監(jiān)控呢?

show engine

-- 顯示innodb存儲引擎狀態(tài)的統(tǒng)計和配置信息
show engine innodb status;

展示的主要內(nèi)容有
-----------------
BACKGROUND THREAD  --后臺線程
-----------------
srv_master_thread loops: 19610306 srv_active, 0 srv_shutdown, 9705136 srv_idle  --統(tǒng)計Innodb啟動后的活動
srv_master_thread log flush and writes: 29312902  --寫入和刷新日志的次數(shù)
----------
SEMAPHORES  --信號量包含了線程等待互斥鎖或讀寫鎖的信息
----------
OS WAIT ARRAY INFO: reservation count 52795642  --os等待數(shù)組信息,分配插槽的次數(shù)
OS WAIT ARRAY INFO: signal count 57522728  --os等待數(shù)組信息,線程通過數(shù)組得到信號的次數(shù)
RW-shared spins 0, rounds 77349143, OS waits 9180114  --共享鎖期間,讀寫鎖存器上自旋等待個數(shù),自旋循環(huán)迭代次數(shù)以及操作系統(tǒng)調(diào)用的等待個數(shù)
RW-excl spins 0, rounds 179767865, OS waits 2534243  --排他鎖期間,讀寫鎖存器上自旋等待個數(shù),自旋循環(huán)迭代次數(shù)以及操作系統(tǒng)調(diào)用的等待個數(shù)
RW-sx spins 2068750, rounds 40171680, OS waits 844522  --共享排他鎖期間,讀寫鎖存器上自選等待個數(shù),自旋循環(huán)迭代次數(shù)以及操作系統(tǒng)調(diào)用的等待個數(shù)
Spin rounds per wait: 77349143.00 RW-shared, 179767865.00 RW-excl, 19.42 RW-sx  --對于每一個互斥鎖,操作系統(tǒng)調(diào)用等待的每一個自旋循環(huán)迭代個數(shù)
------------
TRANSACTIONS --包含所有當前正在執(zhí)行的事務(wù)的信息
------------
Trx id counter 1888483436  --當前事務(wù)id
Purge done for trx s n:o < 1888483436 undo n:o < 0 state: running but idle --所有編號小于1888483436的事務(wù)都已經(jīng)從歷史記錄列表中清除了,清除舊的MVCC行時所用的事務(wù)id,這個值與當前事務(wù)ID進行比較,就可以知道有多少老版本的數(shù)據(jù)未被清除
History list length 17 --歷史列表的長度,位于Innodb數(shù)據(jù)文件的撤銷空間里的頁面的數(shù)目,如果事務(wù)執(zhí)行了更新并提交,該數(shù)目就會增加,當清理進程移除舊版本數(shù)據(jù)時,該數(shù)目會減少
LIST OF TRANSACTIONS FOR EACH SESSION: 當前事務(wù)列表
---TRANSACTION 422068961001072, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068960999248, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961005632, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961013840, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961012016, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961010192, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961001984, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961000160, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961017488, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961011104, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961012928, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961004720, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961002896, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961003808, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
---TRANSACTION 422068961007456, not started
0 lock struct(s), heap size 1136, 0 row lock(s)
--------
FILE I/O  --各種IO操作的Innodb內(nèi)部線程以及執(zhí)行了多少次IO操作
--------
-- 有四個線程
-- insert buffer thread 負責插入緩沖合并
-- log thread 負責異步刷日志
-- read thread 執(zhí)行預(yù)讀操作以嘗試預(yù)先讀取Innodb預(yù)感需要的數(shù)據(jù)
-- write thread 刷臟緩沖
I/O thread 0 state: waiting for completed aio requests (insert buffer thread) --IO線程的狀態(tài)
I/O thread 1 state: waiting for completed aio requests (log thread)
I/O thread 2 state: waiting for completed aio requests (read thread)
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)
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)
Pending normal aio reads: [0, 0, 0, 0] , aio writes: [0, 0, 0, 0] ,
 ibuf aio reads:, log i/o's:, sync i/o's:
Pending flushes (fsync) log: 0; buffer pool: 0 -- 掛起操作的信息,aio是指異步io
83934578288 OS file reads, 282688772 OS file writes, 190348192 OS fsyncs --innodb啟動后的總統(tǒng)計信息
984.40 reads/s, 16384 avg bytes/read, 10.15 writes/s, 9.12 fsyncs/s --最后一次顯示后的總統(tǒng)計信息
-------------------------------------
INSERT BUFFER AND ADAPTIVE HASH INDEX  --插入緩沖區(qū)與自適應(yīng)散列統(tǒng)計信息
-------------------------------------
Ibuf: size 1, free list len 3078, seg size 3080, 8815726 merges --在頁中插入緩沖索引樹的當前大小,空閑列表的長度,在包含插入緩沖樹與頭信息的文件段中已分配頁的個數(shù),被合并頁的個數(shù)
merged operations:
 insert 6898371, delete mark 38430046, delete 1226485  --通過類型區(qū)分,索引頁被執(zhí)行合并操作的次數(shù)
discarded operations:
 insert 1019, delete mark 0, delete 0 --無須合并丟棄操作的數(shù)量
Hash table size 34673, node heap has 1 buffer(s)
Hash table size 34673, node heap has 74 buffer(s)
Hash table size 34673, node heap has 1 buffer(s)
Hash table size 34673, node heap has 1 buffer(s)
Hash table size 34673, node heap has 1 buffer(s)
Hash table size 34673, node heap has 2 buffer(s)
Hash table size 34673, node heap has 28 buffer(s)
Hash table size 34673, node heap has 7 buffer(s)
5203.54 hash searches/s, 128.14 non-hash searches/s --成功使用自適應(yīng)散列索引查找的數(shù)量,當不能使用自適應(yīng)索引時向下搜索B樹的次數(shù)
---
LOG    --Innodb日志中活動信息
---
Log sequence number 319041331834 --當前日志序號
Log flushed up to   319041331699 -- 日志已經(jīng)刷到的位置
Pages flushed up to 319033170877 
Last checkpoint at  319033170877  -- 上一個檢查點,當前日志序列號LSN
0 pending log flushes, 0 pending chkp writes 
169033177 log i/o's done, 8.92 log i/o's/second --掛起的日志寫入次數(shù),掛起的檢查點寫入個數(shù),innodb啟動后的IO操作個數(shù),從最近一次顯示之后的每秒IO操作個數(shù)
----------------------
BUFFER POOL AND MEMORY   --Innodb緩沖池與內(nèi)存使用情況
----------------------
Total large memory allocated 137428992 --分配的內(nèi)存
Dictionary memory allocated 1204989 --被數(shù)據(jù)字典表與索引對象所占空間的字節(jié)數(shù)
Buffer pool size   8191 --緩沖池個數(shù)
Free buffers       1024 --空閑緩沖區(qū)個數(shù)
Database pages     7052 --當前緩沖區(qū)LRU隊列的長度(分配用來存儲數(shù)據(jù)庫頁的頁數(shù))
Old database pages 2583 --舊的LRU隊列的長度
Modified db pages  530 --需要刷新的頁面的數(shù)量(臟數(shù)據(jù)庫頁數(shù))
Pending reads      0 --掛起讀操作的個數(shù)
Pending writes: LRU 0, flush list 0, single page 0 --通過LRU算法,等待刷新的頁數(shù)
Pages made young 983912385, not young 304833753259 --因為最近第一次被訪問時,變成新頁面的數(shù)目和沒有變成新頁面的數(shù)目
1.54 youngs/s, 16246.04 non-youngs/s -- 上述兩個值每秒的速率
Pages read 83934649301, created 4135172, written 103030852 --讀操作的頁面數(shù)目,在緩沖區(qū)中創(chuàng)建但是沒有讀取的頁面數(shù)目,寫操作的頁面數(shù)目
984.40 reads/s, 0.17 creates/s, 1.15 writes/s -- 上述值美妙的速率
Buffer pool hit rate 972 / 1000, young-making rate 0 / 1000 not 478 / 1000 --讀取到的頁面數(shù)與獲得的緩沖池頁面的比例,變?yōu)樾马撁娴捻撁鏀?shù)與獲得緩沖池頁面的比例,沒有變?yōu)樾马撁娴捻撁鏀?shù)與獲得緩沖池頁面的比例
Pages read ahead 913.79/s, evicted without access 5.60/s, Random read ahead 0.00/s --預(yù)讀的速率與不通過訪問剔除的預(yù)讀頁面的個數(shù)
LRU len: 7052, unzip_LRU len: 0 --LRU列表的長度,unzip_LRU列表的長度
I/O sum[4121]:cur[0], unzip sum[0]:cur[0] --IO操作的次數(shù):當前間隔的IO
--------------
ROW OPERATIONS   --行操作
--------------
0 queries inside InnoDB, 0 queries in queue --當前有多少個正在執(zhí)行的查詢,在innodb_thread_concurrency隊列中的查詢個數(shù)
0 read views open inside InnoDB --只讀視圖的數(shù)量
Process ID=1543, Main thread ID=140593683990272, state: sleeping --線程id以及狀態(tài)
Number of rows inserted 56092883, updated 133093048, deleted 40729879, read 477150639699 --從innodb啟動后,插入、更新、刪除、讀取的行數(shù)
0.19 inserts/s, 7.73 updates/s, 0.00 deletes/s, 138100.85 reads/s -- 速率

<!-- more -->

-- 展示Innodb的互斥體信息
show engine innodb mutex;

Type      Name                           Status
InnoDB    rwlock: dict0dict.cc:2782       waits=4
InnoDB    rwlock: dict0dict.cc:1228       waits=80
InnoDB    rwlock: log0log.cc:846         waits=75
InnoDB    sum rwlock: buf0buf.cc:1460     waits=11

-- name列顯示了創(chuàng)建互斥體的源文件和行號
-- status列顯示了互斥體在操作系統(tǒng)上的等待次數(shù)

show status

通過查看日志文件

show status like 'innodb%log%'

Variable_name                 Value
Innodb_log_waits                0     日志文件太小時,操作必須等待日志刷新的等待時間計數(shù)器,該值如果長期大于0,可以適當增加日志文件大小
Innodb_log_write_requests      4539    日志寫入請求的數(shù)量
Innodb_log_writes               22     數(shù)據(jù)被寫入日志的次數(shù)
Innodb_os_log_fsyncs           1020   操作系統(tǒng)文件同步的數(shù)量(fsync()方法調(diào)用)
Innodb_os_log_pending_fsyncs    0     阻塞的文件同步請求的數(shù)量,如果該值開始增長并長期大于0,需要檢查磁盤訪問問題
Innodb_os_log_pending_writes    0     阻塞的日志寫請求的次數(shù),如果該值開始增長并長期大于0,需要檢查磁盤訪問問題
Innodb_os_log_written         2855424  寫入日志中的字節(jié)總量
Innodb_available_undo_logs    128

緩沖池信息

緩沖池是Innodb緩存頻繁訪問數(shù)據(jù)的地方,對緩沖池內(nèi)數(shù)據(jù)的任何更新也會被緩存

-- 可以查看存儲引擎的統(tǒng)計信息,其中包含有緩沖池的信息
show engine innodb status;

截取出緩沖池的信息來進行分析
----------------------
BUFFER POOL AND MEMORY
----------------------
Total large memory allocated 137428992
Dictionary memory allocated 223164
Buffer pool size   8191
Free buffers       7374   空的且可用于緩沖數(shù)據(jù)的緩沖段個數(shù)
Database pages     809   
Old database pages 299
Modified db pages  0   發(fā)生變化的頁數(shù)
Pending reads      0   等待中的讀請求個數(shù)
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 503, created 306, written 2534
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
Pages read ahead 0.00/s, evicted without access 0.00/s, Random read ahead 0.00/s
LRU len: 809, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]

在查看一下緩沖區(qū)相關(guān)的變量

show status like 'innodb%buf%'
Variable_name                         Value
Innodb_buffer_pool_pages_data           809    含有數(shù)據(jù)的頁數(shù),包括不變和改變的頁
Innodb_buffer_pool_bytes_data         13254656 含有數(shù)據(jù)的字節(jié)數(shù)
Innodb_buffer_pool_pages_dirty          0      改變的字節(jié)數(shù)
Innodb_buffer_pool_bytes_dirty          0      改變的頁的數(shù)目
Innodb_buffer_pool_pages_flushed       2525    緩沖池頁面被刷新的次數(shù)
Innodb_buffer_pool_pages_free           7374    空頁面的數(shù)目
Innodb_buffer_pool_pages_misc            8      用于管理工作的頁數(shù),公式為'Innodb_buffer_pool_pages_total-Innodb_buffer_pool_pages_free-Innodb_buffer_pool_pages_data'
Innodb_buffer_pool_pages_total         8191    緩沖池中的總頁數(shù)
Innodb_buffer_pool_read_ahead_rnd        0      掃描大塊數(shù)據(jù)時發(fā)生隨機讀頭的數(shù)量
Innodb_buffer_pool_read_ahead            0      
Innodb_buffer_pool_read_ahead_evicted    0
Innodb_buffer_pool_read_requests      107632   邏輯讀請求的次數(shù)
Innodb_buffer_pool_reads                504    直接從磁盤中邏輯讀取的次數(shù)(沒有從緩沖池中讀)
Innodb_buffer_pool_wait_free             0     如果緩沖池繁忙且沒有空頁,innodb需要等待頁面刷新,該值表示等待次數(shù),若始終大于0,可適當增加緩沖池大小
Innodb_buffer_pool_write_requests       47403   寫入innodb緩沖池的次數(shù)

線程和連接統(tǒng)計信息

使用show status like '變量'來查詢,這些變量用來跟蹤嘗試的連接、退出的連接、網(wǎng)絡(luò)流量和線程統(tǒng)計

  • Connections
  • Max_used_connections
  • Threads_connected
  • Aborted_clients
  • Aborted_connects 如果不為0,表示有人嘗試連接失敗
  • Bytes_received
  • Bytes_sent
  • Slow_launch_threads
  • Threads_cached
  • Threads_created
  • Threads_running

二進制日志狀態(tài)

  • Binlog_cache_use和Binlog_cache_disk_use表示在二進制日志緩存中有多少事務(wù)被存儲過,以及多少事務(wù)因為超過二進制日志緩存而被存儲到一個臨時文件中
  • Binlog_stmt_cache_use和Binlog_stmt_cache_disk_use表示非事務(wù)語句對應(yīng)的度量值

命令計數(shù)器

Com_*變量統(tǒng)計了每種類型的SQL發(fā)起的次數(shù)

臨時文件和臨時表

通過Create_tmp%來查看隱式臨時文件和臨時表的統(tǒng)計

select類型

select_*變量統(tǒng)計select查詢的計數(shù)器

  • Select_full_join 交叉連接或并沒有條件匹配表中行的連接的數(shù)目,如果存在,需要檢查sql語句
  • Select_full_range_join 使用在表t1中的一個值來從表t2中通過參考索引的區(qū)間內(nèi)獲取行所做的連接數(shù),比Select_scan開銷大些
  • Select_range 掃描表的一個索引區(qū)間的連接數(shù)目
  • Select_range_check 在表t2中重新評估表t1中的每一行的索引是否開銷最小所做的連接數(shù),意味著表t2中對該連接而言并沒有使用索引,這種查詢應(yīng)該避免,開銷很大
  • Select_scan 掃描整張表的連接數(shù)目

排序

  • Sort_merge_passes 依賴于sort_buffer_size服務(wù)器變量,sort_buffer_size來容納排序的行塊,當完成排序后,會將這些排序后的行合并到結(jié)果集中,此時就會增加Sort_merge_passes值
  • Sort_scan和Sort_range 當mysql從文件排序結(jié)果中讀取已經(jīng)排好序的行并返回給客戶端會導致這兩個變量的增長,如果是當Select_scan增加時Sort_scan增加;如果是Select_range增加時Sort_range增加

information_schema數(shù)據(jù)庫中關(guān)于innodb的表

information_schema數(shù)據(jù)庫中有幾個對于innodb的特殊表,可以用于監(jiān)控壓縮、事務(wù)和鎖

  • INNODB_CMP表 顯示壓縮表的詳細信息和統(tǒng)計信息
  • INNODB_CMP_RESET表 與INNODB_CMP信息相同,但是會在查詢表時將重置統(tǒng)計信息,可以定期跟蹤統(tǒng)計信息
  • INNODB_CMPMEM表 顯示在緩沖池中使用壓縮的詳細信息和統(tǒng)計信息
  • INNODB_CMPMEM_RESET表 與INNODB_CMPMEM信息相同,但是會在查詢表時將重置統(tǒng)計信息,可以定期跟蹤統(tǒng)計信息
  • INNODB_TRX表 顯示所有事務(wù)的詳細信息和統(tǒng)計信息,包括事務(wù)狀態(tài)和當前正在運行的查詢信息
  • INNODB_LOCKS表 顯示事務(wù)請求的鎖的詳細信息和統(tǒng)計信息,描述每個鎖的狀態(tài)、模式、類型等信息
  • INNODB_LOCK_WAITS表 顯示被阻塞的事務(wù)請求的鎖的詳細信息和統(tǒng)計信息,描述每個鎖的狀態(tài)、模式、類型和阻塞事務(wù)

以上就是MySQL監(jiān)控Innodb信息工作流程的詳細內(nèi)容,更多關(guān)于MySQL監(jiān)控Innodb信息的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 修改MySQL字符集的實現(xiàn)

    修改MySQL字符集的實現(xiàn)

    為確保MySQL客戶端默認使用utf8或utf8mb4字符集,需要修改客戶端啟動命令或客戶端配置文件,本文就來介紹一下修改MySQL字符集的實現(xiàn),感興趣的可以了解一下
    2024-10-10
  • mysql 中文亂碼 解決方法集錦

    mysql 中文亂碼 解決方法集錦

    主要是針對 1.4x版本的一些亂碼問題,其實新版本中錯誤也差不多,大家注意下編碼問題。
    2009-06-06
  • 準確獲取MySQL主從延遲時間的方法

    準確獲取MySQL主從延遲時間的方法

    既然是主從,是讀寫分離,那就不可避免會產(chǎn)生延遲,因為數(shù)據(jù)從主機同步到從機,總是需要時間的,那么如何準確獲取主從延遲的時間呢,本文小編給大家詳細介紹了準確獲取MySQL主從延遲時間的方法,需要的朋友可以參考下
    2025-03-03
  • 圖文介紹mysql中:=和=的區(qū)別

    圖文介紹mysql中:=和=的區(qū)別

    這篇文章主要給大家介紹了關(guān)于mysql中:=和=區(qū)別的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mysql具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • Mysql子查詢IN中使用LIMIT應(yīng)用示例

    Mysql子查詢IN中使用LIMIT應(yīng)用示例

    有3張表,infor信息表,mconfig物料配置表,maaply物料申請表,要求是讀出申請表中哪些人申請哪些物料,接下來為大家介紹下Mysql子查詢IN中使用LIMIT
    2014-01-01
  • 深入談?wù)凪ySQL中的自增主鍵

    深入談?wù)凪ySQL中的自增主鍵

    這篇文章主要給大家介紹了關(guān)于MySQL中自增主鍵的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 關(guān)于Mysql中文亂碼問題該如何解決(亂碼問題完美解決方案)

    關(guān)于Mysql中文亂碼問題該如何解決(亂碼問題完美解決方案)

    這篇文章給大家介紹關(guān)于Mysql中文亂碼問題該如何解決(亂碼問題完美解決方案)的相關(guān)資料,還給大家收集些關(guān)于MySQL會出現(xiàn)中文亂碼原因常見的幾點,小伙伴快來看看吧
    2015-11-11
  • MySql中的數(shù)據(jù)庫連接池詳解

    MySql中的數(shù)據(jù)庫連接池詳解

    這篇文章主要介紹了MySql中的數(shù)據(jù)庫連接池方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Windows下MySQL日志基本的查看以及導入導出用法教程

    Windows下MySQL日志基本的查看以及導入導出用法教程

    這篇文章主要介紹了Windows下MySQL日志基本的查看以及導入導出用法教程,需要的朋友可以參考下
    2015-11-11
  • MySQL 整表加密解決方案 keyring_file詳解

    MySQL 整表加密解決方案 keyring_file詳解

    這篇文章主要介紹了MySQL 整表加密解決方案 keyring_file詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07

最新評論