二 MySQL基準測試

一、基準測試指標

 

吞吐量

單位時間內的事務處理數。這類基準測試主要針對在線事務處理(OLTP)的吞吐量,非常適用於多用戶的交互式應用。常用的測試單位是每秒事務數(TPS),每分鐘事務數(TPM)

 

響應時間或者延遲

這個指標用於測試讓任務所需的整體時間。根據具體的應用,測試的時間單位可能是微妙、毫秒、秒或者分鐘。根據不同的時間單位可以計算出平均響應時間,最小響應時間,最大響應時間和所佔百分比。

 

併發性

在任意時間有多少同時發生的併發請求。在應用的不同環節都可以測量相應的併發性。Web服務器的高併發,一般也會導致數據庫的高併發,但服務器使用的語言和工具集對此都會有影響。

 

可擴展性

可擴展性指的是,給系統增加一倍的工作,在理想情況下就能獲得兩倍的結果(即吞吐量增加一倍)。或者說,給系統增加一倍的資源(比如兩倍的CPU數),就可以獲得兩倍的吞吐量。當然,同時性能也必須在可以接受的範圍內。大多數系統是無法做到如此理想的線性擴展的。隨着壓力的變化,吞吐量和性能都可能越來越差。

 

 

二、基準測試方法

 

1、常見錯誤

(1)使用真實數據的子集而不是全集

(2)使用錯誤的數據分佈

(3)使用不真實的分佈參數

(4)在多用戶場景下,只做單用戶的測試

(5)在單服務器上測試分佈式應用

(6)與用戶真實行爲不匹配。例如Web頁面中的“思考時間”。真實用戶在請求到一個頁面後會閱讀一段時間,而不是不停頓地一個接一個點擊相關鏈接

(7) 反覆執行同一個查詢。真實的查詢是不盡相同的,這可能會導致緩存命中率降低

(8) 忽略了系統預熱的過程。例如系統重啓後馬上進行測試。有時候需要了解系統重啓後需要多長時間才能達到正常的性能容量,要特別留意預熱的時長。

(9) 使用默認的服務器配置

 

2、基準測試工具

 

2.1集中式測試工具

 

ab Apache HTTP服務器基準測試工具。

http_load 比ab更加靈活,可以通過一個輸入文件提供多個URL

JMeter 是一個Java應用程序,可以加載其他應用並測試其性能。JMeter比ab和http_load要複雜很多。例如,它可以通過控制預熱時間等參數,更加靈活地模擬真實用戶的訪問。JMeter擁有繪圖接口,還可以對測試進行記錄。

 

2.2 單組件式測試工具

 

mysqlslap

MySQL Benchmark Suite(sql-bench)

Super Smack

Database Test Suite

sysbench 一款多線程系統壓測工具。它可以根據影響數據庫服務器的各種因素來評估系統的性能。

一種全能測試工具,支持MySQL、操作系統和硬件的硬件測試

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章