RoadRunnerRuby 性能測(cè)試工具
RoadRunner是一個(gè)用ruby寫的類似LoadRunner框架的性能測(cè)試工具。
LoadRunner?這個(gè)工具很多做過性能測(cè)試的朋友肯定都知道,里面有很多方便易用的方法,不過這些方法的實(shí)現(xiàn)不是重點(diǎn),畢竟ruby的第三方 庫的各種實(shí)現(xiàn)非常的多,ruby開發(fā)者的熱情都很高。
RoadRunner實(shí)現(xiàn)的是LoadRunner的框架,既: init(){ } action(){ } end(){ }
init存放初始化、登陸等操作,action可以不斷的迭代執(zhí)行,從而 產(chǎn)生持續(xù)不斷的壓力,end存放釋放資源、退出等操作。
外加一個(gè)雖然簡單但直觀的報(bào)表,之后的版本除了不斷的完善RR的報(bào)告,提高和LR 的相似度之外,還會(huì)增加更多ruby特有的方法,豐富Rrhelper模塊代碼。
RoadRunner更方便的地方在于,它不僅僅可以通 過日志來展示結(jié)果,還可以將結(jié)果存儲(chǔ)到數(shù)據(jù)庫中,大家可以看test目錄中的pi_db.rb這個(gè)測(cè)試文件,之后就會(huì)很方便的通過讀取數(shù)據(jù)庫的測(cè)試記錄, 來繪制測(cè)試報(bào)表.
我覺得我在寫數(shù)據(jù)庫這塊代碼的時(shí)候比較讓自己滿意, 這塊的設(shè)計(jì)是這樣的:
當(dāng)你引用 RoadRunner這個(gè)gem時(shí),如果你還在生成RoadRunner類的同時(shí),給RoadRunner.new方法一個(gè)block,并且這個(gè)block里面是一個(gè)ActiveRecord的數(shù)據(jù)庫連接,而且這個(gè)數(shù)據(jù)庫中沒有 scenarios,transactions,records這三張表,則RoadRunner會(huì)自動(dòng)創(chuàng)建這三張表,以及默認(rèn)的字段,并且將測(cè)試的數(shù)據(jù)寫入這三張表中。
但要注意,如果已經(jīng)有了這三張表,但字段和RR的要求不同,那就會(huì)導(dǎo)致寫數(shù)據(jù)異常,需 要分庫或者改名。
