FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[1753] Re:Re:Re:Re:이것과는 상관이 없는가 봅니다.
박지훈.임프 [cbuilder] 2600 읽음    2006-01-07 14:34
그런가요... 아쉽군요. ^^

'XP에서는 하루종일도 이상없다'는데에 관심이 가는데요. 2000과 XP의 네트웍 관련 기술적으로는 차이가 거의 없는 걸로
알고 있고요. 또 정말로 OS에서 아이들 네트워크 연결을 타임아웃 시킨다면 그것은 리소스 절약 차원일텐데 2000에서는
타임아웃을 시키고 XP에서 타임아웃을 안시킨다는 것도 말이 안되는 듯.

만약 클라이언트 머신에 따라 끊어지는 PC도 있고 안끊어지는 PC도 있다면, 더 많은 PC들에서 테스트를 해볼 필요가
있을 거 같습니다. 단지 XP와 2000의 차이일 거 같지는 않거든요.

저번에 제가 답변을 쓴, '타임아웃이 있을 수 없다'라는 글의 요지는...
IBExpert에서 연결하고 며칠간 놔두어도 끊어지지 않더라는 거였는데요. 원래는 그게 맞는 건데 어떤 다른 이유로 연결이
끊어지는 것일지도 모르겠습니다. 말씀하신대로 zeos의 문제일지도 모르겠고... 저는 IBExpress와 dbExpress만
써봤기 때문에 zeos에서 내부적으로 어떻게 돌아가는지 모르겠군요.

IBExpress나 dbExpress를 이용해서 간단한 샘플을 만들어서 같은 환경에서테스트해보시면 어떨까요?
DB 연결 버튼 하나 만들고 간단한 쿼리문 하나 때리는 버튼 하나 만들어서, 연결을 시킨 후 하루나 이틀쯤 후에 쿼리를
날려보면 간단히 알 수 있을 듯 하네요.

그럼...


