MYSQL工作原理與效能監控分析點說明

2021-09-23 07:51:53 字數 1054 閱讀 6574

我們在效能測試監控mysql資料庫時,作為專業非功能性測試人員,我們需要了解作業系統工作原理、業務實現架構邏輯、應用架構實現邏輯、資料庫工作原理,才能真正的做好非功能性測試,而大部分業務型交易問題都是因為資料庫問題原因產生的效能瓶頸,而更多數情況都是因為對資料庫出現問題的情況和處理思路不清晰。在進行mysql的優化之前必須要了解的就是mysql的查詢過程,也就是實際前端業務操作到從磁碟撈取資料整個實現過程如果運作,了解了這些,明白查詢優化是遵循mysql優化器方式執行,具體如下圖:

**讀寫資料原理**

1、步驟一與資料庫連線建立:

連線管理模組會建立連線,並請求乙個連線線程。如果連線池中有空閒的連線線程,則分配給這個連線,如果沒有,在沒有超過最大連線數的情況下,建立新的連線線程負責這個客戶端。

2、步驟二檢查語法

接下來驗證使用者是否有許可權。例如你有註冊,檢視該使用者是會員使用者,方可提供點餐服務,連線線程開始接收並處理來自客戶端的sql語句。連線線程接收到sql語句之後,將語句交給sql語句解析模組進行語法分析和語義分析。

3、步驟三檢查快取

如果是查詢語句,則可以先看查詢快取中是否有結果,如果有結果可以直接返回給客戶端。

4、步驟四檢查引擎優化

如果查詢快取中沒有結果,就需要真的查詢資料庫引擎層了,於是發給sql優化器,進行查詢的優化。就是請求資料庫引擎層,開啟表,接下來的處理過程就到了資料庫引擎層,例如innodb。

5、步驟五,資料讀取方式

在資料庫引擎層,要先查詢快取是否有資料,如果有直接返回,如果沒有就要從磁碟上去讀取,把磁碟中找到相應的資料載入到快取中,下次讀取直接從快取讀取從而使得後面的查詢更加高效。

6、步驟六,關閉連線

獲取資料後返回給客戶端,關閉連線,釋放連線線程,過程結束。

**效能問題監控分析:**

如果語法寫的有問題,則在從磁碟撈取資料時會出現磁碟io高或者cpu高,如果語法分析沒問題,則看快取頁配置是否太小了,或者本身物理記憶體就小,給快取的空間就少了。

mysql 效能監控

show status flush status 檢視當前連線數 show status like thread thread cached 被快取的執行緒的個數 thread running 處於啟用狀態的執行緒的個數 thread connected 當前連線的執行緒的個數 thread cre...

mysql效能監控

使用mysql不僅僅需要能簡單的crud,還需要進行效能調優,不管是工作中還是去面試這都比較重要,要想學會mysql調優首先得學會監控mysql的效能,不多說廢話,直接開幹 mysql是自帶監控工具的,有的版本可能預設開啟,有的可能關閉的,所以首先檢查profiling是否開啟 如上profilin...

mysql效能監控指令

qps queries per seconds 每秒鐘查詢數量 查詢所有的全域性狀態 show global status 查詢qps show global status like questions tps tranaction per seconds 每秒鐘事務數 tps com commit...