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