一、是什麼?
基準測試是針對系統設計的一種壓力測試
目標是為了掌握系統的行為
二、為什麼?
基準測試是唯一方便有效的、可以學習系統在給定的工作負載下會發生什麼的方法。
基準測試中的壓力不是來自真實,相對真實壓力來說比較簡單
基準測試通常要求盡可能快地完成,所以經常給系統造成過大壓力
使用基準測試進行容量規劃不能只根據測試結果做簡單的推斷,我們只能進行大概的測試,來確定系統大致的餘量有多少。
三、基準測試的策略
基準測試有兩種策略:
1、整合式基準測試,針對整個系統的整體測試,應用的場景:需要盡可能的體現應用的整體效能
2、單元件式基準測試,單獨測試mysql,應用的場景:在專案的初期
四、測試指標
1、吞吐量
單位時間內的事務處理數
測試單位是每秒事務數(tps),有些也採用每分事務數(tpm)
2、響應時間或延遲
任務所需的整體時間
根據不同的時間單位可以計算出平均響應時間、最小響應時間、最大響應時間和所佔百分比
最大響應時間通常意義不大,可以使用百分比響應時間來替代,比如95%的響應時間都是5毫秒,則表示任務在95%的時間段內都可以5毫秒完成
3、併發性
web伺服器的併發性的度量指標是在任意時間有多少同時發生的併發請求。
併發性基準測試需要關注的是正在工作中的併發操作,或者是同時工作中的執行緒數或者連線數。
併發性測試通常不是為了測試應用能達到的併發度,而是為了測試應用在不同併發下的效能(併發增加時,測量吞吐量是否下降,響應時間是否延長)
4、可擴充套件性
給系統增加一倍的工作,在理想情況下就能獲得兩倍的結果(即吞吐量增加一倍),或者說給系統一倍的資源(比如兩倍的cpu數),就可以獲得兩倍的吞吐量
可擴充套件性指標對於容量規範非常有用,它可以提供其他測試無法提供的資訊,發現應用的瓶頸。
根據指標去制定需求(比如什麼樣的響應時間可以接受、期待多少的併發性),然後基於這些需求來設計基準測試
五、基準測試方法
測試前先避免以下的常見問題:
1、使用真實資料的子集而不是全集
2、使用錯誤的資料分布
3、使用不真實的分布引數
4、在多使用者場景中,只做單使用者的測試
5、在單伺服器上測試分布式應用
6、與真實使用者行為不匹配
7、反覆執行同乙個查詢
8、沒有檢查錯誤,基準測試完成後,一定要檢查一下錯誤日誌
9、忽略了系統預熱的過程,需要了解系統重啟後需要多長時間才能達到正常的效能容量
10、使用預設的伺服器配置
11、測試時間太短
設計和規劃基準測試
mysql基準測試例項 mysql基準測試
toc 單位時間內所處理的事務數 tps 單位時間內所處理的查詢數 qps 響應時間 平均響應時間,最小響應時間,最大響應時間,各時間所佔百分比 併發量 同時處理的查詢請求的數量 併發量不等於連線數 正在工作的併發的操作或同時工作的數量 工具 mysqlslap mysql自帶的 特點 可以模擬伺服...
mysql 基準測試指令碼 MySQL基準測試
常見指標 tps transaction per second qps query per second 響應時間 併發量步驟 計畫和設計基準測試 準備基準測試及資料收集指令碼 容易忽略的問題 使用生產環境資料時只使用了部分資料 在多使用者場景中,只做單使用者的測試 在單伺服器上測試分布式應用 反覆...
mysql 基準測試報告 Mysql基準測試
一 基準測試 基準測試的作用 了解當前系統的效能,建立mysql伺服器效能基準線 為之後的效能優化提供乙個超始線 模擬比當前系統更高的負載,找出系統的擴充套件瓶頸,為系統擴充套件與優化提供參考條件 測試不同的硬體 軟體和作業系統配置 證明新的硬體裝置是否配置正確和是否是最優配置 基準測試可以分為整合...