InnoDB Monitors
InnoDB監(jiān)視器提供有關InnoDB內(nèi)部狀態(tài)的信息。 這些信息對于性能調(diào)優(yōu)非常有用。其實所謂的監(jiān)視器,就是 show engine innodb status 命令。
InnoDB監(jiān)視器類型
有兩種類型的InnoDB監(jiān)視器:
1. 標準InnoDB監(jiān)視器(The standard InnoDB Monitor)顯示以下類型的信息:
- 每個活動事務持有的表和記錄鎖
- 事務的鎖等待
- 線程的信號量等待
- 待處理文件的I/O請求 (Pending file I/O requests)
- 緩沖池統(tǒng)計信息 (Buffer pool statistics)
- InnoDB 主線程的 purge buffer 和 insert buffer 歸并活動(merge activity)
2. InnoDB鎖定監(jiān)視器(The InnoDB Lock Monitor)將額外的鎖信息作為標準InnoDB監(jiān)視器輸出的一部分進行打印。
開啟?InnoDB Monitor
開啟??standard InnoDB Monitor (需要PROCESS權限)
> set GLOBAL innodb_status_output=ON;上面的語句可定期寫入到標準錯誤輸出(stderr,即error log,大概每15s寫一次),你也可以使用?SHOW ENGINE INNODB STATUS 語句直接在客戶端獲取innodb信息。
而開啟 InnoDB Lock Monitor 需要同時打開以下2個參數(shù),它的信息也是隨 InnoDB Standard Monitor 的信息一起打印出來:
> set GLOBAL innodb_status_output=ON; > set GLOBAL innodb_status_output_locks=ON;InnoDB 標準監(jiān)視器和鎖監(jiān)視器的輸出信息
鎖監(jiān)視器與標準監(jiān)視器基本相同,只是它包含了附加的鎖信息(lock information)。
?
CREATE TABLE 句法只不過是為了通過 MySQL SQL 語法分析而提供給 InnoDB 引擎命令的一種方式:那個被創(chuàng)建的表根本與 InnoDB Monitor 無任何關系。如果你在監(jiān)視器運行著的狀態(tài)下關閉數(shù)據(jù)庫,并且你需要再次啟動監(jiān)視器, 那么你不得不在發(fā)出一個新的 CREATE TABLE 來啟動監(jiān)視器之前先移除(drop)這個表。
與之相類似的,你可以啟動 innodb_lock_monitor ,它在某些方面與 innodb_monitor 一致,但是它會顯示更多的鎖定信息。一個單獨的 innodb_tablespace_monitor 將顯示在現(xiàn)有表空間內(nèi)所建立的文件段列表以及可以分配數(shù)據(jù)結構的有效表空間。從 3.23.44 開始,提供了 innodb_table_monitor ,通過它可以獲得 InnoDB 內(nèi)部數(shù)據(jù)字典的信息。
?
輸出信息的某些注意點:
如果 TRANSACTIONS 部分報告鎖定等待(lock waits),那么你的應用程序可能有鎖爭用(lock contention)。輸出信息可以幫助跟蹤事務死鎖的原因。
SEMAPHORES 部分報告線程等待信號量以及統(tǒng)計出線程需要旋轉(spin)或等待(wait)一個互斥(mutex)或 rw-lock 信號量的次數(shù)。一個較大的線程等待信號量的次數(shù)可能是由于磁盤 I/O 引起,或 InnoDB 內(nèi)部的爭用問題(contention problems)。爭用(Contention)可能是由于比較繁重的并發(fā)性查詢,或操作系統(tǒng)的線程調(diào)度的問題。 在這種情形下,可將 innodb_thread_concurrency 設置地小于默認的 8 。
FILE I/O 部分列出了文件 I/O 的等待請求。過大的值就意味著磁盤 I/O 瓶頸。
BUFFER POOL AND MEMORY 部分給出了頁面讀寫的統(tǒng)計。通過這些值可以計算出你的查詢通常所需的數(shù)據(jù)文件 I/O 量。?
?
轉載于:https://www.cnblogs.com/wsxnihao/p/11613643.html
總結
以上是生活随笔為你收集整理的InnoDB Monitors的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树莓派工程设计常见问题与处理
- 下一篇: 2019-10-12 欧拉公式的理解