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