MySQL性能壓力基準(zhǔn)測試工具sysbench的使用簡介
這里介紹一款MySQL數(shù)據(jù)庫的壓力測試軟件sysbench,用它來進(jìn)行基準(zhǔn)測試。
sysbench 是一個開源的、模塊化的、跨平臺的多線程性能測試工具,
可以用來進(jìn)行CPU、內(nèi)存、磁盤I/O、線程、數(shù)據(jù)庫的性能測試。
目前支持的數(shù)據(jù)庫有MySQL、Oracle 和PostgreSQL。
#項目下載地址:https://launchpad.net/sysbenchhttp://github.com/akopytov/sysbench
該基準(zhǔn)套件的想法是快速獲得有關(guān)系統(tǒng)性能的印象,而無需設(shè)置復(fù)雜的數(shù)據(jù)庫基準(zhǔn),甚至不需要安裝數(shù)據(jù)庫。當(dāng)前功能允許測試以下系統(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線程實現(xiàn)性能 database server performance (OLTP benchmark) #數(shù)據(jù)庫服務(wù)器性能(OLTP基準(zhǔn))Sysbench的oltp主要用于評估測試各種不同系統(tǒng)參數(shù)下的數(shù)據(jù)庫負(fù)載情況。相比0.4版本,后續(xù)的版本oltp測試主要結(jié)合了lua腳本,不需要修改源碼,通過自定義lua腳本就可以實現(xiàn)不同業(yè)務(wù)類型的測試。
SysBench的缺點:模擬的表結(jié)構(gòu)太簡單,不像tpcc-mysql那樣完整的事務(wù)系統(tǒng),但對于MySQL性能壓測對比還是很有用的。
2、sysbench安裝過程#安裝相關(guān)依賴mount /dev/cdrom /mntyum -y install make automake libtool pkgconfig libaio-devel libtool#安裝過程開始
#客戶端lib包做個鏈接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_profilePATH=$PATH:/mysql/app/sysbench/bin:$HOME/binsource ~/.bash_profilesysbench --version#如果提示報錯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.confinclude ld.so.conf.d/*.conf/usr/lib/#執(zhí)行l(wèi)dconfig -v更新下配置就可以了[root@tse01 local]# /sbin/ldconfig -v#提示說明:
如果你在非標(biāo)準(zhǔn)位置安裝的MySQL頭文件和庫(沒有 mysql_config可以在找到PATH),
你可以明確指定--with-mysql-includes和--with-mysql-libs選項參數(shù),如上面。
要在沒有MySQL支持的情況下編譯sysbench,請使用--without-mysql。如果沒有可用的數(shù)據(jù)庫驅(qū)動程序,則與數(shù)據(jù)庫相關(guān)的腳本將不起作用,但其他基準(zhǔn)測試將起作用。
#常規(guī)命令行選項下表列出了受支持的常用選項,它們的描述和默認(rèn)值:
選項 描述 默認(rèn)值--threads 要創(chuàng)建的工作線程總數(shù) 1個--events 要求總數(shù)的限制。0(默認(rèn)值)表示沒有限制 0--time 總執(zhí)行時間限制(以秒為單位)。0表示沒有限制 10--warmup-time 在啟用統(tǒng)計信息的情況下運行實際基準(zhǔn)測試之前,在禁用統(tǒng)計信息的情況下執(zhí)行事件數(shù)秒鐘。當(dāng)您要從統(tǒng)計信息中排除基準(zhǔn)測試運行的初始期間時,此功能很有用。在許多基準(zhǔn)測試中,初始階段并不具有代表性,因為CPU /數(shù)據(jù)庫/頁面和其他緩存需要一些時間進(jìn)行預(yù)熱 0--rate 平均交易率。該數(shù)字指定所有線程平均每秒應(yīng)執(zhí)行多少事件(事務(wù))。0(默認(rèn))表示無限制速率,即事件以盡可能快的速度執(zhí)行 0--thread-init-timeout 輔助線程初始化的等待時間(以秒為單位) 30--thread-stack-size 每個線程的堆棧大小 32K--report-interval 定期以指定的時間間隔(以秒為單位)報告中間統(tǒng)計信息。請注意,此選項生成的統(tǒng)計信息是按時間間隔而不是累積的。0禁用中間報告 0--debug 打印更多調(diào)試信息 離開--validate 盡可能驗證測試結(jié)果 離開--help 根據(jù)常規(guī)語法或指定的測試打印幫助,然后退出 離開--verbosity 詳細(xì)級別(0-僅關(guān)鍵消息,5-調(diào)試) 4--percentile sysbench測量所有已處理請求的執(zhí)行時間,以顯示統(tǒng)計信息,例如最小,平均和最大執(zhí)行時間。對于大多數(shù)基準(zhǔn)測試,了解與某個百分位數(shù)相匹配的請求執(zhí)行時間值也很有用(例如,95%百分位數(shù)意味著我們應(yīng)該丟棄最長請求的5%,并從其余請求中選擇最大值)。此選項允許指定要計算的查詢執(zhí)行時間的百分等級 95--luajit-cmd 執(zhí)行LuaJIT控制命令。此選項等效于luajit -j。有關(guān)更多信息,請參見LuaJIT文檔。
請注意,可以通過附加相應(yīng)的乘法后綴(K表示千字節(jié),M表示兆字節(jié),G表示千兆字節(jié),T表示兆字節(jié))來指定所有大小選項(--thread-stack-size如此表中所示)的數(shù)值。
#sysbench使用[command]常用的有:1) prepare準(zhǔn)備測試,生成數(shù)據(jù)2) run執(zhí)行測試3) cleanup清理數(shù)據(jù)4) help5) version
以上就是MySQL性能壓力基準(zhǔn)測試工具sysbench的使用簡介的詳細(xì)內(nèi)容,更多關(guān)于MySQL sysbench的使用的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. MySQL 參數(shù)相關(guān)概念及查詢更改方法2. 教你快速掌握Oracle數(shù)據(jù)庫結(jié)構(gòu)的16個要點3. 用Oracle的解析函數(shù)發(fā)現(xiàn)序列間隙4. idea連接sql sever2019圖文教程(超詳細(xì))5. SQL Server如何訪問sybase數(shù)據(jù)庫的表6. 解決db2事務(wù)日志已滿及日志磁盤空間已滿問題辦法詳解7. MySQL的binlog日志使用詳解8. 關(guān)于mongoose連接mongodb重復(fù)訪問報錯的解決辦法9. sqlserver字符串拼接的實現(xiàn)10. 史上超強最常用SQL語句大全
