本文主要講解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
參考鏈接:
2. 淘寶的mysql優化方案分享ppt: http://files.cnblogs.com/files/ToDoToTry/mysql3-110411002242-phpapp02.ppt