返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >nGrinder性能工具源码安装部署过程
  • 695
分享到

nGrinder性能工具源码安装部署过程

2024-04-02 19:04:59 695人浏览 泡泡鱼
摘要

目录一、前言 二、源码下载三、本地配置四、idea 设置五、启动验证六、使用源码调试简单脚本七、模仿编写脚本八、小结nGrinderr(version: 3.4.1)是NA

nGrinderr(version: 3.4.1)是NAVER(韩国最大互联网公司NHN旗下搜索引擎网站)开源性能测试工具,直接部署成WEB服务,支持多用户使用,可扩展性好,可自定义plugin。

nGrinder 是一款在一系列机器上执行 Groovy 或 Jython 测试脚本的应用,内部引擎是基于 Grinder。 nGrinder 使用 controller 和 agent 分别包装了 Grinder 的 console 和 agent ,而且扩展了多种功能使其能够支持并发测试。

nGrinder 由两个主要的组件组成

  • Controller

提供性能测试的web接口。
协调测试进程。
整理和显示测试的统计结果
让用户创建和修改脚本。

  • Agent

在代理服务器上加载运行测试进程和线程
监控目标机器的系统性能(例如:CPU/MEMORY/网卡/磁盘)

一、前言

  • 为了更好了解 nGrinder 怎么工作?
  • 为二次开发做准备

 二、源码下载

下载地址:https://GitHub.com/naver/ngrinder/releases

在这里插入图片描述

也可以直接通过:Https://github.com/naver/ngrinder.git 方式

在这里插入图片描述

三、本地配置

这我们演示直接使用下载 zip 包进行安装:

在这里插入图片描述

打开目录启动脚本:

在这里插入图片描述

等待执行成功便把如下 jar 包安装到本地仓库:

在这里插入图片描述

四、IDEA 设置

打开 IDEA 开发工具

在这里插入图片描述

点击文件导入 Project:

在这里插入图片描述

点击 Open as Project:

在这里插入图片描述

打开一个新窗口:

在这里插入图片描述

等待 Maven 加载相应的 jar。

修改代码:

在这里插入图片描述

具体代码如下:


package org.ngrinder.perftest.service;
import org.ngrinder.infra.config.Config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.context.annotation.Profile;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Configuration
@Profile("production")
@EnableScheduling
@EnableTransactionManagement
@EnableAspectJAutoProxy
public class PerfTestServiceConfig implements ApplicationContextAware {
   @Autowired
   private Config config;
   private ApplicationContext applicationContext;
   
   @Bean(name = "perfTestService")
   public PerfTestService perfTestService() {
      if (config.isClustered()) {
         return applicationContext.getAutowireCapableBeanFactory().createBean(ClusteredPerfTestService.class);
      } else {
         return applicationContext.getAutowireCapableBeanFactory().createBean(PerfTestService.class);
      }
//    return applicationContext.getAutowireCapableBeanFactory().createBean(
//          config.isClustered() ? ClusteredPerfTestService.class : PerfTestService.class);
   }
   @Override
   public void setApplicationContext(ApplicationContext applicationContext) {
      this.applicationContext = applicationContext;
   }
}

再次配置 Tomcat

在这里插入图片描述

选择运行方式:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

选择时时更新运行:

在这里插入图片描述
在这里插入图片描述

注意最好是加上 JVM 启动参数:


-Xms1024m -Xmx1024m -XX:MaxPermSize=200m

防止内存出现异常

在这里插入图片描述

点击确定:

在这里插入图片描述

启动项目

在这里插入图片描述

五、启动验证

打开浏览器验证是否成功:

http://localhost:8081/ngrinder/login

在这里插入图片描述

登录成功:

在这里插入图片描述

六、使用源码调试简单脚本

script-sample工程下的 pom.xml文件增加:

在这里插入图片描述

代码如下:


<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
   <groupId>junit</groupId>
   <artifactId>junit</artifactId>
   <version>4.12</version>
   <scope>test</scope>
</dependency>

再次在 idea 中全局搜索:

groovy-all

在这里插入图片描述

查看版本号,统一修改为:

<version>2.4.16</version>

七、模仿编写脚本

