Ruby的性能测试工具 RoadRunner

openkk 12年前

LoadRunner?这个工具很多做过性能测试的朋友肯定都知道,里面有很多方便易用的方法,不过这些方法的实现不是重点,毕竟ruby的第三方库的各种实现非常的多,ruby开发者的热情都很高

RoadRunner实现的是LoadRunner的框架,

既: init(){ } action(){ } end(){ }

init存放初始化、登陆等操作,action可以不断的迭代执行,从而产生持续不断的压力,end存放释放资源、退出等操作。

外加一个虽然简单但直观的报表,之后的版本除了不断的完善RR的报告,提高和LR的相似度之外,还会增加更多ruby特有的方法,丰富Rrhelper模块代码。

RoadRunner更方便的地方在于,它不仅仅可以通过日志来展示结果,还可以将结果存储到数据库中,大家可以看test目录中的pi_db.rb这个测试文件,之后就会很方便的通过读取数据库的测试记录,来绘制测试报表.

我觉得我在写数据库这块代码的时候比较让自己满意, 这块的设计是这样的:

当你引用RoadRunner这个gem时,如果你还在生成RoadRunner类的同时,给RoadRunner.new方法一个block,

并且这个block里面是一个ActiveRecord的数据库连接,

而且这个数据库中没有scenarios,transactions,records这三张表,

则RoadRunner会自动创建这三张表,以及默认的字段,

并且将测试的数据写入这三张表中.

但要注意,如果已经有了这三张表,但字段和RR的要求不同,那就会导致写数据异常,需要分库或者改名.

项目主页:http://www.open-open.com/lib/view/home/1330431460389