일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 엔터프라이즈 블록체인
- 파이썬
- 이더리움
- 블록체인
- 스칼라 동시성
- Golang
- hyperledger fabric
- 파이썬 데이터분석
- 안드로이드 웹뷰
- 플레이프레임워크
- Actor
- 파이썬 머신러닝
- 주키퍼
- 스위프트
- 스칼라 강좌
- Akka
- 하이퍼레저 패브릭
- akka 강좌
- 파이썬 강좌
- Play2
- Adapter 패턴
- play2 강좌
- 스칼라
- 파이썬 동시성
- play 강좌
- Hyperledger fabric gossip protocol
- 그라파나
- Play2 로 웹 개발
- 하이브리드앱
- CORDA
- Today
- Total
HAMA 블로그
nGrinder vs Jmeter 본문
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