Q&A

  • 서버의 네트웍이 자주 끊깁니다.
인디 컴포넌트를 이용해서 계속 외부와 통신하는 프로그램을 저희 서버에 띄워두고 있는데 한달에 두번정도씩 이 서버가 네트웍이 끊어져서 게이트웨이로도 핑이 안 됩니다.

이때 서버를 껏다켜면 다시 네트웍이 정상적으로 동작을 하는데 10중 8,9번은 정상적인 재부팅조차 제대로 되지 않아서 서버를 강제로 종료했다가 다시 켜고 있습니다.

서버는 HP 장비이고 OS는 WIN2K를 사용중인데 HP에 여러번 요청을 해서 서버 점검을 하였지만 하드웨어적인 문제는 찾지 못했습니다.

그래서 궁금한게 혹시 소프트웨어의 잘못으로 컴퓨터의 네트웍이 끊길수가 있는지 알고 싶습니다. 만약 그런것이 가능하다면 주로 소프트웨어의 어떠한 잘못으로 이런 현상이 발생하고 또 이것이 소프트웨어의 문제인지 아닌지 분석할 수 있는 방법이 있는지 알고 싶습니다.

여러 고수님들 답변 부탁드립니다.
2  COMMENTS
  • Profile
    이중철 2004.09.08 03:09
    음 제가보기에는 윈속스레드가 계속 생성되었거나 S/W내의 유사 스레드가
    계속 생성되어 결국 L4계층이나 L5계층에서 문제가 발생된듯 합니다.
    아니면 상기와 비슷하나 메모리 Clear가 안되고 계속 쌓아 나가 위와 비슷한
    현상이 발생될 수도 있음(여유 메모리가 없으니 객체 생성이 안됨)
    판단근거 :
      1. 정기적이다(계속 누적되어 임계점에 오면 통신불능 이다)
      2. 정상종료가 안된다(메모리에 올라와 있는 Process또는 Thread 삭제가
          너무 많아 삭제가 더디어 정상종료가 안된다고 판단할 수 도 있음)
      3. Hardware 문제가 없다.

    spy같은 프로그램으로 해당 Process에 Thread가 정상적으로 생성되고
    소멸되는지 판단 하시거나.
    memprof 등의 프로그램으로 Memory누수등이 없나 판단을 해보세요

    그럼이만...

  • Profile
    파멸의슬픔 2004.09.08 01:28
    우선 하신 말씀중에 10중 8,9번은 정상적인 재부팅조차 제대로 되지 않는다고 하셨습니다...
    정상적으로 재부팅이 되지 않는것은 OS일 가능성이 젤 높다고 판단 되네요...
    OS가 문제가 아니라면...
    우선은 외부에서 서버쪽으로 통신할때 순간적으로 트래픽이 많이 발생하게 되면 서버나 서버의 DB자체에서 순간 먹통이 될 수 있습니다...
    우선 프로그램적으론 DB Connection 쪽 소스를 다시한번 확인하셨으면 합니다...
    저도 예전에 웹프로그래밍 하다가 회사 전체 네트웍이 먹통이 된 경우가 종종 있어서요...서버가 죽기보단 DB가 죽더라구요...
    프로그램도 문제가 아니라면 외부에서 고의적으로 계속적인 도스어택이나 트래픽을 발생시킬수도 있습니다...

    많은 도움이 되질 못해서 ...
    빠른 해결 찾기 바랍니다...

    • 박준철
      2004.09.11 01:53
      function FilterNumber(sNum:string):string; var   i : integer; begin   Resu...
    • 오병주
      2004.09.10 03:36
      폼 Create 설정하는 방법입니다..^^ procedure TForm1.FormCreate(Sender TObject); begin  &n...
    • 석주현
      2004.09.10 07:35
      내용 없어요..
    • 이승민
      2004.09.10 03:10
      procedure Tfrom1.Edit1KeyPress(Sender: TObject; var Key: Char); begin   If Not (Key In [...
    • 김형균
    • 2004.09.09 22:36
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 김형균
      2004.09.10 00:59
    • 김형균
      2004.09.09 23:48
      저가 잘못 써서 의미 전달이 잘 되지 않은것 같습니다..소스를 올려 보겠습니다. 저의 의도는 루프를 돌면...
    • 김춘경
      2004.09.09 23:40
      쿼리문으로 조건에 해당하는 레코드를 추출해서 하면 됩니다. _SQL := 'select * from T1, T2 where T...
    • 이중철
      2004.09.09 23:44
      'select * from T1, T2 where    (T1.field1 <> T2.field1    OR T1.field...
    • 김춘경
      2004.09.09 23:52
      ^^ 온라인상에서 쓰다 보니... 제 의도는 여러 필드중 어느 하나라도 틀리면 셀렉트 하도록 했습니다. ...
    • 파멸의슬픔
      2004.09.09 23:25
      소스만 보고 판단했습니다... 이렇게 한번 바꿔 보세요...   q1.sql.add('select * from test...
    • 이중철
      2004.09.09 23:23
      소스를 봐서는 목적하는것이 무엇인지 잘 모르겠네요 ^^ 먼저 SQL로 해결이 가능하다면 SQL로 하는것이 합...
    • 문의득
    • 2004.09.09 20:58
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 문의득
    • 2004.09.09 20:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 일그니
      2004.09.09 22:02
      dbnmpntw.dll와 ntwdblib.dll을 path가 걸린 폴더 system같은 곳에 복사해 넣어주십시요. 중복되있을...
    • 달님
    • 2004.09.09 19:40
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2004.09.09 21:07
      소나기 님이 답변하신 내용이 맞습니다. 그러나 좀 보완해서 Edit1KeyPress 이벤트에서 아래와 같이 처...
    • 석주현
      2004.09.09 20:07
      Edit1KeyPress 이벤트에서 아래와 같이 처리 하는 방법이 있고요.   if not (Key in ['0'..'9...
    • 모영철
      2004.09.09 19:43
    • 김형균
    • 2004.09.09 19:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김춘경
      2004.09.10 03:26
      아마도 DB가 작업하는 임시파일이 아닐까요? 님이 의도적으로 만든 파일이 아니라면 지우셔도 무방할 겁...
    • 김용렬
    • 2004.09.09 19:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 일그니
      2004.09.09 22:34
      StartTransaction은. 현재 작업중인 테이블을 딴넘들이 쓰지 못하게 하는의미로 알고 잇습니다. 작업이...
    • 석주현
      2004.09.09 14:50
      "MSComm"으로 검색 해 보시면 아래와 같이 나옵니다. 검색을 해보시고 질문을 해주시는게 좋을 것 같네요....
    • 온진욱
      2004.09.09 20:16
      님께서 알려주신 방법을 한번 찾아서 해본적이 있었는데 그때 안되길래 잘못 안건가 하고 지워버렸었는데 ...
    • Galaxy
      2004.09.09 18:50
      안녕하세요 수고 많습니다. 다른 방법은 없을까요? 답변 주신 대로 하니까 . 별 문제는 없는데... 그...
    • 오재열
      2004.09.09 04:47
      짧은 생각인데.. 해당 KeyPress가 끝나면 Key값이 반영 되지 않나요? Apple이 먼저 적용되고 Key값 'A'가 ...
    • Galaxy
      2004.09.09 05:12
    • 메니아
    • 2004.09.08 23:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 석주현
      2004.09.09 00:15
      "Process32First" 로 검색해 보세요. Process32First 와 Process32Next 가 같이 쓰이고요. 용...
    • 김형균
    • 2004.09.08 23:00
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 김형균
      2004.09.09 19:58
    • 착한천사
      2004.09.09 03:22
      착한천사 김경록입니다.. 저도 크고 작은 프로젝트를 해 본 적이 있어서.. recordcount의 부정확함을 ...
    • 누렁이
      2004.09.09 01:21
      아래 요부분을   for j := 0 to qry.RecordCount -1 do   begin 요렇게 한번 바...
    • nilriri™
      2004.09.09 00:36
      레코드 카운터에 대한 답변은 아니구요.. 잠깐 소스를
    • 구창민
      2004.09.08 23:15
      안녕하세요.. Query.FetchAll ;  한번 해보시구요.. 그래도 안된다면   COUN...
    • 우용우
    • 2004.09.08 19:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.09.08 21:05
      근디요 왜 그렇게 쓰실려구... 혹시 아나요 그 이유를 알면 다른 방법이 생각날지
    • 석주현
      2004.09.08 05:52
      onMouseMove 에서 Shift 값을 읽어 보면 알 수 있습니다.   if ssLeft in Shift then &n...
    • 허상무
      2004.09.08 20:51
      답변 감사합니다. 사실 제가 원하는 것은 마우스 상태를 알 수 있는 명령어(System 명령어 포함)를 ...
    • 석주현
      2004.09.08 21:24
      음 보통 드래그엔 드롭을 할때 오토메틱으로 하지 않는것으로 알고 있습니다. 왜냐면 제가 말씀드린 ...
    • 고락춘
    • 2004.09.08 03:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 고락춘
      2004.09.08 22:28
      제목처럼 소나기님, 닐리리님 답변감사합니다. 두분께서 알려주신 방법대로 하니 처리가 되네요 원인...
    • 석주현
      2004.09.08 08:00
      복잡하게 하지 마시고   if FindComponent('frm_Delivery') = nil then    &...
    • nilriri™
      2004.09.08 04:53
      Action := caFree;  를 써주신다고 해서 메모리에서 해제가 안됩니다. 해서 If ActiveMDI...
    • 고진중
    • 2004.09.08 03:14
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 바부팅
    • 2004.09.08 00:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2004.09.08 03:09
      음 제가보기에는 윈속스레드가 계속 생성되었거나 S/W내의 유사 스레드가 계속 생성되어 결국 L4계층이나 ...
    • 파멸의슬픔
      2004.09.08 01:28
      우선 하신 말씀중에 10중 8,9번은 정상적인 재부팅조차 제대로 되지 않는다고 하셨습니다... 정상적으로 ...
    • 김현철
    • 2004.09.08 00:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2004.09.08 01:57
      http://www.qusoft.com/delphilegacy.html http://www.qusoft.com/ordering.html 참고하세요... ...
    • 꿈의대화
      2004.09.08 02:36
      .
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.09.08 18:19
      그럼 ODBC 말구 BDE의 정보는요... 오라클로 alias를 잡은 DB의 IP를 알수는 없을까요?
    • 정찬희
      2004.09.08 00:32
      직접 만드셔야 할듯... function getHostFilePath: string; var   buf: array[1..1024] of ...
    • 이상국
      2004.11.04 16:44
      wind98 에서는 c:\windows 에 위치하므로.. 약간의 추가 라인이 필요할 듯 합니다.
    • 최동석
      2004.09.08 00:50
      답변 감사드립니다. 그런데 아래의 function을 사용하면 windows98에서는 안될것 같습니다. 보통 OS에 ...
    • 정찬희
      2004.09.08 06:38
      답글쓰면서도 좀 찜찜하긴 했어요...^^