一為什麼需要基準測試
唯一友善有效,可以學習系統在給定的工作負載下會發生什麼的方法。可以觀察系統在不同的壓力下的行為,評估系統的容量,掌握哪些是重要的變化,或者觀察系統如何處理不同的資料
二基準測試的政策
兩種:針對整個系統的整體測試、單獨測試MYSQL
三測試何種名額
1.吞吐量
線上業務事務處理(OLTP)吞吐量,測試機關每秒事務數(TPS),每分鐘事務數(TPM)
2.響應時間或者延遲
根據不同的時間機關可以計算出平均響應時間,最小響時間,最大響應使勁和所占百分比
3.并發性
需要關注的是正在工作中的并發操作,或者同時工作中的線程數或連接配接數,當并發性增加時,需要測量吞吐量是否下降,響應使勁是否變長
4.可擴充性
給系統增加一倍的工作量,在理想條件下能獲得兩倍的結果。
四基準測試時間
讓測試一直運作,持續觀察直到确認系統已經穩定
五擷取系統性能和狀态
CPU使用率、磁盤I/O、網絡流量統計、SHOW GLOBAL STATUS計數器等
四基準測試工具
內建式測試工具:
ab apache HTTP伺服器基準測試工具,隻能測試單個URL
http_load 和ab類似,可以通過一個輸入檔案提供多個URL
JMeter 可以加載其他應用并測試其性能,功能多,較複雜
單元件測試工具
mysqlslqp 可以模拟伺服器的負載,并輸出計時資訊。測試時,可以執行并發連接配接數,并指定SQL語句。
mysql Benchmark suite(sql-bench)
主要用于測試伺服器執行查詢的速度,單線程
Super Smack
用于Mysql和PostgreSQL的基準測試工具,可以提供壓力測試和負載生成。可以模拟多使用者通路
Database Test Suite
Percona'sTPCC-MySQL Tool 類似TPC-C基準測試工具集
sysbench
多線程系統壓測工具,可以根據影響資料庫伺服器性能的各種因素來評估系統的性能,可以測試檔案I/0、操作心态排程器、記憶體配置設定和傳輸速度、POSIX線程,以及資料庫伺服器等。
支援Mysql、作業系統和硬體測試。
五基準測試案例
sysbench
sysbench的CPU基準測試:
sysbench --test=cput --cpu-max-prime=20000 run
sysbench的檔案I/O基準測試:
先生成測試資料檔案,大小大于記憶體大小
sysbench --test=fileio --file-total-size=150G prepare
sysbench --tst=fileio --file-total-size=150G --file-test-mode=rndrw/ --init-rng=on --max-time=300 --max-requests=0 run
seqwr順序寫入 seqewr順序重寫 seqrd順序讀取 rndrd随機讀取 rndwr随機寫入 rndrw混合随機讀/寫
删除測試檔案
sysbench --test=fileio --file-total-szie=150G cleanup
本文轉自 穿越防火牆 51CTO部落格,原文連結:http://blog.51cto.com/sjitwant/1932532