ngrinder简介
ngrinder是NAVER(韩国大型互联网公司)开源的性能测试工具平台,直接部署成web服务,平台化,支持多用户使用,可扩展性好,可自定义plugin插件
开源地址:http://naver.github.io/ngrinder/
ngrinder 总体架构
ngrinder内部引擎基于grinder,核心模块:ngrinder controller(consoleManager,agentManager,monitorController);ngrinder agent,通过Groovy脚本和jython脚本进行负载压测,使用内嵌的SVN服务管理测试脚本文件。
架构流程图:
架构层级图:
工作原理:
当 agent 启动时,它们试图连接到 controller,然后它们都附属在 AgentControllerServer 组件上。AgentControllerServer (可以看做为一个 agent 的池)管理当前 agent 池。每当用户开始性能测试时,一个新的 console 被创建,同时由 AgentControllerServer 提供所需数量的 agent。 SingleConsole (不是 Grinder 中的 Console ) 发送测试脚本和测试源码到多个指定的 agent , 同时开始控制测试流,直到测试结束。当测试完成后,所使用的 agents 归还给 AgentControllerServer ,以便在以后的其他测试中使用。 同样,SingleConsole 也会归还给 ConsoleManager 。
nGrinder 和 Grinder 最大的区别在于 nGrinder 在 controller 中保持多个 console 实例 和 agent 。每个 console 都是独立的,所有 console 都可以同时运行。每当有需要时,许多 agent 可以提前被提前关联和分配。与 grinder 不同,nGrinder 最大化 agent 机器的利用率。
ngrinder使用
下载
您可以通过以下链接下载最新的nGrinder。
快速开始
您可以通过执行以下命令来启动nGrinder。
java -jar ngrinder-controller-{version}.war
然后使用浏览器访问它。http://本地主机:8080
1.登录页面,默认admin登录,语言选择汉语,支持英语,汉语,韩语
2.快速开始页面,输入URL,点击快速开始即可自动生成测试脚本
3.压测场景配置页,配置代理线程数,执行启动时间等压测加载策略
4.执行测试脚本,查看压测进度
5.压测执行详情和压测报告