mysql基準 Mysql Mysql基準測試

2021-10-17 12:24:28 字數 2672 閱讀 7980

基準測試定義

基準測試其實是一種測量和評估軟體效能指標的方法,用於建立某個時間點的效能基準,以便當系統的軟硬體發生變化的時候重新進行基準測試以評估變化對效能的影響。所以對系統效能的測量,才能知道我們的優化是否達到了預期的效果,這樣對系統的效能測試叫做基準測試,也是針對系統設定的一種壓力測試,觀察系統在不同壓力下的表現,評估系統的容量。不過基準測試和壓力測試還是有點區別的。

基準測試要盡量的直接,簡單,各個測試後結果要容易比較,基準測試所用的資料的都是測試工具所生成的,只能用於評估伺服器的處理能力。而壓力測試通常是針對真實的業務資料進行測試,獲得系統真實所能承受的壓力。所用基準測試是一種簡化的壓力測試,並且基準測試不關心具體的業務邏輯,所進行的測試是和真實的業務並沒有關係。

基準測試的目的

1.建立mysql伺服器的效能基準線,確定當前mysql伺服器運**況。可以從歷史記錄去比較來診斷應用**現的問題。

2.模擬比當前系統更高的負載,以找出系統擴充套件的瓶頸。通過增加資料庫的併發,來觀察qps,tps的變化,確定併發量和效能之間的最優關係。

3.可以測試不同的硬體(比如ssd固態硬碟和傳統機械硬碟中隨機寫效能哪個更快),軟體(公升級mysql版本是否能改善mysql的效能,以及不同的儲存引擎的效能),作業系統(linux不同檔案系統,磁碟分割槽對資料庫是否有影響)的配置。

4.驗證新的硬體裝置上線前是否配置正確達到預期的結果,同時了解新裝置的效能基準線。

如何基準測試

1.對整個系統進行測試。

優點:能夠測試整個系統的效能,包括web伺服器,快取,程式,mysql資料庫等。能反映出系統中各個介面之間的效能問題。

缺點:測試設計複雜,花費的時間較長。

2. 單獨對元件的測試,比如mysql。只更新了mysql硬體,或者更新了mysql的索引,所以這時候僅需要對mysql測試就行。

優點:測試簡單,所耗費時間比較短。可以針對某個具體問題去測試。

缺點:無法全面了解真個系統的效能基準線。

mysql基準測試的常見指標

1.單位時間內所執行完的事務數(tps)。

2.單位時間內所處理完的查詢數(qps)。注意是已經處理完的。

tps和qps用於衡量資料庫的吞吐量。

3.響應時間,衡量乙個測試任務完成的整體花費的時間。可以分為平均響應時間,最小響應時間,最大響應時間,個時間所佔的百分比。

4.併發量。同時處理的查詢請求的數量,(注意:併發量不等於連線數),是正在工作中的併發運算元或同時工作的執行緒或程序的數量。

mysql基準測試工具mysqlslap,sysbench

常見的基準測試工具有mysqlslap,sysbench,jmeter。

mysqlslap是乙個mysql官方提供的壓力測試工具,是自帶的。可以通過模擬多個併發客戶端訪問mysql來執行壓力測試。但是如果測試硬體,比如cpu,執行緒,磁碟,以及記憶體的效能,這些mysqlslap都測試不了。

下面可以使用mysqlslap --help來顯示提供的使用方法:

[root@localhost ~]# mysqlslap --help

mysqlslap ver1.0 distrib 8.0.0-dmr, forlinux (x86_64)

oracle is a registered trademark of oracle corporation and/or its

affiliates. other names may be trademarks of their respective

owners.

run a query multiple times against the server.

usage: mysqlslap [options]

default options are read from the following filesinthe given order:/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf

the followinggroupsare read: mysqlslap client

the following options may be given as the first argument:--print-defaults print the program argument list and exit.--no-defaults don't read default options from any option file,

except for login file.--defaults-file=# only read default options from the given file#.--defaults-extra-file=# read this fileafter the global files are read.--defaults-group-suffix=#

also readgroupswith concat(group, suffix)--login-path=# read this path from the login file.-?, --help display this help and exit.-a, --auto-generate-sql

generate sql where not supplied byfileor command line.--auto-generate-sql-add-autoincrement

mysql基準測試例項 mysql基準測試

toc 單位時間內所處理的事務數 tps 單位時間內所處理的查詢數 qps 響應時間 平均響應時間,最小響應時間,最大響應時間,各時間所佔百分比 併發量 同時處理的查詢請求的數量 併發量不等於連線數 正在工作的併發的操作或同時工作的數量 工具 mysqlslap mysql自帶的 特點 可以模擬伺服...

mysql基準時間 MYSQL基準測試

一為什麼需要基準測試 唯一方便有效,可以學習系統在給定的工作負載下會發生什麼的方法。可以觀察系統在不同的壓力下的行為,評估系統的容量,掌握哪些是重要的變化,或者觀察系統如何處理不同的資料 二基準測試的策略 兩種 針對整個系統的整體測試 單獨測試mysql 三測試何種指標 1.吞吐量 2.響應時間或者...

mysql 基準測試指令碼 MySQL基準測試

常見指標 tps transaction per second qps query per second 響應時間 併發量步驟 計畫和設計基準測試 準備基準測試及資料收集指令碼 容易忽略的問題 使用生產環境資料時只使用了部分資料 在多使用者場景中,只做單使用者的測試 在單伺服器上測試分布式應用 反覆...