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的磁盤(pán)的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é)果如下所示:

通過(guò)模擬8個(gè)并發(fā)用戶(hù)在數(shù)據(jù)量10w條的表上進(jìn)行一致性讀操作并結(jié)合上圖,分析得出如下結(jié)論:
1) 60秒內(nèi)共執(zhí)行讀請(qǐng)求766094次,更新及其他類(lèi)型的請(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混合類(lèi)型負(fù)載測(cè)試
模擬OLTP隨機(jī)讀、寫(xiě)(更新、刪除、插入):
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é)果如下所示:

通過(guò)模擬8個(gè)并發(fā)用戶(hù)在數(shù)據(jù)量10w條的表上模擬復(fù)雜的混合性工作負(fù)載測(cè)試并結(jié)合上圖,分析得出如下結(jié)論:
1) 60秒內(nèi)共執(zhí)行讀請(qǐng)求233268次,寫(xiě)請(qǐng)求83260次,其他類(lèi)型的請(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)文章
windows環(huán)境下mysql數(shù)據(jù)庫(kù)的主從同步備份步驟(單向同步)
本文主要是向大家描述的是在windows環(huán)境之下實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的主從同步備份的正確操作方案,以下就是文章的詳細(xì)內(nèi)容描述2011-05-05
mysql5.5數(shù)據(jù)庫(kù)data目錄遷移方法詳解
這篇文章主要介紹了mysql5.5數(shù)據(jù)庫(kù)data目錄遷移方法詳解,其實(shí)數(shù)據(jù)庫(kù)的目錄就在你安裝目錄的data里面,我的實(shí)在D盤(pán)??赡艽蠹夷J(rèn)安裝都在C吧。這樣就要遷移了。這個(gè)大家都懂需要的朋友可以參考下2016-04-04
淺談mysql的索引設(shè)計(jì)原則以及常見(jiàn)索引的區(qū)別
下面小編就為大家?guī)?lái)一篇淺談mysql的索引設(shè)計(jì)原則以及常見(jiàn)索引的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
MySQL數(shù)據(jù)庫(kù)主從復(fù)制原理及作用分析
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)主從復(fù)制原理并分析了主從復(fù)制的作用和使用方法,有需要的的朋友可以借鑒參考下,希望可以有所幫助,感謝閱讀2021-09-09
mysql source 命令導(dǎo)入大的sql文件的方法
本文將詳細(xì)介紹mysql source 命令導(dǎo)入大的sql文件的方法;需要的朋友可以參考下2012-11-11
MySQL實(shí)現(xiàn)簡(jiǎn)單的創(chuàng)建庫(kù)和創(chuàng)建表操作方法
MySQL是最常用的數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)操作中基本都是增刪改查操作,簡(jiǎn)稱(chēng)CRUD,這篇文章主要給大家介紹了關(guān)于MySQL實(shí)現(xiàn)簡(jiǎn)單的創(chuàng)建庫(kù)和創(chuàng)建表操作方法的相關(guān)資料,需要的朋友可以參考下2023-11-11
提高M(jìn)ySQL 查詢(xún)效率的三個(gè)技巧
MySQL由于它本身的小巧和操作的高效, 在數(shù)據(jù)庫(kù)應(yīng)用中越來(lái)越多的被采用.我在開(kāi)發(fā)一個(gè)P2P應(yīng)用的時(shí)候曾經(jīng)使用MySQL來(lái)保存P2P節(jié)點(diǎn),由于P2P的應(yīng)用中,結(jié)點(diǎn)數(shù)動(dòng)輒上萬(wàn)個(gè),而且節(jié)點(diǎn)變化頻繁,因此一定要保持查詢(xún)和插入的高效.以下是我在使用過(guò)程中做的提高效率的三個(gè)有效的嘗試. 1. 使用statement進(jìn)行綁定查詢(xún) 2. 隨機(jī)的獲取記錄 3. 使用連接池管理連接.2008-04-04

