Ruby的性能测试工具 RoadRunner
openkk
13年前
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的要求不同,那就会导致写数据异常,需要分库或者改名.