溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

percona監(jiān)控mysql的幾張圖形是怎樣的

發(fā)布時(shí)間:2021-11-20 09:11:44 來(lái)源:億速云 閱讀:120 作者:柒染 欄目:MySQL數(shù)據(jù)庫(kù)

本篇文章為大家展示了percona監(jiān)控mysql的幾張圖形是怎樣的,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

percona監(jiān)控mysql的幾張圖形解釋

最近,我仔細(xì)研究了一下percona監(jiān)控mysql的幾張圖的含義。

Com_XXX表示每個(gè)XXX語(yǔ)句執(zhí)行的次數(shù)如:
Com_select 執(zhí)行select操作的次數(shù),一次查詢只累計(jì)加1
Com_update 執(zhí)行update操作的次數(shù)
Com_insert 執(zhí)行insert操作的次數(shù),對(duì)批量插入只算一次。
Com_delete 執(zhí)行delete操作的次數(shù)

只針對(duì)于InnoDB存儲(chǔ)引擎的操作次數(shù):

percona監(jiān)控mysql的幾張圖形是怎樣的

Innodb_rows_deleted 從InnoDB表刪除的行數(shù)。

Innodb_rows_inserted 插入到InnoDB表的行數(shù)。

Innodb_rows_read 從InnoDB表讀取的行數(shù)。

Innodb_rows_updated InnoDB表內(nèi)更新的行數(shù)。

上圖數(shù)據(jù)來(lái)源于: show global status like '%innodb_row%'

InnoDB semaphore

percona監(jiān)控mysql的幾張圖形是怎樣的

InnoDB信號(hào)量圖顯示有關(guān)InnoDB信號(hào)量活動(dòng)的信息:旋轉(zhuǎn)輪數(shù),旋轉(zhuǎn)

等待,操作系統(tǒng)等待。您可能會(huì)看到這些圖在高并發(fā)或爭(zhēng)用期間出現(xiàn)峰值。這些圖表

基本上表示獲取行鎖或互斥鎖所涉及的不同類型的活動(dòng),這是導(dǎo)致性能不佳的原因

在某些情況下,縮放。

上面數(shù)據(jù)來(lái)源于:

mysql> show engine innodb status \G;

SEMAPHORES(信號(hào)量)

OS WAIT ARRAY INFO: reservation count 6428579

OS WAIT ARRAY INFO: signal count 6391102

Mutex spin waits 10807638, rounds 51362184, OS waits 1135246

RW-shared spins 5183147, rounds 154424701, OS waits 5133668

RW-excl spins 187041, rounds 4866289, OS waits 132629

Spin rounds per wait: 4.75 mutex, 29.79 RW-shared, 26.02 RW-excl

czxin注釋:"spin waits" 和 "spin rounds" 的數(shù)量。相較于系統(tǒng)等待,自旋鎖是低成本的等待;不過(guò)它是一個(gè)活躍的等待,會(huì)浪費(fèi)一些cpu資源。因此如果看到大量的自旋等待和自旋輪轉(zhuǎn),則很顯然它浪費(fèi) 了很多cpu資源。浪費(fèi)cpu時(shí)間和無(wú)謂的上下文切換之間可以用 innodb_sync_spin_loops 來(lái)平衡。

reservation count" 和 "signal count" 顯示了 innodb 使用內(nèi)部同步陣列的活躍程度 - 時(shí)間片(slot)分配以及線程信號(hào)使用同步陣列的頻繁程度。這些統(tǒng)計(jì)信息可以用于表示 innodb 回退到系統(tǒng)等待的頻率。還有關(guān)于系統(tǒng)等待的直接相關(guān)信息,可以看到"OS Waits"的互斥信號(hào)燈(mutexes),以及讀寫(xiě)鎖。這些信息中顯示了互斥鎖和共享鎖。系統(tǒng)等待和 "保留(reservation)" 不完全一樣,在回退到用 sync_array 的復(fù)雜等待模式前,innodb 會(huì)嘗試 "輸出(yield)" 到系統(tǒng),希望下一次調(diào)度時(shí)間對(duì)象里命名線程已經(jīng)釋放了。系統(tǒng)等待相對(duì)較慢,如果每秒發(fā)生了上萬(wàn)次系統(tǒng)等待,則可能會(huì)有問(wèn)題。另一個(gè)觀察方法是查看系統(tǒng)狀態(tài) 中的上下文(context)交換頻率。

鎖資源

percona監(jiān)控mysql的幾張圖形是怎樣的

上圖表示行鎖的等待。

innodb_lock_wait 指的是不能立即獲取行鎖而需要等待的次數(shù)/每秒。

上圖的數(shù)據(jù)來(lái)源于show global status like 'innodb_lock_wait'

MySQL table locks

percona監(jiān)控mysql的幾張圖形是怎樣的

上圖表示的是表級(jí)鎖的等待

Table_locks_immediate 指的是能夠立即獲得表級(jí)鎖的次數(shù)/每秒, 

Table_locks_waited指的是不能立即獲取表級(jí)鎖而需要等待的次數(shù)/每秒。

上圖數(shù)據(jù)來(lái)源于show global status like '%table_lock%'

Innodb table in use

percona監(jiān)控mysql的幾張圖形是怎樣的

InnoDB Tables In Use(使用中的InnoDB表)圖顯示了InnoDB有多少表在使用中以及有多少表被鎖定。如果有

在這些圖中,您可能還會(huì)看到鎖等待中的峰值以及查詢之間的其他爭(zhēng)用跡象。

上面的innodb tables in use和innodb locked tables兩個(gè)參數(shù)值來(lái)自于show engine innodb status \G;搜索 table即可找到。注意這兩個(gè)值不是每秒的值,而是真實(shí)值。

上述內(nèi)容就是percona監(jiān)控mysql的幾張圖形是怎樣的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI