Ngrinder Architecture Introduction

Source: Internet
Author: User
Tags http request svn web services groovy script

Ngrinder Architecture Introduction
Ngrinder Groovy Scripting Usage Guide (groovy scripting structure)
Ngrinder Groovy Scripting Usage Guide (groovy maven structure)
Ngrinder Groovy Scripting Usage Guide (Import Groovy Maven project to IntelliJ)
Ngrinder's Groovy Script usage guide (HTTP request details)

Ngrinderr (version:3.4.1) is Naver (Korea's largest internet company NHN Search engine website) Open-source performance testing tools, directly deployed as Web services, support multi-user use, extensibility, customizable plugin philosophy Reliability over accuracy TPS over VUser code is always better than the GUI editor to use the correct conditions, the file system is faster than the database contract than the configuration Open Closed policy by Plugin Model one key Install need to add code? Remove same amount of code first. Overall Architecture

Ngrinder is an application that performs Groovy or Jython test scripts on a range of machines, and the internal engine is based on Grinder. Ngrinder uses controllers and agents to wrap the Grinder console and agent separately, and extends a variety of features to enable it to support concurrent testing.

The Ngrinder consists of two main components: Controller:
A web interface that provides performance testing. Coordinate the testing process. Organize and display the statistical results of tests to allow users to create and modify scripts. Agent
Load the system performance of the running test process and thread monitoring target machine on the proxy server (for example: cpu/memory)

When the agent starts, they try to connect to the controller, and then they are attached to the Agentcontrollerserver component. Agentcontrollerserver (which can be seen as a pool for an agent) manages the current agent pool. Whenever a user starts a performance test, a new console is created and the required number of agents are provided by Agentcontrollerserver. The Singleconsole (not the console in the Grinder) sends the test script and the test source to more than one specified agent, and begins to control the test flow until the end of the test. When the test is complete, the agents used is returned to the Agentcontrollerserver for later use in other tests. Similarly, Singleconsole will be returned to Consolemanager.

The biggest difference between Ngrinder and Grinder is that Ngrinder maintains multiple console instances and agents in the controller. Each console is stand-alone and all console can run concurrently. Many agents can be associated and assigned in advance, whenever necessary. Unlike Grinder, Ngrinder maximizes the utilization of agent machines. Cluster Architecture

Ngrinder support for controller cluster non-cluster mode starting from version 3.1


1. Ngrinder uses an embedded SVN service management script file, svn inventory stored in ${ngrinder_home} directory
2. Ngrinder uses EhCache to improve data retrieval performance from DB and SVN libraries.
3. Ngrinder uses Spring security to secure the system while extending the cluster mode using the Atlassian Plugin framework


1. All controllers in a cluster share the same db (database) and file system. All Ngrinder controllers must specify the same ${ngrinder_home} directory shared by NFS (Network File system).
2. Each controller can have its own special configuration and log output directory. This information will be stored in the ${ngrinder_ex_home} of each controller.
3. All controllers replicate each other's EhCache data (EhCache's cluster mode) to ensure that the controller cluster sees the same data.

Each controller can provide the same Wen content service to Ngrinder, but different test sets are processed according to region. By default, we do not provide a session cluster. So you may encounter a login problem because the session is stored in a controller and is not copied to the other controller. You may need to refer to Tomcat's session cluster configuration, or L4 's sticky session configuration. If you're not an expert on this, just let the user link to the same controller, which is easier. :-)

How to configure the cluster mode.
See the Simple cluster mode guide
View Advanced cluster Mode guide technology stack Customer tier client tier

Bootstrap

Bootstrap-slider

Jquery

Jquery Validate

Datatables

Select2

Jqplot

Codemirror Control Layer

Freemarker

Spring Security

Spring MVC

Gson

Svnkit Dav Service layer

The Grinder

Spring

EhCache Data Layer

Spring Data

H2

Cubrid

Liquibase

Svnkit

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.