本文主要講解mysql的性能瓶頸分析、性能名額、性能名額資訊的搜集工具與方法、分析調優工具的使用。
文章尚未完成。
性能瓶頸:
慢、寫速度比讀速度慢很多
主要的性能名額:
通路頻度,
并發連接配接量,
緩存命中率,
index使用,
slow log開啟與分析,
query Log,查詢log
Threads_cached:連接配接線程緩存是否開啟 -> ON
thread_cache_size :線程緩存數的大小
query_cache_size: 查詢緩存大小
join_buffer_size :join buffer大小
tmp_table_size : tmp table 的大小 (> 16M)
max_heap_table_size: 最大堆表大小 (> 16M)
thread_cache_size : 初始連結緩存大小(start at 4)
table_open_cache: 打開表的緩存大小 (> 800)
innodb_buffer_pool_size : 緩沖池記憶體大小,供讀寫, 建議大于資料庫大小,全記憶體操作。(>= 371M)
另外還有: thread_concurrency : 并發通路線程大小限制,建議大小: (cpu*2)
mysql的運作狀态、性能名額搜集方法:
1.phpmyadmin可以檢視目前mysql的status,以及各個variables的狀态。
2.mycheckpoint工具:配置之後,可以設定為定時采集,并儲存到資料庫中,以web形式繪圖展現,比較友善,這篇文章介紹了mycheckpoint的使用配置方法。
3.mysql控制台檢視,進入mysql -uroot -p; 用show status like "xxx%"; 或 show variables like "xxx%"檢視;
4.dstat工具的mysql插件, 這篇文章有介紹dstat提供的mysql插件的使用方法,dstat --mysql5-io --mysql5-cmds --mysql5-keys 【詳見參考連結1】
5.mysql自帶的: mysql extended-status
mysql問題檢測,性能調優與建議工具:
1.percona-toolkit
2.tuning-primer
3.比較友善好用: mysqltuner.pl
參考連結:
1. 用dstat統計mysql的運作資訊
2. 淘寶的mysql優化方案分享ppt: http://files.cnblogs.com/files/ToDoToTry/mysql3-110411002242-phpapp02.ppt