자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi datasnap 구현 미들웨어 세션 물고 있는 현상
2018.03.15 17:33
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안녕하세요. 델파이라는 언어로 처음 뛰어든 개발자입니다.
웹서버에 델파이로 구현한 미들웨어를 띄워놓고, 앱 접속을 하고 있습니다.
다만, 세션이 계속 DB에 쌓이면서 세션풀이 나고 있는데요.
데이터모듈에서는 아래와 같이 TSQLConnection을 처리하고 있습니다.
TClientDataSet AfterClose이벤트에 하기와 같은 처리를 했습니다.
.DataSQLCon.Connected := false;
.DataSQLCon.Close;
.DataSQLCon.FreeOnRelease;
클라이언트모듈에서는 아래와 같이 Destroy처리를 하고 있습니다.
TfrmServerMethodClient.free
세션풀이 날 경우 웹서버에 작동중인 미들웨어를 껐다 다시키면
세션kill 스케줄러를 걸어놓은 killed 세션들과 inactive상태 세션들이 날아가면서 정상으로 돌아옵니다.
도움 부탁드릴께요.
Delphi datasnap 구현 미들웨어 세션 물고 있는 현상
2018.03.15 17:33
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
안녕하세요. 델파이라는 언어로 처음 뛰어든 개발자입니다.
웹서버에 델파이로 구현한 미들웨어를 띄워놓고, 앱 접속을 하고 있습니다.
다만, 세션이 계속 DB에 쌓이면서 세션풀이 나고 있는데요.
데이터모듈에서는 아래와 같이 TSQLConnection을 처리하고 있습니다.
TClientDataSet AfterClose이벤트에 하기와 같은 처리를 했습니다.
.DataSQLCon.Connected := false;
.DataSQLCon.Close;
.DataSQLCon.FreeOnRelease;
클라이언트모듈에서는 아래와 같이 Destroy처리를 하고 있습니다.
TfrmServerMethodClient.free
세션풀이 날 경우 웹서버에 작동중인 미들웨어를 껐다 다시키면
세션kill 스케줄러를 걸어놓은 killed 세션들과 inactive상태 세션들이 날아가면서 정상으로 돌아옵니다.
도움 부탁드릴께요.
위 증상으로 유추해 보면 서버측(DataSnap)에서 세션을 종료하지 않을 수 있다고도 생각됩니다.
(즉 세션에서 DB를 물고있고, 세션이 정상 종료되지 않으면 DB와 세션이 쌓일 수 있을것 같습니다.)
아래 페이지는 서버측에서 세션을 다루는 내용을 설명합니다.
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Server_Side_Session_Management
우선 서버 측에서 세션을 모니터링 해보시고, 위 가장이 맞는지 확인해보시기 바랍니다.
만약 맞다면 세션 타임아웃 또는 강제로 세션을 종료하도록 조치해 보시기 바랍니다.
——————
답글이 도움이 되셨는지 다른 분들도 참고할 수 있도록 결과 댓글 부탁드립니다.
(결과 댓글이 없는 경우 다른 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)