관리 메뉴

HAMA 블로그

nGrinder vs Jmeter 본문

테스트

nGrinder vs Jmeter

[하마] 이승현 (wowlsh93@gmail.com) 2015. 12. 1. 17:06


1. nGrinder

nGrinder는 네이버에서 성능 측정 목적으로 개발 된 오픈소스 프로젝트이며, 2011년에 공개 하였습니다.

(The Grinder라는 오픈소스 기반에서 개발 되었습니다.)

성능 측정이란 것은 실제 서비스에 투입 되기 앞서, 실제와 같은 환경을 만들어 놓고, 서버가 사용자를 얼마 만큼 받아 줄 수 있느냐를 실험 할때 사용합니다.

예를들어.. 엔지니어가 동시접속자 100명 정도 쯤 무리 없겠지? 라고 예상하고 그에 맞는 서버를 준비하고 설정 했는데.. 예상치 못한 x1000 명이 더 와버리면.. 서버는 죽고 엔지니어는 야근 하겠죠..? 이런것을 미리 예측 하기 위한 도구라고 이해 하시면 됩니다. ^^;

또한, 엔터프라이즈 환경에서의 상용 성능 측정 도구를 사용 해보질 않아서 잘 모르지만, 대충 들어보니 가격이 억대라고 합니다.
그래서, 네이버가 가격 때문에도 그렇고 테스트 및 개발시 잦은 수고들을 덜게 하기 위해 만들어 진 것 같습니다.

무튼 설명은 여기서 끝내기로 하고 더 자세한 내용은 https://naver.github.io/ngrinder 또는
개발자이신 윤준호님 블로그 http://junoyoon.tistory.com/category/ngrinder 를 방문 해주세요.

 

nGrinder Architecture

아키텍처를 살펴보시면 아시겠지만, nGrinder는 Controller, Agent, Target 서버로 나눠져 있습니다.

– Controller
성능 테스트를 위한 웹 인터페이스, 테스트 프로세스를 조정 및 대조, 표시 통계 테스트를 할 수 있는 기능을 제공합니다.

– Agent
Controller의 명령을 받아 실행에 옮기는 녀석입니다.

– Target
실험 대상이 될 서버이며, 여기에 nGrinder-Monitor가 실행이 되면 실험하는 동안 현 상황 정보를 Controller에서 모니터링 할 수 있습니다.





2. Apahce JMeter

Apache JMeter는 100% 순수 자바로 만든 퍼포먼스 테스팅 도구 입니다.

기본적으로는 Web Application을 테스팅 하는데 디자인 되었지만 다른 기능들도 테스트 할 수 있도록 확장되었답니다

 

그럼 Apache JMeter로 무엇을 할 수 있을까요?

JMeter는 정적인 것 뿐만 아니라 동적인 자원 (files, Servlet, Perl, Java Object, DataBase 와 Queries, FTP Servers 등) 둘다 성능을 테스트 하는데 사용됩니다. 즉 서버나 네트웍 혹은 Object에 스트레스를 가하여 다양한 형태의 상태에서 성능을 전반적으로 분석 할 수 있도록 도와준다는 겁니다.

 

그럼 JMeter의 특징을 간단히 살펴보죵.

-. HTTP나 FTP서버 뿐만 아니라 임의의 데이터베이스 쿼리도 성능을 테스트 할 수 있습니다.

-. 100% 순수 자바로 구현되었기 때문에 기종에 상관없이 실행 할 수 있습니다.

-. Swing 기반의 Componet를 지원합니다.

-. Multithreading 기능을 이용하여 동시에 많은 Thread를 발생 시킬수도 있으며 혹은 독립된 Thread를 연속적으로 발생시켜 테스팅 할 수도 있습니다

-. GUI 환경으로 빠른 작업을 정확하게 할 수 있답니다.

-. 캐싱된 결과를 분석하고 재현 할 수 있습니다.

-. 높은 확장성이 있습니다.

 

       


참고 목록 //


nGrinder 

https://opentutorials.org/course/643/3334  (생활코딩 동영상 강좌)

http://www.yongbok.net/blog/ngrinder-enterprise-level-performance-testing-solution/

http://deview.kr/2013/detail.nhn?topicSeq=2  (동영상 소개)


Jmeter

https://www.youtube.com/watch?v=EUM3WgcBBfg (생활 코딩 동영상 강의)

http://www.cikorea.net/lecture/view/289/page/1

http://www.slideshare.net/minwoobyeon/ss-14835757


툴의 비교글

http://www.slideshare.net/minwoobyeon/ss-14835757


Comments