작성
·
307
0
저는 현재 nginx로 로컬 환경에서 로드밸런싱을 구성하였습니다.
80으로 접속하면 8080, 8081, 8082 port 중 한 곳으로 접속이 됩니다.
이에 로드밸런싱을 수행하기 전과 후의 성능 테스트를 진행하기 위해 Jmeter 툴을 이용하여 테스트를 진행하고자 했습니다.
우선 가볍게 위와 같이 설정해주었고, Timeout은 10초로 설정하였습니다.
이에 테스트를 수행하면, 정확히 1분 넘어가는 순간
이렇게 에러가 와바박 발생합니다.
대체 왜 이러는 걸까요...
nginx 설정으로는
worker_processes 4;
worker_connections 4096; 로 해주었습니다.
제가 놓친 부분이 무엇일까요... 제발 도와주십쇼...
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
모코코님, JMeter를 사용한 분산 테스트에서 발생하는 java.net.SocketException: Socket closed
에러는 여러 가지 원인 때문에 발생할 수 있습니다. 이 에러는 주로 소켓이 열린 상태에서 어떤 이유로 인해 닫혔을 때 발생합니다. 몇 가지 원인과 해결 방법을 제안드립니다:
Nginx 설정 확인:
worker_processes
와 worker_connections
설정은 충분해 보이지만, 추가로 다음 설정들을 확인해보세요.keepalive_timeout
설정을 증가시켜 보세요:
keepalive_timeout 65;
client_body_timeout
, client_header_timeout
, send_timeout
등의 타임아웃 설정을 Nginx에서 늘려보세요:
client_body_timeout 60s;
client_header_timeout 60s;
send_timeout 60s;
JMeter 설정 확인:
Loop Count
를 제한하여 테스트를 진행해보세요.서버 측 로그 확인:
시스템 자원 확인:
추가적인 도움이나 구체적인 설정 파일 정보를 공유해주시면 더 자세한 도움을 드릴 수 있습니다.
Spring Boot Reference Documentation v3.1.5 > SpringApplication > Startup Failure 문서에서 더 유용한 정보를 확인할 수 있습니다.
문제가 잘 해결되길 바랍니다. 감사합니다.