工作中進行SQL優化的情況下,常常有這樣的問題,SQL已經全部利用索引,請求的資料量較小, 總的資料量不大的情況下,仍有很多慢查詢的出現(我們規定是>20ms)。這個時候就要關注我們的并發量,事務鎖,的情況。
對于遊戲來說,DB存在大量的insert 、update 可謂玩家的很多動作都會與DB溝通。
本文暫時忽略OS 中的 IO使用率,網卡流量,CPU變化情況,介紹如何檢視MySQL部分參數
檢視每秒事務數:
show global status like 'com_commit';
show global status like 'com_rollback';
TPS=(com_commit+com_rollback)/seconds
檢視每秒查詢的數量:
mysqladmin status 取出QPS
查詢SQL執行狀态:
show processlist; 截取sql,執行狀态,
檢視連接配接數:
show status like 'Threads%';
Threads_connected 已經打開的線程數
Threads_running 處于活動的線程
對于MySQL高并發優化經驗可參考: http://www.gxldan.com/archives/203.html
高性能MySQL 第三版 下載下傳連結: http://vdisk.weibo.com/s/hhS9w
生産環境維護 參考:http://www.mysqlops.com/2011/09/02/mysql-fault-manual.html
以上狀态腳本 稍後放出!