sysbench是一款非常優(yōu)秀的基準(zhǔn)測試工具,它能夠精準(zhǔn)的模擬MySQL數(shù)據(jù)庫存儲引擎InnoDB的磁盤的I/O模式。因此,基于sysbench的這個特性,下面利用該工具,對MySQL數(shù)據(jù)庫支撐從簡單到復(fù)雜事務(wù)處理工作負(fù)載的基準(zhǔn)測試與驗證。
測試場景一、OLTP讀基準(zhǔn)測試
1) 準(zhǔn)備數(shù)據(jù)
sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=100000
--mysql-db=cbusdb --mysql-user=root prepare
2) OLTP隨機(jī)讀一致性業(yè)務(wù)場景測試驗證
time sysbench --test=oltp --oltp-table-size=100000 --mysql-db=cbusdb
--mysql-user=root --max-time=60 --oltp-read-only --max-requests=0 --num-threads=8 run
以上測試模擬并發(fā)8個線程,最大請求10000次/秒,持續(xù)60秒對單表數(shù)據(jù)集10w條數(shù)據(jù)量的表進(jìn)行隨機(jī)讀操作,測試結(jié)果如下所示:
![](/d/20211017/a1d7a389aef770c05b9019a3be6f34d5.gif)
通過模擬8個并發(fā)用戶在數(shù)據(jù)量10w條的表上進(jìn)行一致性讀操作并結(jié)合上圖,分析得出如下結(jié)論:
1) 60秒內(nèi)共執(zhí)行讀請求766094次,更新及其他類型的請求109442次,QPS:12765;
2) 60s內(nèi)共執(zhí)行事務(wù)操作54721,TPS:911,成功率100%;
3) 每個事務(wù)執(zhí)行最小時間2.98ms,最大時間184.5ms,平均執(zhí)行時間8.76ms。
以上測試結(jié)果運(yùn)行環(huán)境基本配置信息:
1) 虛擬機(jī)2顆CPU、2G內(nèi)存,20G存儲空間;
2) MySQL數(shù)據(jù)庫參數(shù)未優(yōu)化、調(diào)整。
測試場景二、OLTP混合類型負(fù)載測試
模擬OLTP隨機(jī)讀、寫(更新、刪除、插入):
sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=10000
--mysql-db=cbusdb --mysql-user=root --max-time=60
--oltp-nontrx-mode=update_key --max-requests=0 --num-threads=8 run
測試結(jié)果如下所示:
![](/d/20211017/0dab880e4029a43ffa41d0c33c53d447.gif)
通過模擬8個并發(fā)用戶在數(shù)據(jù)量10w條的表上模擬復(fù)雜的混合性工作負(fù)載測試并結(jié)合上圖,分析得出如下結(jié)論:
1) 60秒內(nèi)共執(zhí)行讀請求233268次,寫請求83260次,其他類型的請求:33309,QPS:5273;
2) 60s內(nèi)共執(zhí)行事務(wù)操作16647,TPS:277,鎖沖突造成的死鎖的數(shù)量15個,事務(wù)的成功率99.91%;
3) 每個事務(wù)執(zhí)行最小時間8.19ms,最大時間1299.78ms,平均執(zhí)行時間28.82ms。
以上測試結(jié)果運(yùn)行環(huán)境基本配置信息:
1) 虛擬機(jī)2顆CPU、2G內(nèi)存,20G存儲空間;
2) MySQL數(shù)據(jù)庫參數(shù)未優(yōu)化、調(diào)整。
sysbench詳細(xì)介紹
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Sysbench對Mysql進(jìn)行基準(zhǔn)測試過程解析
- 通過sysbench工具實現(xiàn)MySQL數(shù)據(jù)庫的性能測試的方法
- sysbench對mysql壓力測試的詳細(xì)教程
- 使用sysbench來測試MySQL性能的詳細(xì)教程
- 用sysbench來測試MySQL的性能的教程
- MySQL性能壓力基準(zhǔn)測試工具sysbench的使用簡介