MySQL 分析服務(wù)器狀態(tài)
操作執(zhí)行
香港CN2服務(wù)器、企業(yè)級CN2 GIA雙程專線高速回國T3機(jī)房香港、美國、韓國、海外物理服務(wù)器熱銷中!
獲取服務(wù)器整體的性能狀態(tài)
首先對一個(gè)數(shù)據(jù)庫服務(wù)器進(jìn)行性能優(yōu)化需要先知道服務(wù)器當(dāng)前主要的性能問題出現(xiàn)在哪里,在這點(diǎn)sqlserver也是類似,sqlserver首先會分析當(dāng)前服務(wù)器的等待類型的情況。
我們可以使用showsession|globalstatus命令來獲取想要的信息,默認(rèn)是顯示當(dāng)前連接的所有統(tǒng)計(jì)參數(shù)值,還可以直接查詢information_schema數(shù)據(jù)庫中的session_status表。
showstatus;#或者使用useinformation_schema;select*fromSESSION_STATUS;
我當(dāng)前的MySQL版本是5.6.21,總共查詢出了341行參數(shù)。
這里有一篇文章詳細(xì)分析了每一個(gè)參數(shù)值的所代表的意思:blog.sina.com.cn/s/blog_68baf43d0100vu2x.html
SQL操作計(jì)數(shù)
接下來我們主要分析里面的com_參數(shù),com_參數(shù)各種SQL對數(shù)據(jù)庫執(zhí)行的操作。
showstatuslike'com_%';#或者使用useinformation_schema;select*fromSESSION_STATUSWHEREvariable_namelike'com_%';
各種SQL操作計(jì)數(shù)總共有142個(gè),不同的版本結(jié)果不一樣,接下來就來測試一下,表中的altertable的當(dāng)前連接的操作次數(shù)為0,現(xiàn)在我修改一下表看看結(jié)果。
ALTERTABLEtestADDNameCHARNOTNULL;showstatuslike'com_%';
可以看到alter_table計(jì)數(shù)增加了1。
com_計(jì)數(shù)里面有幾個(gè)比較重要的參數(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ù)。
上面的計(jì)數(shù)包括所有的存儲引擎,有幾個(gè)參數(shù)是單獨(dú)針對innodb存儲引擎,記錄了read,inserted,updated,deleted每種操作的行數(shù)。
showstatuslike'innodb_rows%';#或者使用useinformation_schema;select*fromSESSION_STATUSWHEREvariable_namelike'innodb_rows%';
定位效率低的SQL語句
1.可以通過慢查詢?nèi)罩緛矶ㄎ?,慢查詢只能查詢已?jīng)執(zhí)行結(jié)束的語句,如果要查詢當(dāng)前正發(fā)生的問題無法做到,這個(gè)方法在后面一篇文章介紹mysql日志會詳細(xì)介紹。
由于我將慢查詢的時(shí)間設(shè)為0.01秒,所以超過這個(gè)值的都會記錄下來,上面的截圖就是慢查詢?nèi)罩纠锩娴囊粭lSQL操作記錄,記錄中記錄了在什么時(shí)候執(zhí)行的操作,執(zhí)行操作的用戶信息,執(zhí)行花了0.19秒,鎖花了0.001秒,返回了0行,查詢了1行。
2.使用showprocesslist命令查詢當(dāng)前進(jìn)行線程,該命令經(jīng)常用來分析當(dāng)前服務(wù)器的狀況。
上圖中有后四個(gè)字段需要理解,其中
command:記錄了當(dāng)前查詢的一個(gè)狀態(tài),休眠(sleep),查詢(query),連接(connect)。
Time:持續(xù)的時(shí)間,單位是秒,經(jīng)常會使用這個(gè)值來做分析操作。
state:當(dāng)前語句的狀態(tài),這個(gè)狀態(tài)值很重要,這個(gè)狀態(tài)值很多,大家可以去了解一下,上圖就是等待表解鎖。
info:記錄操作語句
3.借助第三方監(jiān)控工具
Tags:操作執(zhí)行,MySQL 分析服務(wù)器狀態(tài)
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。