您好,登錄后才能下訂單哦!
小編給大家分享一下壓測工具swingbench和sysbench有什么區(qū)別,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
swingbench
先來說說swingbench,這款工具是Oracle英國的一個(gè)員工用Java開發(fā)的,沒想到一下子成了壓測Oracle的不二之選。當(dāng)然Oracle還有不少這樣的工具,比如DUL(Data UnLoader),是新西蘭的一個(gè)員工用c開發(fā),一個(gè)可以直接讀取數(shù)據(jù)文件的工具,基本是ACS部門在提供高級(jí)服務(wù)所用。還有一款是SQLT也叫作SQLTXPLAIN,是Oracle Server Technologies Center of Expertise - ST CoE 提供的一款工具,可以通過MOS ID(ID 215187.1)下載,當(dāng)然這樣的工具還不少。
回到我們的話題,swingbench因?yàn)榛贘ava的原因,所以跨平臺(tái)的支持還是很不錯(cuò)的。基本上我們是在Windows平臺(tái)上測試服務(wù)端的數(shù)據(jù)庫性能,用到了Java,那么使用JDBC是很自然的一件事情。
swingbench的設(shè)計(jì)風(fēng)格是完全的組件化,每個(gè)組件可以單獨(dú)抽出來使用,所以你如果到支持的站點(diǎn)去查看。宣傳的組件圖還是很霸氣的。比如swingbench的主界面,數(shù)據(jù)生成器,追蹤分析。
還有更炫的。監(jiān)控?cái)?shù)據(jù)庫的多項(xiàng)指標(biāo),DB time等。這效果和商用的spotlight監(jiān)控有一拼。
毫無疑問,swingbench是個(gè)好東西,一個(gè)工具箱繼續(xù)發(fā)揚(yáng)光大,得靠大家的使用和推廣普及。有句話說得好,世上只有兩種工具,一種是被人罵的,另一種是沒人用的,被罵的越多,側(cè)面反映出關(guān)注度越高,使用率越高,越用越成熟,這個(gè)MySQL就是一個(gè)很不錯(cuò)的例子。
swingbench支持的功能如此豐富,可以指定多個(gè)數(shù)據(jù)倉庫,可以生成指定大小的數(shù)據(jù),測試是基于訂單業(yè)務(wù),模擬的場景更加豐富,它有什么缺點(diǎn)嗎?有的。
首先個(gè)人感覺最大的一點(diǎn)是它只支持Oracle,其實(shí)基于JDBC就是一個(gè)輕量級(jí)的接口,可以連接多種數(shù)據(jù)庫。數(shù)據(jù)庫工具松鼠就是這樣,一個(gè)JDBC可以適配很多的數(shù)據(jù)庫。如果在這一點(diǎn)上有所突破,我覺得還是有很大的潛力的。
還有基于這個(gè)工具的特性,支持Oracle平臺(tái),似乎離開源社區(qū)還有一定的距離,盡管這個(gè)工具確實(shí)是開源的,我查了下github上暫時(shí)還沒有看到,目前的支持是通過站點(diǎn)來維護(hù)的,目前最新的版本是2.6,已經(jīng)支持12c.
sysbench
這款工具和swingbench有一個(gè)共同點(diǎn),那就是它也是Oracle的一個(gè)員工開發(fā)的,不過屬于MySQL team,后來到了Percona.
一個(gè)公司竟然能夠產(chǎn)出兩種風(fēng)格的軟件,和本身支持的數(shù)據(jù)庫是有明顯的關(guān)系的,這句話可能比較繞。我逐漸展開來說,先說說我最近安裝,使用sysbench的一些感受。
如果使用sysbench比較早一些的版本,應(yīng)該就是0.4.12了。這個(gè)版本最早也是有一個(gè)單獨(dú)的站點(diǎn)來維護(hù)的,目前已經(jīng)全面轉(zhuǎn)移到github上了。
這個(gè)工具基于c開發(fā),目前支持的數(shù)據(jù)庫種類很豐富。
# find . -name "drv*.c"
./drizzle/drv_drizzle.c
./pgsql/drv_pgsql.c
./mysql/drv_mysql.c
./oracle/drv_oracle.c
./attachsql/drv_attachsql.c其中MySQL,這是原生支持,默認(rèn)就有的。還支持PostgreSQL和Oracle,還有一個(gè)MySQL的分支drizzle也是支持的。
0.4.12的版本很多年前就在用,優(yōu)點(diǎn)很多,可以壓測內(nèi)存,CPU,IO,mutext等都可以測試,支持的數(shù)據(jù)庫壓測是其中的一個(gè)部分。這部分功能基于c的優(yōu)勢就很明顯了。
但是0.4.12這個(gè)版本限制還是比較多,比如只能基于一個(gè)數(shù)據(jù)庫的一個(gè)一個(gè)表來壓測,這一點(diǎn)來說限制就很大了。所以能夠測試的場景還是很有限的。
到了0.5的版本,這個(gè)情況改觀了,可以一個(gè)庫里多表了,而且可以設(shè)置interval參數(shù)來查看一個(gè)實(shí)時(shí)的變化了。因?yàn)樗С諳racle,所以我就很有興趣的測試了一下,結(jié)果讓我有點(diǎn)受挫。
為什么呢,0.5的版本中安裝Oracle,主要就是一個(gè)動(dòng)態(tài)鏈接庫的配置要到位,但是配置好之后要開啟測試的時(shí)候,發(fā)現(xiàn)數(shù)據(jù)庫的驅(qū)動(dòng)選擇了oracle,但是測試卻提示unknown database,帶著疑問細(xì)看,原來測試的模板里竟然沒有Oracle.這個(gè)怎么辦自己動(dòng)手豐衣足食,不過要寫還確實(shí)有難度,為什么呢,因?yàn)槟0迨腔谀_本語言Lua的,這又多了一道坎。
不過行業(yè)里也有不少朋友寫了一些Lua的模板可以參考。
這里我訴訴苦,那就是sysbench最新版本是1.0.3,我想新版本支持Oracle應(yīng)該已經(jīng)做得很好了,看官方的提示,對(duì)于Oracle安裝還單獨(dú)提供了一個(gè)README-Oracle.md,但是里面的安裝提示還是和我預(yù)期的有一些差別。
首先是安裝的客戶端,目前提供的是12c的精簡版,這個(gè)沒有問題,但是基于的操作系統(tǒng)是ubuntu 14,對(duì)于Oracle企業(yè)版來說是沒有官方認(rèn)證的,Linux版本Oracle官方可查到的,支持的系統(tǒng)基本是下面的這幾個(gè),版本會(huì)有一些變化。
Red Hat Enterprise Linux AS/ES
Oracle Enterprise Linux ( OEL)
SUSE Linux Enterprise Server
AsianuxUbuntu也是Linux,但是后面的安裝就讓我有了不少的難度,需要安裝Cuda,而且是使用dpkg,這部分很陌生,查了下原來dpkg 是Debian package的簡寫,為"Debian" 操作系統(tǒng)專門開發(fā)的套件管理系統(tǒng),用于軟件的安裝,更新和移除。
安裝一套Cuda環(huán)境,我查了下,要花的功夫還真不少,最后輾轉(zhuǎn)嘗試,算是放棄了。
于是回到0.5的版本來,配置了動(dòng)態(tài)鏈接庫,很快就配置好了,但是沒有Lua模板,這個(gè)時(shí)候可以參考o(jì)sdba提供的一套定制版,可以支持MySQL,Oracle,PostgreSQL,我試了下,還不錯(cuò)。
整個(gè)過程如果使用git分分鐘即可搞定。
抓取sysbench的安裝部分
# git clone https://github.com/osdba/sysbench_bin.git然后抓取Lua腳本部分
# git clone https://github.com/osdba/sysbench_lua 然后創(chuàng)建一個(gè)sysbench目錄,把抓取到的兩個(gè)目錄整合起來。
# mkdir sysbench
# cd sysbench
# cp ../sysbench_bin/bin/* .
# cp -r ../sysbench_lua/lua . 這樣一來目錄下就有了3個(gè)執(zhí)行文件,和直接使用sysbench的命令方式基本一樣,只是有所側(cè)重。
-rwxr-xr-x 1 root root 3307216 Mar 24 16:09 sysbench_mysql
-rwxr-xr-x 1 root root 3324397 Mar 24 16:09 sysbench_ora
-rwxr-xr-x 1 root root 3253979 Mar 24 16:09 sysbench_pg
看完了這篇文章,相信你對(duì)“壓測工具swingbench和sysbench有什么區(qū)別”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。