通过平台生成脚本:

在这里插入图片描述

点击 R HEAD

在这里插入图片描述

查看脚本:


importstatic net.grinder.script.Grinder.grinder
importstatic org.junit.Assert.*
importstatic org.hamcrest.Matchers.*
import net.grinder.plugin.http.HTTPRequest
import net.grinder.plugin.http.HTTPPluginControl
import net.grinder.script.GTest
import net.grinder.script.Grinder
import net.grinder.scriptengine.groovy.junit.GrinderRunner
import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess
import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread
// import static net.grinder.util.GrinderUtils.* // You can use this if you're using nGrinder after 3.2.3
import org.junit.Before
import org.junit.BeforeClass
import org.junit.Test
import org.junit.runner.RunWith
import java.util.Date
import java.util.List
import java.util.ArrayList
importHTTPClient.Cookie
importHTTPClient.CookieModule
importHTTPClient.HTTPResponse
importHTTPClient.NVPair




@RunWith(GrinderRunner)
classTestRunner{

publicstaticGTest test
publicstaticHTTPRequest request
publicstaticNVPair[] headers = []
publicstaticNVPair[] params= []
publicstaticCookie[] cookies = []

@BeforeProcess
publicstaticvoid beforeProcess() {
HTTPPluginControl.getConnectionDefaults().timeout = 6000
		test = newGTest(1, "www.baidu.com")
		request = newHTTPRequest()
		grinder.logger.info("before process.");
}


@BeforeThread
publicvoid beforeThread() {
		test.record(this, "test")
		grinder.statistics.delayReports=true;
		grinder.logger.info("before thread.");
}


@Before
publicvoid before() {
		request.setHeaders(headers)
		cookies.each { CookieModule.addCookie(it, HTTPPluginControl.getThreadHTTPClientContext()) }
		grinder.logger.info("before thread. init headers and cookies");
}


@Test
publicvoid test(){
HTTPResponse result = request.GET("https://www.baidu.com/", 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));
}
}
}

复制脚本:
在 idea 中新建脚本:

在这里插入图片描述

选择 Groovy 脚本:

在这里插入图片描述

输入名字点击保存即可:

在这里插入图片描述

新建完毕把刚才脚本复制过来修改下方法名称:

在这里插入图片描述

点击运行:

在这里插入图片描述

可以看到提示:

在这里插入图片描述

在 Idea 菜单栏->Run->Edit Configurations->Default->Junit->在VM options 填写自定义配置,点击 Apply 按钮保存配置即生效:

在这里插入图片描述

再次点击:

在这里插入图片描述

运行结果如下:

在这里插入图片描述

到这里本机脚本调试成功。

八、小结

下次再次分享本地参数化与 Post 请求

以上就是性能工具之 nGrinder 源码安装的详细内容,更多关于nGrinder 源码安装的资料请关注编程网其它相关文章!

--结束END--

本文标题: nGrinder性能工具源码安装部署过程

