在Jmeter中建立一個(gè)JDBC Request 測(cè)試計(jì)劃主要分兩步。
站在用戶的角度思考問題,與客戶深入溝通,找到利辛網(wǎng)站設(shè)計(jì)與利辛網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋利辛地區(qū)。
(1)設(shè)置JDBC連接池(在JDBC Connection Configuration)
(2)添加JDBC Request
其他步驟就是設(shè)置參數(shù)化、斷言、監(jiān)聽結(jié)果。
第一步:添加 JDBC Connection Configuration
需要設(shè)置jdbc線程池變量的名稱,這里設(shè)置為jdbcConfig,這個(gè)變量在JDBC Request中要使用的;還有要設(shè)置Database URL,格式為:jdbc:mysql://localhost:3306/chen?serverTimezone=UTCcharacterEncoding=utf-8,注意:?后面的serverTimezone=UTCcharacterEncoding=utf-8不能缺少,否則會(huì)報(bào)時(shí)區(qū)錯(cuò)誤。
第二部:設(shè)置JDBC Request
用loadrunner或者jmeter都是可以的,主要是根據(jù)實(shí)際情況和需求,編寫合適的sql語句對(duì)數(shù)據(jù)庫進(jìn)行操作。
怎么使用tpcc做mysql的壓力測(cè)試
首先mysql/bin 目錄里應(yīng)該有mysqlslap.exe,我的版本是 5.5.11,里面是有這玩意的
在執(zhí)行之前需要在mysql里建一個(gè)mysqlslap的database
use mysqlslap
然后建表news,classify輸數(shù)據(jù)...
在命令行里輸入:
C:\Program Files\MySQL\MySQL Server 5.5\binmysqlslap -u root –no-defaults -p -c
reate-schema=example --query="SELECT n.* FROM news n,classify c WHERE n.type=c.id AND c.type='2'" --iterations=1000
其中-u為username,-p為使用密碼,query引號(hào)后的內(nèi)容為執(zhí)行的測(cè)試的sql,循環(huán)1000次
要求輸入密碼
Enter password: ****
結(jié)果:
Benchmark
Average number of seconds to run all queries: 0.007 seconds
Minimum number of seconds to run all queries: 0.000 seconds
Maximum number of seconds to run all queries: 1.016 seconds
Number of clients running queries: 1
Average number of queries per client: 1
首先 數(shù)據(jù)庫的性能有很多種 1:速度性能2:并發(fā)性能3:事務(wù)性能 在速度性能上,首先你需要首先確定你的測(cè)試環(huán)境。舉個(gè)例子,比如你的軟件可能的用戶群是一群使用586電腦的客戶,那么肯定是mysql的效率要高出oracle.這個(gè)是為什么呢,mysql在事務(wù)策略和安全策略上做的工作遠(yuǎn)沒有oracle做出的多。如果軟件不需要這方面的高要求,那么完全可以使用mysql,這樣機(jī)器的配置可以比較低,但是表現(xiàn)出的性能會(huì)更加優(yōu)越。 前面是題外話,在測(cè)試前你需要首先頂一下你的測(cè)試環(huán)境,為了能讓oracle充分的表現(xiàn)出他的性能,你應(yīng)該選取一些強(qiáng)勁的小型機(jī)或者服務(wù)器來作為測(cè)試環(huán)境(雖然這樣的環(huán)境對(duì)于mysql來說可能浪費(fèi)了,但是這樣才能確保2個(gè)數(shù)據(jù)庫都充分的發(fā)揮的自己的特性)。 其次,測(cè)試訪問速度,你可以通過對(duì)數(shù)據(jù)庫的大批量寫入來看出效果。所謂大批量寫入應(yīng)該嘗試使用存儲(chǔ)過程一次讀入了10M的數(shù)據(jù)文件然后寫入并且記錄時(shí)間(同時(shí)記錄cpu,內(nèi)存等占用情況)。然后對(duì)于至少2個(gè)超過10萬的數(shù)據(jù)表做笛卡爾積查詢(全連接),查看查詢的時(shí)間。
一個(gè)是使用測(cè)試工具,比如mysqlslap等等等等。 追問: mysqlslap工具在網(wǎng)上看了,但不知道怎么用啊,能否告知一二?要下載這個(gè)工具嗎? 回答: 你要是有MYSQL5系列的數(shù)據(jù)庫,這個(gè)工具是自帶的啊。如果沒有,建議下載。 追問: 我是MySql5.1的啊,但還是沒找到在哪兒???能否指點(diǎn)一下啊,謝謝! 回答: 暈,你當(dāng)成可視化的了?無語。你打開控制臺(tái),然后就可以執(zhí)行測(cè)試的命令了。你可以參考下MYSQL的官方說明:dev.mysql.com/doc/refman/5.1/en/mysqlslap.html這個(gè)網(wǎng)上有很多的測(cè)試教程,你可以看看,不過不是特別實(shí)用。 追問: 我是應(yīng)用程序的怎么用啊? 回答: 我看,你可能有點(diǎn)誤解了壓力測(cè)試了。第一,你的應(yīng)用程序,是否是以數(shù)據(jù)為中心的,如果不是,那之前我和你說的那些全部就是廢話。第二,就算是以數(shù)據(jù)為中心的,你也沒說明白你要測(cè)試什么,如果你要測(cè)試MYSQL,那沒什么必要。因?yàn)橐呀?jīng)是很成熟的產(chǎn)品了。第三,如果是你要測(cè)試你的程序,而且你的程序擁有后臺(tái)數(shù)據(jù)庫,那你可以針對(duì)不同平臺(tái)的解決方案,使用不同的測(cè)試方法,比如如果是.NET + MYSQL數(shù)據(jù)庫 ,就可以使用VS自帶的測(cè)試工具,連同代碼,和數(shù)據(jù)訪問都可以進(jìn)行測(cè)試。