프로젝트/Ku:room

nGrinder 스크립트 검증 도중 Connection refused

개발하는 민우 2025. 2. 13. 02:20

상황

nGrinder를 통해 테스트 스크립트 작성중 이었습니다. 

- 이메일 전송

 

다음과 같은 오류가 발생하였습니다.

2025-02-12 17:14:42,091 ERROR java.util.concurrent.ExecutionException: java.net.ConnectException: Connection refused
java.net.ConnectException: Connection refused
	at org.apache.hc.core5.reactor.InternalConnectChannel.onIOEvent(InternalConnectChannel.java:64)
	at org.apache.hc.core5.reactor.InternalChannel.handleIOEvent(InternalChannel.java:51)
	at org.apache.hc.core5.reactor.SingleCoreIOReactor.processEvents(SingleCoreIOReactor.java:179)
	at org.apache.hc.core5.reactor.SingleCoreIOReactor.doExecute(SingleCoreIOReactor.java:128)
	at org.apache.hc.core5.reactor.AbstractSingleCoreIOReactor.execute(AbstractSingleCoreIOReactor.java:85)
	at org.apache.hc.core5.reactor.IOReactorWorker.run(IOReactorWorker.java:44)

 

nGrinder 사전 지식

 

nGrinder는 Controller가 여러 대의 agent를 가지고, 해당 agent는 target 서버에 요청을 보내게 됩니다.

- controller: 사용자로부터 테스트 요청을 받아드리고, 여러 개의 agent를 묶어서 테스트 수행

- agent: 컨트롤러의 요청을 받아서 실질적인 테스트 수행

- target: 사용자가 테스트를 원하는 서버 

 

 

원인

동일한 로컬 머신에서 실행한다 하더라도 nGrinder 아키텍쳐상 agent, controller, target는 서로 다른 가상의 머신에서 실행됩니다. 그렇기에 agent에서 Localhost를 사용하면 target이나 controller이 아닌 agent 자신을 가리키는 것이 됩니다.

 

해결 방법

target이 동작하고 있는 머신의 공인 IP를 알아낸후 포트 포워딩을 하여 테스팅을 하거나 터널링을 사용해야 합니다.

https://goto-pangyo.tistory.com/277