nGrinder 3.3 with Ubuntu 14.04.1 LTS [Part - 2 Advance - (Subtitle - Agent Clustring, Memory setting)]
Part-1 Basic을 읽고 오셨다면 느끼셨겠지만
언제 어디서나 인터넷만 존재한다면 개발환경과도 무관하게 테스트를 바로 진행 할 수 있으니 JMeter에서 사용하던 remote control 의 불편함을 해소하고, WAS기반으로 테스트를 진행한다는것은 가히 매력적이라고 할수 있습니다.
또한 자동으로 테스트 결과를 저장해 준다는것 또한 매력적입니다.
Part-2에서 다루게 될 Moniter기능과 Agent Clustering까지 적용한다면
손쉽게 테스트를 진행하고, target server의 자원을 체크할수 있으니 단순히 TPS 또는 response time 측정 뿐만이 아닌 목표로 하는 서버 scale up에도 적절히 활용 할수 있을 것 입니다.
If you're here to read, but feel Part-1 Basic
Internet anywhere, anytime, if there is only development environment, and it may also be conducted regardless of the test immediately relieve the discomfort of a remote control that was used in JMeter, and proceed with the test is that it WAS based on the notch can be called attractive.
Giving is also an attractive addition to automatically save the test results.
If applied to the Agent Clustering Moniter function and be covered in Part-2
Easily proceed to test, target server, so you can check the resources of the TPS or simply by measuring response time servers that scale up to the target, not only you will be able to properly utilize.
nGrinder Controller(war가 배포된 tomcat)을 실행하거나
nGrinder Agent, nGrinder Moniter를 실행할경우
/home/{user}/ 하위에 설정 파일이 자동으로 생성됩니다.
Run the nGrinder Controller (war is deployed tomcat) or
nGrinder Agent, if you run the nGrinder Moniter
/ home / {user} / settings file is created automatically in the child.
Controller -> .ngrinder
Agent -> .ngrinder_agent
moniter -> .ngrinder_agent
Agent와 moniter가 .ngrinder_agent 라는 같은 이름으로 생성 된다고 해서 혼동이 발생할 일은 없습니다. moniter는 target server에 배포하고, agent는 attack server에 배포하기 때문에 같은곳에 존재 할 일이 없기 때문입니다.
local에서 Agent를 실행했을때는 별다른 설정 없이 controller와 연동이 되었지만, Clustering을 할때는 약간의 편집을 해 주어야 합니다.
Agent and moniter does not work cause confusion generated by that same name .ngrinder_agent. moniter is deployed on target server and, agent, because there is no work to do at the same place, because they are deployed to attack server.
When you run the Agent from the local controller and the works, but without any settings, you have to edit some halttaeneun for Clustering.
nGrinder 개발팀의 리더이신 윤준호님께서 직접 작성한 글을 인용하자면 아래와 같습니다.
원문 : http://junoyoon.tistory.com/108
Yun Junho's leader, who had a team nGrinder following quote posts directly.
Source: http://junoyoon.tistory.com/108
---------------------------------------------------------------------------------------------------------------
- Controller : Oracle JDK 1.6 이상 / 톰캣 6.X 이상 / 메모리 2G 이상 권장
- Agent : Oracle JDK 1.6 이상 / 2 Core - 메모리 4G 권장
- nGrinder 컨트롤러는 메모리를 많이 쓰기 때문에 메모리 설정이 좀 필요합니다. 다음 설정을 안하시면 몇가지 관리자 기능이 동작하지 않게 됩니다. 톰켓의 bin/catalina.sh (리눅스 사용시) 또는 bin/catalina.bat (윈도우즈 사용시) 에 다음을 넣으세요. 맨 앞에 넣으시면 됩니다. 1
JAVA_OPTS=
"-Xms600m -Xmx1024m -XX:MaxPermSize=200m"
# for catalina.sh
1set
JAVA_OPTS=-Xms600m -Xmx1024m -XX:MaxPermSize=200m
# for catalina.bat
Controller: Oracle JDK 1.6 or higher / Tomcat 6.X or higher / Memory 2G or more recommended
Agent: Oracle JDK 1.6 or later / 2 Core - 4G memory recommended
nGrinder controller requires little memory settings, so write a lot of memory. If you do not have some of the following settings: Administrator function will not work. Put the following in bin / catalina.sh (using Linux) or bin / catalina.bat (using Windows) on Tomcat. The simyeon put it at the front.
---------------------------------------------------------------------------------------------------------------
1.Controller Setting
우선 다양한 기능들을 사용하기위해 Controller(tomcat)의 메모리부터 수정하겠습니다.
/{TOMCAT_HOME}/bin/ 경로로 가셔서
linux의 경우 catalina.sh / windows의 경우 catalina.bat을 애용하시는 편집기로 편집하시면 됩니다.
입력 위치는 크게 상관 없는걸로 알고있지만 저는 97번째 줄에 넣곤 합니다.
First, we will modify from the memory of the Controller (tomcat) to use various functions.
/ {TOMCAT_HOME} go to / bin / path
For the case of linux catalina.sh / windows please edit in your favorite editor and catalina.bat.
Enter location is largely irrelevant, but I understand we neotgon the 97th line.
윤준호씨가 권장한 설정
Mr. Yun Junho recommended settings
1 |
JAVA_OPTS="-Xms600m -Xmx1024m -XX:MaxPermSize=200m"
|
제가 사용하고 있는 설정.
I use that setting.
1 |
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1536m
-XX:NewSize=128m -XX:MaxNewSize=256m -XX:PermSize=128m -XX:MaxPermSize=1024m -XX:+DisableExplicitGC"
|
아래와 같은 명령어로 실행하여 백그라운드로 실행 하십시오.
nohup {command} &
당신의 터미널이 종료 되어도 동작합니다.
ex)nohup ./startup.sh &
종료시키는 방법은 직접 PID를 조회 해서 process kill 해야합니다.
Run the following command to run in the background.
nohup {command} &
This works even if you exit the terminal.
ex) nohup ./startup.sh &
How to terminate the query directly to the PID must process kill.
(search tomcat pid)
ps -aux|grep tomcat
(kill tomcat process)
kill -9 [PID]
2.Agent Setting
최초 Agent를 실행하면
/{userHome}/ 경로 아래에 .ngrinder_agent가 생성됩니다.
Agent를 실행한 적이 없다면 Agent 폴더 안에 __agent.conf를 편집하시고
Agent를 실행한 적이 있다면 .ngrinder_agent 폴더안에 agent.conf를 편집하세요.
.ngrinder_agent/agent.conf가 {agent_home}/__agent.conf보다 우선 적용됩니다.
When you first run the Agent
/ {userHome} / path will be created under .ngrinder_agent.
If you have not run the Agent in Agent folder and edit the __agent.conf
If you have run the Agent to edit the agent.conf in .ngrinder_agent folder.
.ngrinder_agent / agent.conf the {agent_home} / overrides __ agent.conf.
1
2
3
4
5
6
7
8
9
10
11
12
|
common.start_mode=agent
#You`re WAS IP
agent.controller_host=111.222.333.444
agent.controller_port=16001
#anything
agent.region=TestRegion
#agent_ID_code
agent.host_id=anything
|
에이전트 또한 controller와 마찬가지로 백그라운드로 구동합니다.
Agents also drive and controller, like the background.
nohup ./run_agent.sh &
여기까지 완료되었다면 WAS에 접속해서 중간 점검을 해보도록 합니다.
Once complete, up here to try to connect to WAS intermediate check.
admin tab -> enter the Agent Management Tab.
현재 활성화된 Agent를 볼수 있습니다.
가장 우측에 Approved 설정 부분에 모든 Agent가 Approved 되어 있는지 확인하세요.
You can view the currently active Agent.
Make sure that the Agent has all the right parts are set to Approved Approved.
3.Moniter Setting
모니터 설정은... 그냥 실행만 하면됩니다 :D
Monitor settings ... just simply run :D
nohup ./run_moniter.sh &
자 그럼 실제로 테스트를 하나 진행 해보도록 하죠.
So I actually tested one going to try.
1. Agent 설정창 Max가 2로 증가된것을 확인할 수 있습니다.
2. +버튼을 누르면 Agent의 process개수와 Thread개수를 조절할 수 있습니다.
3. Script코드를 선택할수 있습니다.
4. Add버튼을 눌러 Target Server를 monitering 할수 있습니다.
(물론 Target Server에서 moniter가 구동 중이어야 합니다.)
5.Agent가 Thread단위로 실행 할 것인지. Process단위로 실행 할 것인지 결정합니다.
Part-1 Basic에서 말했던 것처럼 Process는 자원 소모가 많아서 저는 Thread로 실행합니다.
1. Agent window, you can see that Max is increased by two.
2. Press the + button to adjust the process and Thread Count The number of Agent.
3. You can select the Script code.
4. Click the Add button can be monitering the Target Server.
(Of course, you should moniter is being driven from the Target Server.)
5.Agent is whether to run as a Thread Unit. Decide if you want to run the Process Unit.
As mentioned in Part-1 Basic Process is executed by the resources consumed much I Thread.
Target Host Add버튼을 누르면 아래와 같은 창이 뜹니다.
Pressing the Target Host Add button brings up the following window.
바로 테스트를 시작해 보겠습니다.
Let's start the test immediately.
It displays the Target State and Agent State on the left as shown in the screen.
Test Result을 보면 Moniter된 서버의 시간대별 CPU/memory 사용량을 확인 할 수 있습니다.
In the Test Result can be checked hourly CPU / memory usage of the server Moniter.
Part-2 Advance는 이것으로 마치고
Part-3 Ultimate에서는 JMeter + nGrinder 복합사용을,
Part-4 Unlimited 에서는 Controller Clustering을 다룰 예정입니다.(물론 쓰게 된다면 말이죠.)
Part-2 Advance is finished with it
Using JMeter + nGrinder complex in Part-3 Ultimate,
In Part-4 Unlimited will cover the Controller Clustering. (. If time permits, of course)
댓글 없음:
댓글 쓰기