MySQL數(shù)據(jù)庫(kù)基于sysbench實(shí)現(xiàn)OLTP基準(zhǔn)測(cè)試
sysbench是一款非常優(yōu)秀的基準(zhǔn)測(cè)試工具,它能夠精準(zhǔn)的模擬MySQL數(shù)據(jù)庫(kù)存儲(chǔ)引擎InnoDB的磁盤的I/O模式。因此,基于sysbench的這個(gè)特性,下面利用該工具,對(duì)MySQL數(shù)據(jù)庫(kù)支撐從簡(jiǎn)單到復(fù)雜事務(wù)處理工作負(fù)載的基準(zhǔn)測(cè)試與驗(yàn)證。
測(cè)試場(chǎng)景一、OLTP讀基準(zhǔn)測(cè)試
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ù)場(chǎng)景測(cè)試驗(yàn)證
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
以上測(cè)試模擬并發(fā)8個(gè)線程,最大請(qǐng)求10000次/秒,持續(xù)60秒對(duì)單表數(shù)據(jù)集10w條數(shù)據(jù)量的表進(jìn)行隨機(jī)讀操作,測(cè)試結(jié)果如下所示:

通過模擬8個(gè)并發(fā)用戶在數(shù)據(jù)量10w條的表上進(jìn)行一致性讀操作并結(jié)合上圖,分析得出如下結(jié)論:
1) 60秒內(nèi)共執(zhí)行讀請(qǐng)求766094次,更新及其他類型的請(qǐng)求109442次,QPS:12765;
2) 60s內(nèi)共執(zhí)行事務(wù)操作54721,TPS:911,成功率100%;
3) 每個(gè)事務(wù)執(zhí)行最小時(shí)間2.98ms,最大時(shí)間184.5ms,平均執(zhí)行時(shí)間8.76ms。
以上測(cè)試結(jié)果運(yùn)行環(huán)境基本配置信息:
1) 虛擬機(jī)2顆CPU、2G內(nèi)存,20G存儲(chǔ)空間;
2) MySQL數(shù)據(jù)庫(kù)參數(shù)未優(yōu)化、調(diào)整。
測(cè)試場(chǎng)景二、OLTP混合類型負(fù)載測(cè)試
模擬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
測(cè)試結(jié)果如下所示:

通過模擬8個(gè)并發(fā)用戶在數(shù)據(jù)量10w條的表上模擬復(fù)雜的混合性工作負(fù)載測(cè)試并結(jié)合上圖,分析得出如下結(jié)論:
1) 60秒內(nèi)共執(zhí)行讀請(qǐng)求233268次,寫請(qǐng)求83260次,其他類型的請(qǐng)求:33309,QPS:5273;
2) 60s內(nèi)共執(zhí)行事務(wù)操作16647,TPS:277,鎖沖突造成的死鎖的數(shù)量15個(gè),事務(wù)的成功率99.91%;
3) 每個(gè)事務(wù)執(zhí)行最小時(shí)間8.19ms,最大時(shí)間1299.78ms,平均執(zhí)行時(shí)間28.82ms。
以上測(cè)試結(jié)果運(yùn)行環(huán)境基本配置信息:
1) 虛擬機(jī)2顆CPU、2G內(nèi)存,20G存儲(chǔ)空間;
2) MySQL數(shù)據(jù)庫(kù)參數(shù)未優(yōu)化、調(diào)整。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
mysql死鎖(dead lock)與鎖等待(lock wait)的出現(xiàn)解決
死鎖和鎖等待是數(shù)據(jù)庫(kù)運(yùn)維中常見的問題,區(qū)別在于死鎖會(huì)自動(dòng)解除,而鎖等待需要手動(dòng)處理,本文就來介紹一下mysql死鎖(dead lock)與鎖等待(lock wait),感興趣的可以了解一下2024-09-09
Ubuntu與windows雙系統(tǒng)下共用MySQL數(shù)據(jù)庫(kù)的方法
ubuntu系統(tǒng)和windows系統(tǒng)雙系統(tǒng)共用是用戶喜歡使用的方式之一,而MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在Windows平臺(tái)中常以WAMP方式搭配使用,在Linux平臺(tái)中常以LAMP組合形式出現(xiàn),下面的方法可以使得Ubuntu平臺(tái)共用Windows平臺(tái)中的MySQL數(shù)據(jù)庫(kù)2012-01-01
如何通過yum方式安裝mysql數(shù)據(jù)庫(kù)
部署MySQL數(shù)據(jù)庫(kù)有多種部署方式,常用的部署方式就有三種,yum安裝、rpm安裝以及編譯安裝,這篇文章主要給大家介紹了關(guān)于如何如果通過yum方式安裝mysql數(shù)據(jù)庫(kù)的相關(guān)資料,需要的朋友可以參考下2024-01-01
Mysql事務(wù)的隔離級(jí)別(臟讀+幻讀+可重復(fù)讀)
這篇文章主要介紹了Mysql事務(wù)的隔離級(jí)別(臟讀+幻讀+可重復(fù)讀),文章通告InnoDB展開詳細(xì)內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-08-08
解決Win10系統(tǒng)安裝MySQL8.0遇到的問題
這篇文章主要介紹了Win10系統(tǒng)安裝MySQL8.0遇到的問題及解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-12-12
Windows下mysql 5.7 設(shè)置區(qū)分大小寫(敏感),設(shè)置默認(rèn)編碼 utf8mb4
最近需要將Windows下的mysql 5.7設(shè)置區(qū)分大小寫(敏感),設(shè)置默認(rèn)編碼 utf8mb4,需要的朋友可以參考下2022-10-10
Access數(shù)據(jù)庫(kù)的存儲(chǔ)上限
Access數(shù)據(jù)庫(kù)的存儲(chǔ)上限...2006-09-09
MySQL日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)大全
Mysql作為一款開元的免費(fèi)關(guān)系型數(shù)據(jù)庫(kù),用戶基礎(chǔ)非常龐大,本文列出了MYSQL常用日期函數(shù)與日期轉(zhuǎn)換格式化函數(shù)2018-03-03