本文链接: https://lsjlt.com/news/127257.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • nGrinder性能工具源码安装部署过程
    目录一、前言 二、源码下载三、本地配置四、IDEA 设置五、启动验证六、使用源码调试简单脚本七、模仿编写脚本八、小结nGrinderr(version: 3.4.1)是NA...
    99+
    2024-04-02
  • 开源虚拟化工具VirtualBox安装部署
    什么是Virtualbox  VirtualBox是一款由Oracle开发和维护的免费开源虚拟化软件,用于在一台计算机上创建和管理多个虚拟机。它允许用户在单个物理计算机上运行多个操作系统,例如Windows、Linux、macOS等。V...
    99+
    2023-10-07
    virtualbox 虚拟化
  • 源码安装apache脚本部署过程详解
    目录源码安装apache脚本部署源码安装apache脚本部署 [root@localhost ~]# ls anaconda-ks.cfg httpd.tar.xz [root@localhost ~]# tar xf...
    99+
    2024-04-02
  • redis 代理工具Predixy安装部署
    PredixyPredixy 是一款高性能全特征redis代理,支持redis-sentinel和redis-cluster特性高性能并轻量级支持多线程多平台支持:Linux、OSX、BSD、Windows...
    99+
    2024-04-02
  • Redis的安装部署过程
    这篇文章主要讲解了“Redis的安装部署过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis的安装部署过程”吧! 下载地...
    99+
    2024-04-02
  • mysql5.7源码安装数据库部署
    **mysql5.7.20源码部署 作者:mj培根(mjboy)** 1)安装基础包yum install -y gcc gcc-c++ automake autoconf git makeyum -y ...
    99+
    2024-04-02
  • Mac OS下用Homebrew安装开源工具的过程
    这篇文章主要介绍“Mac OS下用Homebrew安装开源工具的过程”,在日常操作中,相信很多人在Mac OS下用Homebrew安装开源工具的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mac OS下...
    99+
    2023-06-04
  • CMDB工具 - iTop安装部署(一发入魂)
    基于 LAMP 环境部署 iTop 一、搭建 LAMP 环境 注:操作系统为 CentOS 7.9 安装 Apache HTTP Server sudo yum -y install httpd ...
    99+
    2023-08-31
    php mysql centos 运维
  • ansible管理工具的环境及部署安装
    目录环境准备:部署:(管理主机)环境准备: 管理主机:172.16.1.30 被管主机:172.16.1.31 部署:(管理主机) 第一步: 首先对管理主机进行本地hosts解析: ...
    99+
    2024-04-02
  • Redis的安装以及部署过程
    这篇文章主要介绍“Redis的安装以及部署过程”,在日常操作中,相信很多人在Redis的安装以及部署过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis的安装以及部署...
    99+
    2024-04-02
  • RabbitMQ单机版部署安装过程
    简介 RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 部署 安装erlang环境 由于rabbitmq是基于erlang语言开发的,所以必须先安装erl...
    99+
    2024-04-02
  • Zabbix监控的安装部署过程
    本篇内容介绍了“Zabbix监控的安装部署过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装Zabbix部署所需依赖包#yum&nb...
    99+
    2023-06-05
  • mysql的源码安装过程
    本篇内容主要讲解“mysql的源码安装过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql的源码安装过程”吧! mysql   ...
    99+
    2024-04-02
  • 部署Nacos的源码环境搭建过程
    目录正文启动类设置单机启动启动输出查看控制台正文 最近在学习nacos,通过调式源码查看服务注册和发现流程和原理,本地部署naos源码需要一定的步骤,本文主要做nacos源码部署。 ...
    99+
    2023-02-09
    Nacos源码部署环境搭建 Nacos源码部署
  • java学习DongTai被动型IAST工具部署过程
    目录01、环境准备 02、快速安装与部署03、初步测试体验我在5月份的时候就申请了洞态IAST企业版内测,算是比较早的一批用户了。聊聊几个我比较在意的问题,比如API接口覆...
    99+
    2024-04-02
  • ansible管理工具的环境怎么部署安装
    本文小编为大家详细介绍“ansible管理工具的环境怎么部署安装”,内容详细,步骤清晰,细节处理妥当,希望这篇“ansible管理工具的环境怎么部署安装”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。环境准备:管理...
    99+
    2023-06-29
  • CVAT标注工具---最新安装部署-2023-04-03
    简单介绍: CVAT是OpenCV团队开源的一个基于web的图像标注系统,它能够对图像、视频做矩形、关键点、图像分割、目标追踪、3D等标注。cvat可以分为服务端和客户端,服务端可以部署在本地或者云上...
    99+
    2023-09-14
    docker python django
  • ORALCLEE安装和部署的详细过程
    本篇内容主要讲解“ORALCLEE安装和部署的详细过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ORALCLEE安装和部署的详细过程”吧!一、 前期:关闭 ...
    99+
    2024-04-02
  • Oracle18cRPM安装部署数据库的过程
    这篇文章主要介绍“Oracle18cRPM安装部署数据库的过程”,在日常操作中,相信很多人在Oracle18cRPM安装部署数据库的过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • docker安装部署 onlyoffice的详细过程
    0. 系统要求 中央处理器 I5-10400F以上 内存 16 GB,最佳32G内存 硬盘 至少40 GB的可用空间 1:安装Docker Desktop 2:进入BIOS设置CPU...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作