Computer Science

Ngrinder를 이용하여 서버 스트레스 테스트

imygnam 2022. 11. 10. 00:35

https://github.com/naver/ngrinder

 

GitHub - naver/ngrinder: enterprise level performance testing solution

enterprise level performance testing solution. Contribute to naver/ngrinder development by creating an account on GitHub.

github.com

ngrinder는 네이버에서 오픈소스로 제공하는 스트레스 테스트이다.

 

ngrinder는 크게 2가지로 구성이 되어있는데, controller와 agent이다.

agent로 테스트를 진행하며 agent여러개를 관리하여 결과 등을 확인 할 수 있는것이 controller이다.

 

우선 controller를 다운 받는다.

https://github.com/naver/ngrinder/releases

 

Releases · naver/ngrinder

enterprise level performance testing solution. Contribute to naver/ngrinder development by creating an account on GitHub.

github.com

java -jar ngrinder-controller-{version}.war

으로 실행을 하는데, 최근 버전은 java 17을 지원한다고 쓰여 있지만

net.grinder.engine.common.EngineException: Error while initialize test runner
	at net.grinder.scriptengine.groovy.GroovyScriptEngine.<init>(GroovyScriptEngine.java:71)
	at net.grinder.scriptengine.groovy.GroovyScriptEngineService.createScriptEngine(GroovyScriptEngineService.java:87)
	at net.grinder.engine.process.ScriptEngineContainer.getScriptEngine(ScriptEngineContainer.java:105)
	at net.grinder.engine.process.GrinderProcess.run(GrinderProcess.java:345)
	at net.grinder.engine.process.WorkerProcessEntryPoint.run(WorkerProcessEntryPoint.java:87)
	at net.grinder.engine.process.WorkerProcessEntryPoint.main(WorkerProcessEntryPoint.java:60)
Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
General error during conversion: Unsupported class file major version 61

java.lang.IllegalArgumentException: Unsupported class file major version 61
	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:196)
	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:177)
	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:163)
	at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:284)

막상 agent까지 다운로드 후 실행을 하면 빨간색 원이 뜨며 해상 오류가 생긴다.

 

https://shanepark.tistory.com/402

 

[Java] Unsupported class file major version 61 해결하기

문제 Unsupported class file major version 61 ArchUnit을 통한 아키텍처 테스트를 해 보려는데 Unsupported class file major version 61 에러가 발생했습니다. 원인 class file major version 61은 로드 하려고 시도하고 있는

shanepark.tistory.com

등 찾아보면 java 버젼 이슈인 것을 확인 할 수있다. 그냥 1.8로 안전하게 실행하자.

 

controller를 실행하였다면 localhost:8080에 접속해서

id, pw를 admin 으로 입력하면 들어갈 수 있다.

 

여기서 agent를 다운로드 해서 진행하자.

 

agent를 다운한뒤 폴더에 들어가보면

run_agent.sh 파일이있으니 실행해주면 된다.

 

agent마다 최대 3000명의 동시 접속자를 test할 수있으니 더많이 진행하고 싶다면 agent를 여러개 생성해서 진행하면된다.

test는 test하고자하는 Url을 script를 통해 설정하여 진행 할 수있다.