====== nGrinder ====== * https://naver.github.io/ngrinder/ * Naver 에서 만든 Java 기반 부하테스트. [[loadtest:grinder|Grinder]]의 개선 버전. * [[https://github.com/naver/ngrinder/releases|nGrinder Download]] * [[https://github.com/naver/ngrinder/wiki/Installation-Guide|Installation Guide · naver/ngrinder Wiki]] * [[https://hub.docker.com/r/ngrinder/controller/|ngrinder/controller - Docker Hub]] [[:docker|Docker]] 기반 설치 가능, 최신 버전으로 docker 이미지 갱신이 안되고 있는 듯 보임. * [[https://github.com/naver/ngrinder/wiki/User-Guide|User Guide · naver/ngrinder Wiki]] * **nGrinder 자체의 GC 발생으로 인해 성능 테스트가 영향을 받는 경향이 이다고 함.** ===== 설치 실행 ===== * ngrinder-controller 를 war / [[linux:nohup|nohup]] 으로 그냥 실행하면 ''stdin'' 이 막히면서 ''Bad file descriptor'' 발생. 아래와 같이 실행하면 해결 * https://unix.stackexchange.com/a/266247 nohup java -jar ngrinder-controller-3.4.2.war > ngrinder.log 2>&1 0<&- & * 내장 [[java:jetty|Jetty JSP/Servlet Container]]로 실행할 경우 30분 정도 지나면 죽어서(3.4.2버전) [[java:tomcat|Tomcat]] ''${CATALINA_HOME}/webapps/ROOT.war''로 설치해서 실행 가능. ===== Recording 이 올바로 안된다면 ===== * 테스트 수행은 되지만 레코딩이 올바로 안된다면 groovy 스크립트의 ''GTest'' 객체에 올바로 ''record()'' 설정이 안 돼 있는 것이다. // @BeforeThread 에서 gtest.record(this, "test1") // test1 은 @Test 메소드 이름 // 혹은 @BeforeProcess 에서 request = new HTTPRequest() gtest.record(request) // request 를 여러개 날릴때는 각각 request 객체 만들고 각각 등록 ===== DB SQL Test ===== * [[https://github.com/naver/ngrinder/wiki/Using-nGrinder-to-perform-DB-load-test|Using nGrinder to perform DB load test · naver/ngrinder Wiki]] * JDBC Driver 를 업로드하고 [[groovy:sql|Groovy SQL (Database)]] 로 테스트 가능 ===== 참고 ===== * [[https://opentutorials.org/module/351/3334|nGrinder Open Tutorials]] * [[https://brownbears.tistory.com/25|[nGrinder]nGrinder란? & docker 설치 방법간]] * [[https://brownbears.tistory.com/27|[nGrinder]스크립트(Groovy) 작성법]] * [[https://nesoy.github.io/articles/2018-10/nGrinder-Start|nGrinder 시작하기]] * [[https://github.com/naver/ngrinder/wiki/The-New-nGrinder-HTTP-Client|The New nGrinder HTTP Client · naver/ngrinder Wiki]]