2022 02 02
2022-02-02
Broken Pipe
- 원인
- 이미 닫힌 Connection을 사용하려고 하는 경우
- FileInputStream, BufferedOutputStream 등 여닫는 구조의 Connection이 닫혔는데 사용시도하는 경우
- Server Side에서 보내는 요청에 대해 Client가 제대로 수신하지 못한 경우
- Client와 WAS의 통신이 단절되어 발생한 문제
- 연결이 끊겨 최초 요청한 작업 정보가 없어져 응답할 대상이 없어진 경우
- 잦은 입출력이 원인
- 요청 처리가 끝나기도 전에 새로고침/등록 버튼을 연속으로 눌러 재요청 여러번 보내는 경우
- 브라우저 <-> 서버 연결... 이때 accept 된 소켓을 HttpThread로 넘김
- 해당 소켓이 ThreadPool에 들어오고 HttpThread로 수행
- 해결책
- 클라이언트가 Request에 대한 Response를 무조건 기다리도록
- Exception을 무시할 것
- 중복 요청 확인 후 Block
- Timeout 값을 늘리기
- 가용 쓰레드 늘리기
- 시도1. 가용 쓰레드 늘리기

- Connection reset by peer 란 에러가 나오네...?
- 시도2. SpringBoot Connection time 늘리기
Connection reset by peer
- 해당 블로그 필자의 해결
- Nginx의 문제: Nginx 설정은 한번 설정해두면 간과하기 쉬움 이를 확인해볼것
도커 Nginx에서 정적 파일 서빙하기