溫馨提示×

溫馨提示×

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

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

獲取MySQL整體性能的狀態(tài)

發(fā)布時間:2020-04-24 14:58:55 來源:億速云 閱讀:230 作者:三月 欄目:建站服務(wù)器

本文主要給大家介紹獲取MySQL整體性能的狀態(tài),希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續(xù)在億速云行業(yè)資訊里面關(guān)注我的更新文章的。

獲取云服務(wù)器整體的性能狀態(tài)

首先對一個數(shù)據(jù)庫服務(wù)器進(jìn)行性能優(yōu)化需要先知道服務(wù)器當(dāng)前主要的性能問題出現(xiàn)在哪里,在這點sql server也是類似,sql server首先會分析當(dāng)前服務(wù)器的等待類型的情況。

我們可以使用show [session|global] status命令來獲取想要的信息,默認(rèn)是顯示當(dāng)前連接的所有統(tǒng)計參數(shù)值,還可以直接查詢information_schema數(shù)據(jù)庫中的session_status表。

show  status;
#或者使用use information_schema;select * from SESSION_STATUS;

我當(dāng)前的mysql版本是5.6.21,總共查詢出了341行參數(shù)。

這里有一篇文章詳細(xì)分析了每一個參數(shù)值的所代表的意思:http://blog.sina.com.cn/s/blog_68baf43d0100vu2x.html

SQL操作計數(shù)

接下來我們主要分析里面的com_參數(shù),com_參數(shù)各種SQL對數(shù)據(jù)庫執(zhí)行的操作。

獲取MySQL整體性能的狀態(tài)

show  status like 'com_%';
#或者使用use information_schema;select * from SESSION_STATUS WHERE variable_name like 'com_%';

獲取MySQL整體性能的狀態(tài)

 各種SQL操作計數(shù)總共有142個,不同的版本結(jié)果不一樣,接下來就來測試一下,表中的alter table的當(dāng)前連接的操作次數(shù)為0,現(xiàn)在我修改一下表看看結(jié)果。

ALTER TABLE test ADD Name CHAR(10) NOT NULL;

show  status like 'com_%';

獲取MySQL整體性能的狀態(tài)

可以看到alter_table計數(shù)增加了1。

com_計數(shù)里面有幾個比較重要的參數(shù),其它的一些參數(shù)也經(jīng)常用來做參考。

com_delete:執(zhí)行delete操作的次數(shù)。

com_select:執(zhí)行select操作的次數(shù)。

com_insert:執(zhí)行insert操作的次數(shù),對應(yīng)批量插入操作無論里面循環(huán)多少次都只算一次。

com_update:執(zhí)行update操作的次數(shù)。

com_commit:執(zhí)行事務(wù)提交的次數(shù)。

com_rollback:執(zhí)行事務(wù)回滾的次數(shù)。

 

上面的計數(shù)包括所有的存儲引擎,有幾個參數(shù)是單獨針對innodb存儲引擎,記錄了read,inserted,updated,deleted每種操作的行數(shù)。

show  status like 'innodb_rows%';
#或者使用use information_schema;select * from SESSION_STATUS WHERE variable_name like 'innodb_rows%';

定位效率低的SQL語句

1.可以通過慢查詢?nèi)罩緛矶ㄎ?,慢查詢只能查詢已?jīng)執(zhí)行結(jié)束的語句,如果要查詢當(dāng)前正發(fā)生的問題無法做到,這個方法在后面一篇文章介紹mysql日志會詳細(xì)介紹。

獲取MySQL整體性能的狀態(tài)

 

由于我將慢查詢的時間設(shè)為0.01秒,所以超過這個值的都會記錄下來,上面的截圖就是慢查詢?nèi)罩纠锩娴囊粭lSQL操作記錄,記錄中記錄了在什么時候執(zhí)行的操作,執(zhí)行操作的用戶信息,執(zhí)行花了0.19秒,鎖花了0.001秒,返回了0行,查詢了1行。

2.使用show processlist命令查詢當(dāng)前進(jìn)行線程,該命令經(jīng)常用來分析當(dāng)前服務(wù)器的狀況。

獲取MySQL整體性能的狀態(tài)

 上圖中有后四個字段需要理解,其中

command:記錄了當(dāng)前查詢的一個狀態(tài),休眠(sleep),查詢(query),連接(connect)。

Time:持續(xù)的時間,單位是秒,經(jīng)常會使用這個值來做分析操作。

state:當(dāng)前語句的狀態(tài),這個狀態(tài)值很重要,這個狀態(tài)值很多,大家可以去了解一下,上圖就是等待表解鎖。

info:記錄操作語句

 3.借助第三方監(jiān)控工具

看了以上關(guān)于獲取MySQL整體性能的狀態(tài),希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時售前售后,隨時幫您解答問題的。

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

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

AI