失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 性能工具之 nGrinder 入门安装及使用

性能工具之 nGrinder 入门安装及使用

时间:2022-07-18 14:32:00

相关推荐

性能工具之 nGrinder 入门安装及使用

文章目录

一、介绍二、架构图三、快速安装1、下载二进制包2、下载 tomcat 中间件3、安装应用4、启动应用5、浏览器访问6、安装 agent四、简单使用1、输入压测地址2、查看压测结果3、查看压测脚本五、小结

一、介绍

nGrinder (http://naver.github.io/ngrinder/) 是基于 Grinder 开源项目,但由 NHN(据说是韩国最大的互联网公司)公司的 nGrinder 开发团队进行了重新设计和完善(所以叫做 nGrinde r)。nGrinder 是一款非常易用,有友好简洁的用户界面和 controller-agent 分布式结构的强大的压力测试工具。它是由一个 controller 和连接它的多个 agent 组成,用户可以通过 web 界面管理和控制测试,以及查看测试报告,controller 会把测试分发到一个或多个 agent 去执行。用户可以设置使用多个进程和线程来并发的执行该脚本,而且在同一线程中,来重复不断的执行测试脚本,来模拟很多并发用户

nGrinder 的测试是基于一个 Python/Groovy 的测试脚本,用户按照一定规则编写测试脚本以后,controller 会将脚本以及需要的其他文件分发到 agent,用 Jython 执行。并在执行过程中收集运行情况、响应时间、测试目标服务器的运行情况等。并保存这些数据生成运行报告,以供以后查看。

nGrinder 的一大特点就是非常容易使用,安装也非常容易,可以做到开箱即用,测试新手也可以很容易就开始测试任务。当然,如果想执行一些比较复杂场景的性能测试,就需要测试人员对 Python 有一定认识。

二、架构图

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

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

单节点支持 3000 并发、支持分布式、可监控被测服务器、可录制脚本、开源、平台化。

三、快速安装

1、下载二进制包

访问 Github:/naver/ngrinder/releases

2、下载 tomcat 中间件

首先需要配置 Jdk 环境变量,网上找资料配置

然后访问地址:/

或者点击:/download-90.cgi

3、安装应用

把下载好的【nGrinder-controller-3.4.3.war】包放到 Tomcat 的 webApps 文件夹中

注意:

永远不要将 war 文件放在包含像这样的文件夹的空间中 “C:\Program Files\Tomcat\webapps” 否則下载不了grinder-agent端。

4、启动应用

5、浏览器访问

打开:http://localhost:8080/ngrinder/login默认账号admin/admin进入

注意:

默认情况下,nGrinder 用 8080 作为 web 端访问的端口。

提供快速使用功能,工具比较成熟,开箱即用

6、安装 agent

下载后并且解压到相对目录:

运行成功如下:

平台验证是否有 agent 客户端:

四、简单使用

1、输入压测地址

咱们用 baidu 页面简单做一个测试:

输入要压测的请求地址:

该页面都是中文一看就知道怎么操作:

点击输入相关内容后保存并运行:

查看相关信息:

2、查看压测结果

查看详细结果:

3、查看压测脚本

下面就能看到文件夹,继续点击去就能看到脚本:

脚本如下:

/*** A simple example using the HTTP plugin that shows the retrieval of a* single page via HTTP.** This script is automatically generated by ngrinder.** @author admin*/@RunWith(GrinderRunner)class TestRunner {public static GTest testpublic static HTTPRequest requestpublic static NVPair[] headers = []public static NVPair[] params = []public static Cookie[] cookies = []@BeforeProcesspublic static void beforeProcess() {HTTPPluginControl.getConnectionDefaults().timeout = 6000test = new GTest(1, "")request = new HTTPRequest()grinder.logger.info("before process.");}@BeforeThread public void beforeThread() {test.record(this, "test")grinder.statistics.delayReports=true;grinder.logger.info("before thread.");}@Beforepublic void before() {request.setHeaders(headers)cookies.each {CookieModule.addCookie(it, HTTPPluginControl.getThreadHTTPClientContext()) }grinder.logger.info("before thread. init headers and cookies");}@Testpublic void test(){HTTPResponse result = request.GET("/", params)if (result.statusCode == 301 || result.statusCode == 302) {grinder.logger.warn("Warning. The response may not be correct. The response code was {}.", result.statusCode); } else {assertThat(result.statusCode, is(200));}}}

五、小结

以上为 nGrinder 入门安装及简单使用介绍,下一篇分享参数化与分布式压测。

相关系列:

性能工具之 nGrinder 入门安装及使用

性能工具之 nGrinder 源码安装性能工具之 nGrinder Get 请求脚本编写性能工具之 nGrinder Post 请求脚本

性能工具之 nGrinder 关联脚本编写

性能工具之 nGrinder 参数化脚本编写

性能工具之 nGrinder 区域配置

如果觉得《性能工具之 nGrinder 入门安装及使用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。