共计 1359 个字符,预计需要花费 4 分钟才能阅读完成。
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 等信息。
至此很方便的就完成了一次压力测试, 后面进行录制来编写脚本内容的补充。