소켓 메모리낭비
145
작성한 질문수 25
안녕하세요. 강의를 보고 소켓이 연결될 때 로그를 남겨봤는데, 살펴보니 이유 없이 소켓 연결이 많이 생성되어 있는 것을 확인했습니다.
이런 경우 선생님께서는 어떻게 해결하셨나요?
소켓 메모리 낭비를 해결하셨다고 들었던 것 같아서 여쭤봅니다.
답변 2
0
수업에서 다루었던 클래스 중에 StompSessionEventListener 에서 session의 연결 현황을 확인해볼수 있는데 session이 많이 연결돼 있나요?
만약 그렇다면 프론트엔드에서 적절하게 disconnect를 해줘야 하는데 그렇지 못한것으로 보여집니다. 수업에서 다룬 프론트 코드에서 화면을 leave할때 disconnect를 해주고 있는데, 수업에서 만든 프론트 코드에서 여러 상황을 고려하긴 했지만, 브라우저를 종료시키는 방법에 따라 disconnect로직을 안탈수도 있을것 같습니다. 어떤 상황에서 연결세션이 만들어지는를 확인해주시고, 아마도 프론트엔드에서 적절하게 disconnect해야 할것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 우유소보루님.
소켓 연결을 관리할 때 메모리 낭비 문제는 여러 요인으로 발생할 수 있으며, 이는 효율적인 자원 사용 및 시스템 성능에 영향을 미칩니다. 소켓 메모리 낭비 문제를 해결하기 위해 몇 가지 접근 방법을 소개해 드리겠습니다.
불필요한 소켓 종료: 연결이 끝난 소켓에 대해 명시적으로 닫아주는 것이 중요합니다. 필요 없는 소켓이 계속 열린 상태로 유지되면 메모리 사용량이 증가하므로, 연결이 필요 없을 때는 즉시
close()를 호출하여 소켓을 닫아야 합니다.소켓 재사용: 가능한 경우 소켓을 재사용하는 것도 하나의 방법입니다. 일정한 조건에서 소켓 연결을 다시 사용할 수 있도록 설계하여 새로운 소켓 연결을 반복 생성하는 것을 방지할 수 있습니다.
최대 소켓 수 제한: 동시에 연결 가능한 소켓의 수를 제한합니다. 설정 가능한 최대 소켓 수를 초과하면 연결을 거부하거나 큐에서 대기하도록 하여 불필요한 메모리 사용을 피할 수 있습니다.
소켓 타임아웃 설정: 연결이 일정 시간 동안 비활성화 상태일 경우 자동으로 소켓을 닫도록 타임아웃을 설정합니다. 이는 유휴 상태의 연결이 시스템 자원을 계속해서 소모하는 것을 방지합니다.
정기적인 자원 청소: 주기적으로 시스템의 자원 사용 상태를 검사하고, 사용되지 않는 자원을 해제하는 작업을 수행합니다. 이를 통해 메모리 누수를 방지할 수 있습니다.
관련된 정보나 추가적인 해결 방법이 필요한 경우, 아래 유사한 질문 링크를 참고해 주세요:
- 소켓 연결 및 자원 관리에 대한 추가 사항 - 소켓 및 세션 관리 방식에 대한 다양한 접근.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ERD 질문
0
54
2
StompHandler 관한 질문
0
80
2
리프레시 토큰은 알아서 구현하면 되는건가요??
0
79
2
cors, csrf 직접 구현
0
65
1
JWT 필터구현
0
98
2
강의 잘듣고 있습니다. 혹시 다음 강의 계획은 없으신가요?
0
57
1
STOMP 동작 과정 질문
0
48
1
chain.doFilter()
0
45
1
자바 21로 소스 작성해도 되나요?
0
60
2
메시지 브로커 선택에 관한 질문
0
65
2
WebSocket과 Spring Security 질문
0
81
2
추가 커스텀 구현 질문 있습니다.
0
60
2
connect와 동시에 구독하는데 구독 검증이 꼭 필요한가요?
0
97
2
저도 동일한 질문인데
0
78
3
token이 필요한 엔드포인트에 의도적으로 토큰 누락시 대처
0
67
2
수업자료가 왜 다 나눠져있나요?
0
78
2
메시지 전송 시 검증
0
61
2
JWT 생성 시 subject 설정에 대한 질문
0
157
3
StompHandler 질문 있습니다.
0
82
2
앱 서비스일 경우
0
83
2
웹소켓 서버 재배포시 고려해야 할 상황 질문
0
107
2
배포 오류 질문
0
123
2
/connect 경로에 대한 토큰 검증의 필요성
0
77
1
JwtTokenProvider 작성중 오류 발생으로 문의드립니다.
0
97
2





