Chinaunix

标题: easy_runner一个简单的压测程序 [打印本页]

作者: badb0y    时间: 2011-12-23 02:33
标题: easy_runner一个简单的压测程序

这次再公开一个小工具 easy_runner 一个来用做压测的小工具

我主要用来做MySQL压测的时候,直接压业务端用的.

程序很简单,总共不到400来行,推荐程序员自己压测用,比LoadRunner这种重型压测工具使用起来方便多了

下载可以到 http://code.google.com/p/easy-runner/ checkout出源码来

使用说明见 http://code.google.com/p/easy-runner/wiki/Usage

介绍

一个Python实现的简单压测工具

Details

Easy Runner主要实现了多线程压测,类似LoadRunner?,能得出QPS和RT,并能通过matlibplot画出曲线图.

特性
  1. 支持多scenario同时执行
  2. 可为不同scenario设置think time和线程数
  3. 支持warming
  4. 可画出性能曲线
  5. 使用方便,启动迅速,一条命令即可开始压测
优势
  1. scenario直接使用python编写scenario,使天然支持多协议
  2. Easy Runner一共300来行代码,维护方便
劣势
  1. 是通过多线程来加大压力,对客户端要求较高,不能有太多的线程数
使用说明 设置篇

见easy_runner下的setting.py进行配置

剧本编写篇

例子见附件中的easy_runner\scenario\example.py 这是一个压测剧本 其中

注意,剧本的类名必须是class Scenario(core.scenario.abstract_scenario):

使用篇

如果已经做好了设置,也编写好了脚本即可以开始压测了. 开始压测很简单,直接在命令行键入python starter.py 就会开始压测. 这个时候会根据MONITOR_INTERVAL设置的时间间隔,直接输出QPS和RT信息,并同时开始记log (注:如果log已存在的话,原log会被重命名) 如果需要停止压测,在命令行直接输入q 回车 即可结束压测.

生成图形篇

生成图形也很简单,直接在命令行键入python plot.py 就是自动分析刚才的log文件生成图形(plot.py需要matlibplot的支持~)

图形样例如下:

 
转:http://blog.zephyrleaves.net/?p=292





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2