최훈 님이 쓰신 글 :
: 테스트 결과 전혀 상관이 없네염...
: xp같은 경우는 하루 온종일 질의가 없어도 이상이 없는뎅...
:
: 연결 콤포넌트를 zeos를 사용하는데 컴포넌트 문제일까요?
: 더 찾아보고 혹 알게 되면 다시 답변 올리도록 하겠습니다.
:
: 감사합니다.
:
:
: 최훈 님이 쓰신 글 :
: : 제 컴이 아니라서 여러가지 테스트를 못해 보았는뎅...님 말씀처럼 KeepAliveInterval과 관계가 있으면 정말 좋겠습니다. ^^  테스트 후에 꼭 답을 달도록 하겠습니다.
: :
: : 박지훈.임프 님이 쓰신 글 :
: : : MS의 해당 글을 보니.. KeepAliveTime만 관계된 것이 아니라 KeepAliveInterval과 TcpMaxDataRetransmissions가 모두
: : : 관련이 있는 것 같은데요. 오히려 타임아웃 문제와 더 직접적으로 연관이 있어보이는 것은 KeepAliveInterval이 아닌가
: : : 싶습니다. MS 사이트에 그 레지스트리 키 관련으로 번역된 글이 있어서 옮겨보면...
: : : http://support.microsoft.com/default.aspx?kbid=120642
: : :
: : : KeepAliveInterval
: : : 키: Tcpip\Parameters
: : : 값 종류: REG_DWORD - 시간(밀리초)
: : : 유효 범위: 1 - 0xFFFFFFFF
: : : 기본값: 1000(1초)
: : : 설명: 이 매개 변수는 응답을 받을 때까지의 Keep Alive 재전송을 분리하는 간격을 결정합니다. 응답을 받으면 다음 연결 유지 전송까지 대기하는 기간은 KeepAliveTime의 값으로 다시 결정됩니다. TcpMaxDataRetransmissions에 지정된 수만큼 재전송을 해도 응답을 받지 못하면 연결이 중단됩니다.
: : :
: : : KeepAliveTime
: : : 키: Tcpip\Parameters
: : : 값 종류: REG_DWORD - 시간(밀리초)
: : : 유효 범위: 1 - 0xFFFFFFFF
: : : 기본값: 7,200,000(2시간)
: : : 설명: 이 매개 변수는 TCP가 Keep Alive 패킷을 보내어 유휴 연결이 열려 있는지 확인하는 빈도를 결정합니다. 원격 시스템이 액세스 가능하고 작동 중이면 Keep Alive 전송을 승인합니다. Keep Alive 패킷은 기본적으로 전송되지 않습니다. 응용 프로그램에 의한 연결에서 이 기능을 사용할 수 있습니다.
: : :
: : : TcpMaxDataRetransmissions
: : : 키: Tcpip\Parameters
: : : 값 종류: REG_DWORD - 숫자
: : : 유효 범위: 0 - 0xFFFFFFFF
: : : 기본값: 5
: : : 설명: 이 매개 변수는 TCP가 연결을 중단하기 전에 개별 데이터 세그먼트(비연결 세그먼트)를 재전송하는 횟수를 결정합니다. 재전송 시간 제한은 연결에서 재전송이 일어날 때마다 두 배가 되고, 응답이 다시 시작되면 재설정됩니다. 기본 시간 초과 값은 연결의 측정된 왕복 시간에 의해 동적으로 결정됩니다.
: : :
: : : 아무래도 의도하신 바를 이루자면 KeepAliveInterval 값을 세팅하셔야 할 듯.
: : :
: : : 그건 그렇고...
: : : 비슷한 질문이 전에 올라왔을 때 제가 타임아웃이 안될 거라고 우기는 답변글을 쓴 적이 있는데...
: : : 하시는 김에, 테스트해보시고 잘 되시면 리플 좀 달아주시면 감사하겠습니다.
: : : 만약 잘 된다면 보시는 다른 분들이 혼동되지 않게 이전에 단 리플에 다시 리플을 달아놔야겠네요.
: : :
: : : 그럼...
: : :
: : :
: : : 최훈 님이 쓰신 글 :
: : : : 윈도우NT에 FB2.0을 설치하였습니다. 그런데 일정시간 질의가 없으면 연결이 끈어지는 현상이 발생합니다.
: : : : 그래서 FB문서를 찾아 보았더니 다음과 같은 내용이 있더군요.
: : : :
: : : : # Normally, Firebird uses SO_KEEPALIVE socket option to keep track of
: : : : # active connections. If you do not like default 2-hour keepalive timeout
: : : : # then adjust your server OS settings appropriately. On UNIX-like OS's,
: : : : # modify contents of /proc/sys/net/ipv4/tcp_keepalive_*. On Windows,
: : : : # follow instrutions of this article:
: : : : # http://support.microsoft.com/default.aspx?kbid=140325
: : : :
: : : : KEEPALIVE TIMEOUT이 2시간으로 되어 있어 OS의 설정값을 바꾸어야 한다는 것 같습니다.
: : : : 그래서 http://support.microsoft.com/default.aspx?kbid=140325 에서 내용을 보았더니
: : : :
: : : : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters에 다음의 KEY를
: : : : 추가해주면 되는 것 같더군요.
: : : :
: : : : KeepAliveTime
: : : : Key: Tcpip\Parameters
: : : : Value Type: REG_DWORD - Time in milliseconds
: : : : Valid Range: 1 - 0xFFFFFFFF
: : : : Default: 7,200,000 (two hours)
: : : : Description: The parameter controls how often TCP attempts to verify that an idle connection is still intact by sending a keep alive packet. If the remote system is still reachable and functioning, it will acknowledge the keep alive transmission. Keep alive packets are not sent by default. This feature may be enabled on a connection by an application.
: : : :
: : : : DEFAULT 시간을 28,800,000로 늘려서 추가해 주었는데도 여전히 같은 현상이 일어납니다.
: : : :
: : : : 해결방법좀 알려주세요.

+ -

관련 글 리스트
1744 일정시간 질의가 없으면 연결이 끈기는 현상이 있습니다. 부탁드립니다. 최훈 1954 2006/01/04
1746     Re:일정시간 질의가 없으면 연결이 끈기는 현상이 있습니다. 부탁드립니다. 박지훈.임프 3521 2006/01/05
1748         Re:Re:감사합니다. 테스트후에 꼭 답변을 달도록 하겠습니다. 최훈 2287 2006/01/05
1752             Re:Re:Re:이것과는 상관이 없는가 봅니다. 최훈 2240 2006/01/07
1753                 Re:Re:Re:Re:이것과는 상관이 없는가 봅니다. 박지훈.임프 2600 2006/01/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.