nGrinder详细介绍及性能工具对比

1、The Grinder

一、The Grinder是一个基于Java的开源性能测试框架,经过多个agent负载机很方便的进行分布式测试。

clipboard.png

二、主要特性:

  • 能够测试任何java代码,包括各类经常使用的接口java

    • 如HTTP web servers, SOAP和REST web services,还有客户端服务器RMI、JMS、EJBs等,还支持自定义协议。
  • 测试脚本使用python和Clojure语言
  • 成熟的HTTP协议支持:python

    • 自动管理客户端链接和cookies,SSL代理;
    • 支持录制脚本,可以记录并回放浏览器和网站之间的复杂交互。
  • 包括console和agent端

三、不足

  • 一次只能运行一个测试
  • 没有测试历史记录
  • 没有图形化的测试报告

2、nGrinder

nGrinder是基于Grinder的开源的web性能测试平台,由韩国最大互联网公司NHN公司的开发团队进行了从新设计和完善。

特性:开源、易用、高可用、可扩展web

clipboard.png

一、nGrinder 在 Grinder 的基础上:

  • 实现多测试并行
  • 基于web的管理
  • 实现cluster
  • 内置svn,方便的脚本编辑、管理
  • 增长支持Groovy脚本,相对于Jython,能够启动更多的虚拟用户
  • 使用改造过的 JUnit 框架,比Grinder脚本强大得多
  • 实现对目标服务器的监控
  • 插件系统扩展

二、工做原理

  • 由一个控制端controller和多个代理端agent组成,经过控制端(浏览器访问)创建测试场景,而后分发到代理端进行压力测试。
  • 用户按照必定规范编写测试脚本,controller会将脚本以及须要的资源分发到agent,用jython执行。
  • 在脚本执行的过程当中收集运行状况、相应时间、测试目标服务器的运行状况等。而且保存这些数据生成测试报告,经过动态图和数据表的形式展现出来。用户能够方便的看到TPS、被测服务器的CPU和内存等状况。

3、LoadRunner JMeter 与 nGrinder对比

一、Loadrunner

  • 基于UI操做,容易上手。早期很流行,功能强大,可是太笨重,安装很麻烦。
  • 不开源,扩展性不高,收费贵。日后的方向确定是客户端工具逐步向平台化发展,因此已经慢慢被替代了。

二、JMeter

  • 基于UI操做,容易上手,可是编程能力较弱(使用beanshell脚本语言)。
  • 其次JMeter基于线程,模拟数千用户几乎不可能。

三、nGrinder

  • 单节点支持3000并发、支持分布式、可监控被测服务器、可录制脚本、开源、平台化。
比较点 JMeter Ngrinder LoadRunner
实现语言 Java java/python java/VB/C/.NET
使用方式 C/S或Command B/S B/S
支持分布式 master/slave controller/agent master/slave
资源监控 monitor/plugin,若是二开,须要查找plugin的源码 monitor方式,有直接可用的源码 自带资源监控功能
社区活跃度 文档完善 有中文社区 网上资料和相关培训不少,购买正版还能够获得技术支持
是否须要编码 基本不须要 须要,Jython/Groovy 须要
脚本的维护 本地 内置SVN 本地
脚本录制 可以使用BadBoy进行录制 可经过PTS插件进行录制 自带录制功能
可扩展性 可增长plugin,输出结果能够再加工 可增长plugin 经过扩展函数库实现
安装 简单,解压便可 简单,能够下载安装包或绿色包解压 安装包比较大,安装繁琐
nGrinder 安装配置及使用 见下篇。
相关文章
相关标签/搜索