mysql性能仪表盘_mysql-笔记-性能
Mysqldump 工具 導(dǎo)出數(shù)據(jù)到文件
Alter table mytable engine= innodb 修改表的存儲引擎
Insert select導(dǎo)入數(shù)據(jù)到其他引擎 prercona toolkit 提供的pt-online-schema-change 工具
基準(zhǔn)測試 先確定測試目標(biāo)
指標(biāo):吞吐量 單位時間內(nèi)的事務(wù)處理數(shù) http://www.tpc.org 參考 主要針對在線事務(wù)處理的吞吐量,適用于多用戶的交互式應(yīng)用。常用 的測試單位是每秒事務(wù)數(shù)TPS
響應(yīng)時間:用于測試任務(wù)所需的整體時間。最大響應(yīng)時間每次都不同,可以使用百分比響應(yīng)時間 percentile response time 來替代最大響應(yīng)時間。
并發(fā)性:在任意時間有多少同時發(fā)生的并發(fā)請求。關(guān)注正在工作中的并發(fā)操作,測試應(yīng)用在不同并發(fā)下的性能
mysql數(shù)據(jù)庫的并發(fā)性可以通過 sysbench 指定 32 64 128個線程的測試。記錄mysql數(shù)據(jù)庫的 threads_running 狀態(tài)值
可擴(kuò)展性:
測試規(guī)劃應(yīng)該記錄測試數(shù)據(jù)、系統(tǒng)配置的步驟、如何測試和分析結(jié)果、以及預(yù)熱的方案等
應(yīng)建立將參數(shù)和結(jié)果文檔化的規(guī)范
Pt-diskstats 工具 捕獲/proc/diskstats的數(shù)據(jù)為后續(xù)分析磁盤IO使用。
腳本語言:shell php perl 盡可能地使所有測試過程都自動化 包括 裝載數(shù)據(jù)、系統(tǒng)預(yù)熱、執(zhí)行測試、記錄結(jié)果
基準(zhǔn)測試工具 ---集成式測試工具
1 Ab 是一個apache http 服務(wù)器基準(zhǔn)測試工具 可以測試http服務(wù)器每秒可以處理多少請求。只能針對單個url 進(jìn)行盡可以快的壓力測試。
Http_load 對web服務(wù)器進(jìn)行測試。可以通過一個輸入文件提供多個url
Jmeter 是一個java 應(yīng)用程序,可以加載其他應(yīng)用并測試其性能。可以用于測試其他諸如FTP服務(wù)器,測試web應(yīng)用,或者通過jDbc進(jìn)行數(shù)據(jù)庫查詢測試
Mysql 的benchmark()函數(shù),可以測試某些特定操作的執(zhí)行速度,參數(shù)可以是執(zhí)行的次數(shù)和表達(dá)式
Set @ input :='hello world'; Benchmark(100000,md5(@input)); benchmark(100000,sha1(@input));
mysql基準(zhǔn)測試套件:在安裝目錄 下的sql-bench 子目錄中
Sysbench 可以執(zhí)行多種類型的基準(zhǔn)測試,可以用于測試數(shù)據(jù)庫的性能,數(shù)據(jù)庫服務(wù)器的性能
mysql剖析服務(wù)器性能:
New relic 插入到應(yīng)用程序中進(jìn)行性能剖析,將收集到的數(shù)據(jù)發(fā)送到一個基于WEB的儀表盤。瀏覽器、應(yīng)用代碼、數(shù)據(jù)庫及其他外部調(diào)用。
IFP工具
2 慢查詢?nèi)罩?是開銷最低、精度最高的測量查詢時間的工具。帶來的開銷可以忽略不計。生成剖析報告再分板查詢?nèi)罩?工具:pt-query-digest
通用日志:在查詢請求到服務(wù)器時進(jìn)行記錄,不包含響應(yīng)時間和執(zhí)行計劃
v/m :方差均值比也就是離差指數(shù),離差指數(shù)商的查詢對應(yīng)的執(zhí)行時間的變化較大,通常值得優(yōu)化。
Show profile 查詢剖析工具 默認(rèn)是禁用的,在會話級別動態(tài)修改:set profiling=1;
Select * from tt1 ; show profiles; show profile for query 2; select state,duration from information_schema.profiling order by duration;
Show status; 返回一些計數(shù)器包含:全局計數(shù)器、會員級另計數(shù)器。Show global status; 從服務(wù)器啟動時開始計算的查詢次數(shù)統(tǒng)計。
慢查詢?nèi)罩局性敿?xì) 記錄的條目包含了show profile 和show status所有的輸出。通過 pt-query-digest(用于分析mysql慢查詢的一個工具) 發(fā)現(xiàn) 壞 查詢后,在慢查詢?nèi)罩?中可以獲得足夠有用的信息
Explain 顯示了mysql如何使用索引來處理select語句以及連接表,在select 語句前加上explain就可以:
Explain select * from a,b where a.id=b.id
dns是一個域名系統(tǒng),是萬維網(wǎng)上作為域名和IP地址相互映射的一個分布式數(shù)據(jù)庫。能夠使用戶更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串
開啟慢查詢?nèi)罩?#xff0c;可以讓mysql記錄下查詢超過指定時間的語句
Slow_query _log 慢查詢開啟狀態(tài)
Slow_query_log_file 慢查詢?nèi)罩敬娣诺奈恢?#xff0c;這個目錄需要mysql的運(yùn)行賬號的可寫權(quán)限,一般設(shè)置為mysql的數(shù)據(jù)存放目錄
Long_query_time查詢超過多少秒才記錄
Show variables like 'slow_query%'; show variables like 'long_query_time';
將slow_query_log 全局變量設(shè)置為 on 狀態(tài):set global slow_query_log='ON';
設(shè)置慢查詢?nèi)罩敬娣诺奈恢?#xff1a;set global slow_query_log_file='/usr/local/mysql/data/slow.log';
查詢超過1秒就記錄:set global long_query_time=1;
配置文件設(shè)置:my.cnf 在[mysqld]下加入 slow_query_log=ON slow_query_log_file=/slow.log long_query_time=1
重啟mysql服務(wù):
測試:select sleep(2);
總結(jié)
以上是生活随笔為你收集整理的mysql性能仪表盘_mysql-笔记-性能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SDN学习之旅-RYU笔记(2)
- 下一篇: SDN学习之旅-RYU笔记(1)