MySQL性能壓力基準(zhǔn)測(cè)試工具sysbench的使用簡(jiǎn)介
1、sysbench介紹
這里介紹一款MySQL數(shù)據(jù)庫(kù)的壓力測(cè)試軟件sysbench,用它來進(jìn)行基準(zhǔn)測(cè)試。
sysbench 是一個(gè)開源的、模塊化的、跨平臺(tái)的多線程性能測(cè)試工具,
可以用來進(jìn)行CPU、內(nèi)存、磁盤I/O、線程、數(shù)據(jù)庫(kù)的性能測(cè)試。
目前支持的數(shù)據(jù)庫(kù)有MySQL、Oracle 和PostgreSQL。
#項(xiàng)目下載地址:
https://launchpad.net/sysbench
http://github.com/akopytov/sysbench
該基準(zhǔn)套件的想法是快速獲得有關(guān)系統(tǒng)性能的印象,而無需設(shè)置復(fù)雜的數(shù)據(jù)庫(kù)基準(zhǔn),甚至不需要安裝數(shù)據(jù)庫(kù)。
當(dāng)前功能允許測(cè)試以下系統(tǒng)參數(shù):
- #CPU性能
- file I/O performance #文件IO性能,磁盤IO性能
- scheduler performance #調(diào)度程序性能
- memory allocation and transfer speed #內(nèi)存分配和傳輸速度
- POSIX threads implementation performance #POSIX線程實(shí)現(xiàn)性能
- database server performance (OLTP benchmark) #數(shù)據(jù)庫(kù)服務(wù)器性能(OLTP基準(zhǔn))
Sysbench的oltp主要用于評(píng)估測(cè)試各種不同系統(tǒng)參數(shù)下的數(shù)據(jù)庫(kù)負(fù)載情況。
相比0.4版本,后續(xù)的版本oltp測(cè)試主要結(jié)合了lua腳本,不需要修改源碼,通過自定義lua腳本就可以實(shí)現(xiàn)不同業(yè)務(wù)類型的測(cè)試。
SysBench的缺點(diǎn):
模擬的表結(jié)構(gòu)太簡(jiǎn)單,不像tpcc-mysql那樣完整的事務(wù)系統(tǒng),但對(duì)于MySQL性能壓測(cè)對(duì)比還是很有用的。
2、sysbench安裝過程
#安裝相關(guān)依賴
mount /dev/cdrom /mnt yum -y install make automake libtool pkgconfig libaio-devel libtool
#安裝過程開始
#客戶端lib包做個(gè)鏈接 ln -sf /mysql/app/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20 #解壓安裝 cd /softtar zxvf sysbench-1.0.15.tar.gzcd sysbench-1.0.15./autogen.sh ./configure --prefix=/mysql/app/sysbench --with-mysql=/mysql/app/mysql --with-mysql-includes=/mysql/app/mysql/include/ #--with-mysql-libs=/usr/lib/ make && make install #配置環(huán)境變量 vi ~/.bash_profile PATH=$PATH:/mysql/app/sysbench/bin:$HOME/bin source ~/.bash_profile sysbench --version #如果提示報(bào)錯(cuò) sysbench: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory #接著在/etc/ld.so.cnf中加入/usr/lib這一行 [root@tse01 local]# cat /etc/ld.so.conf include ld.so.conf.d/*.conf /usr/lib/ #執(zhí)行l(wèi)dconfig -v更新下配置就可以了 [root@tse01 local]# /sbin/ldconfig -v
#提示說明:
如果你在非標(biāo)準(zhǔn)位置安裝的MySQL頭文件和庫(kù)(沒有 mysql_config可以在找到PATH),
你可以明確指定--with-mysql-includes和--with-mysql-libs選項(xiàng)參數(shù),如上面。
要在沒有MySQL支持的情況下編譯sysbench,請(qǐng)使用--without-mysql。
如果沒有可用的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,則與數(shù)據(jù)庫(kù)相關(guān)的腳本將不起作用,但其他基準(zhǔn)測(cè)試將起作用。
#常規(guī)命令行選項(xiàng)
下表列出了受支持的常用選項(xiàng),它們的描述和默認(rèn)值:
|
選項(xiàng)
|
描述
|
默認(rèn)值
|
|
--threads
|
要?jiǎng)?chuàng)建的工作線程總數(shù)
|
1個(gè)
|
|
--events
|
要求總數(shù)的限制。0(默認(rèn)值)表示沒有限制
|
0
|
|
--time
|
總執(zhí)行時(shí)間限制(以秒為單位)。0表示沒有限制
|
10
|
|
--warmup-time
|
在啟用統(tǒng)計(jì)信息的情況下運(yùn)行實(shí)際基準(zhǔn)測(cè)試之前,在禁用統(tǒng)計(jì)信息的情況下執(zhí)行事件數(shù)秒鐘。當(dāng)您要從統(tǒng)計(jì)信息中排除基準(zhǔn)測(cè)試運(yùn)行的初始期間時(shí),此功能很有用。在許多基準(zhǔn)測(cè)試中,初始階段并不具有代表性,因?yàn)镃PU /數(shù)據(jù)庫(kù)/頁(yè)面和其他緩存需要一些時(shí)間進(jìn)行預(yù)熱
|
0
|
|
--rate
|
平均交易率。該數(shù)字指定所有線程平均每秒應(yīng)執(zhí)行多少事件(事務(wù))。0(默認(rèn))表示無限制速率,即事件以盡可能快的速度執(zhí)行
|
0
|
|
--thread-init-timeout
|
輔助線程初始化的等待時(shí)間(以秒為單位)
|
30
|
|
--thread-stack-size
|
每個(gè)線程的堆棧大小
|
32K
|
|
--report-interval
|
定期以指定的時(shí)間間隔(以秒為單位)報(bào)告中間統(tǒng)計(jì)信息。請(qǐng)注意,此選項(xiàng)生成的統(tǒng)計(jì)信息是按時(shí)間間隔而不是累積的。0禁用中間報(bào)告
|
0
|
|
--debug
|
打印更多調(diào)試信息
|
離開
|
|
--validate
|
盡可能驗(yàn)證測(cè)試結(jié)果
|
離開
|
|
--help
|
根據(jù)常規(guī)語法或指定的測(cè)試打印幫助,然后退出
|
離開
|
|
--verbosity
|
詳細(xì)級(jí)別(0-僅關(guān)鍵消息,5-調(diào)試)
|
4
|
|
--percentile
|
sysbench測(cè)量所有已處理請(qǐng)求的執(zhí)行時(shí)間,以顯示統(tǒng)計(jì)信息,例如最小,平均和最大執(zhí)行時(shí)間。對(duì)于大多數(shù)基準(zhǔn)測(cè)試,了解與某個(gè)百分位數(shù)相匹配的請(qǐng)求執(zhí)行時(shí)間值也很有用(例如,95%百分位數(shù)意味著我們應(yīng)該丟棄最長(zhǎng)請(qǐng)求的5%,并從其余請(qǐng)求中選擇最大值)。此選項(xiàng)允許指定要計(jì)算的查詢執(zhí)行時(shí)間的百分等級(jí)
|
95
|
|
--luajit-cmd
|
執(zhí)行LuaJIT控制命令。此選項(xiàng)等效于luajit -j。有關(guān)更多信息,請(qǐng)參見LuaJIT文檔。
|
請(qǐng)注意,可以通過附加相應(yīng)的乘法后綴(K表示千字節(jié),M表示兆字節(jié),G表示千兆字節(jié),T表示兆字節(jié))
來指定所有大小選項(xiàng)(--thread-stack-size如此表中所示)的數(shù)值。
#sysbench使用[command]常用的有:
1) prepare準(zhǔn)備測(cè)試,生成數(shù)據(jù)
2) run執(zhí)行測(cè)試
3) cleanup清理數(shù)據(jù)
4) help
5) version
以上就是MySQL性能壓力基準(zhǔn)測(cè)試工具sysbench的使用簡(jiǎn)介的詳細(xì)內(nèi)容,更多關(guān)于MySQL sysbench的使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
MySQL數(shù)據(jù)庫(kù)表修復(fù) MyISAM
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)表修復(fù) MyISAM ,需要的朋友可以參考下2014-06-06
MySQL 那些常見的錯(cuò)誤設(shè)計(jì)規(guī)范,你都知道嗎
今天來看一看 MySQL 設(shè)計(jì)規(guī)范中幾個(gè)常見的錯(cuò)誤例子,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-07-07
mysql數(shù)據(jù)遷移之data目錄復(fù)制方法
這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)遷移之data目錄復(fù)制方法的相關(guān)資料,MySQL的data文件是存儲(chǔ)數(shù)據(jù)庫(kù)的核心文件,它包含了所有的表、索引、視圖和其它相關(guān)的數(shù)據(jù),通過復(fù)制這些文件,我們可以將一個(gè)MySQL數(shù)據(jù)庫(kù)遷移到另一個(gè)地方,需要的朋友可以參考下2023-08-08
Windows server 2008 r2上安裝MySQL5.7.10步驟
這篇文章主要介紹了Windows server 2008 r2上安裝MySQL5.7.10的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
淺談Using filesort和Using temporary 為什么這么慢
本文主要介紹了Using filesort和Using temporary為什么這么慢,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
MySQL數(shù)據(jù)庫(kù)遷移OpenGauss數(shù)據(jù)庫(kù)解析
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)遷移OpenGauss數(shù)據(jù)庫(kù)解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
一次非法關(guān)機(jī)導(dǎo)致mysql數(shù)據(jù)表?yè)p壞的實(shí)例解決
本文介紹由于非法硬件關(guān)機(jī),造成了mysql的數(shù)據(jù)表?yè)p壞,數(shù)據(jù)庫(kù)不能正常運(yùn)行的一個(gè)實(shí)例,接下來是作者排查錯(cuò)誤的過程,希望對(duì)大家能有所幫助2013-01-01
MySQL 查找價(jià)格最高的圖書經(jīng)銷商的幾種SQL語句
不同的圖書,在不同的經(jīng)銷商的價(jià)格不同,我們這里要找到每種圖書最高的經(jīng)銷商是誰? 找最低的類似了。2009-07-07

