nGrinder-运维人员轻量级性能测试平台

nGrinder简介

nGrinder是基于Grinder开源项目,由NHN公司的开发团队进行了重新设计和完善。nGrinder是一款非常易用,有简洁友好的用户界面和controller-agent分布式结构的强大的压力测试工具。
nGrinder测试基于python测试脚本(groovy也可),用户按照一定规范编写测试脚本,controller会将脚本一集需要的资源分发到agent,用jython执行。并且在执行的过程中收集运行情况、相应时间、测试目标服务器的运行情况等。并且保存这些数据生成测试报告,以供查看。
这款框架的一大特点就是非常的简单易用,安装也很容易,可以说是开箱即用。

为什么是nGrinder

  • JMeter
    基于UI操作,容易上手,但是不具备编程能力。其次JMeter基于线程模拟数千用户几乎不可能。
  • Tsung
    基于Erlang,能模拟上千用户并且易于扩展。但是基于XML的DSL,描述场景能力弱,而且需要大量的数据处理才知道测试结果。
  • Locust
    基于python的gevent,能模拟百万个用户。但是需要对python有一定理解。
  • Loadrunner
    这个可以说是应用最多的一个,很方便,但是还是太重。往后的方向肯定是客户端工具逐步向平台化发展,所以loadrunner注定慢慢被淘汰(个人拙见)。而且不开源,扩展性不高,收费。
  • nGrinder
    单节点支持3000并发、支持分布式、可监控被测服务器、可录制脚本、开源、平台化。
综上可以看出nGrindr还是有很多优势的。

用nGrinder做一个简单的压测

  • 安装controller
    nGrinder是一个web应用和java应用的组合,需要装JDK1.6+的版本。
    下载地址获取安装需要的war包后,执行下面的命令启动nGrinder。如果不指定端口,默认8080端口。
java -XX:MaxPermSize=200m -jar  ngrinder-controller-3.3.war --port 80

启动之后,就可以通过http://localhost:80访问ngrinder了。

  • 安装agents
    1.通过admin/admin登陆nGrinder。



    2.下载agent



    3.解压包并运行其中的run_agent.sh或者run_agent.bat即可。
    4.可以通过菜单栏中的代理管理进入agent管理页面。
  • 安装Monitor
    Montior是agent的一个子集,用于收集目标服务器的相关数据,比如CPU、MEM、NetWork等信息。
    1.下载
    通过菜单栏中的下载监控按钮下载。
    2.启动
    解压包后,运行run_montior.sh(linux/mac)或者bat(windows)。
  • 测试步骤
    1.输入一个测试的url,选择脚本语言,然后开始测试,nGrinder会自动生成测试脚本并进入配置页面。



    2.根据需求修改脚本



    3.配置选项

    4.运行

    在配置页面右上角点击保存并运行,启动测试。
    5.结果
    当启动测试后,会在页面显示当前的TPS、虚拟用户、测试成功与否的数量等信息。测试完成后,会显示测试结果。



    可以点击详细测试结果查看更详细的信息,比如TPS、平均时间、首次接受数据平均时间,以及被测服务器的CPU,MEM等信息。
怎么样是不是很方便的就完成了一次压力测试,如果你还觉得不够简便(手动再见,up主黑人问号脸),别急下期告诉你如何通过录制来编写脚本。

推荐阅读更多精彩内容