Q&A

  • Interbase 리모트 서버로 쓸때 성능향상 법 , 고수분들 도움바랍니다.
  인터베이스 리모트 서버를 쓰고 있습니다. 문제는 외부망에서 연결할때 속도가 엄청 느리다는 것입니다. 물론, 쿼리 자체가 무척 외부조인도 많고 성능이 많이 떨어지기는 합니다만. 한번 조회시 외부망 같은경우는 5분정도나 걸립니다. 로컬용으로는 아주 좋습니다만.  네트워크로 했을때 속도가 그렇게 많이 떨어지는데, 제가 다른 개발하신 분들중에 인터베이스로 엄청 빠르게 리모트서버로 쓰신다는 말씀을 들어서 가능성 여부에 대해서 여쭈어봅니다. 인터베이스 고수분들 도와주십시오. ^^;;          
2  COMMENTS
  • Profile
    권태훈 2005.04.15 23:45
    랜상황일때와 완상황일때 속도에 대한 문제는 속도 저하가 언제 생기느냐를
    파악하는게 우선입니다.

    먼저 대답해주신 분의 해답이 베스트 케이스일겁니다..
    "좋은 망을 사용한다"

    클라이언트 입장에서 보면 다음과 같이 작업 될겁니다.
    1.조회
    2.쿼리생성/전송
    3.서버에서 컴파일, 실행
    4.덩어리(이제 용어도 다 까먹었네.... 디비 조회된거죠.. )
    5.결과 전송
    6.화면 출력

    제가 많이 겪었고, 문제 있었던것중에 해결책을 써보겠습니다.(다시 기억났음...리절트셋..ㅋㅋ)
    1.쿼리의 양도 많고, 문장도 복잡한것을 골라
    2.where을 적당히 수정하여 리절트셋(결과)을 작게 줄입니다.(1건이면 충분)

    일단은 이렇게 해보면 전송이 느린지, 컴파일이 느린지, 조회쪽이 느린지 파악하실수 있을겁니다.
    일단 랜에서 빠르다고 하니 조회쪽에서 느릴것 같긴 합니다.
    요즘은 랜하고 컴 성능이 하도 좋아서 쿼리양을 조절하는게 거의 무의미한데
    db에 따라 틀리지만 일부분만 조회하고 부분부분 나눠서 결과를 받는 방법을 사용하고
    그게 안되면 프로그램으로 나눠서 받도록 하기도 하고, 백그라운드에서 처리 할수도 있죠..

    컴파일이 느리면 스토어드 프로시져 사용으로 간단하게 해결됩니다.(현 문제에 이럴 가능성 거의 없죠)

    해결방법은 많지만 베스트케이스는 좋은 망을 사용하는거죠...
    프로그램으로 해결해도 운영하다가 보면 양이 많아지고, 같은 문제가 또 생기게 되어져 있습니다.

    그리고, 아무래 랜이라고 해도 운영이 한참되고서 생길 과부하에 대한 고민은 좀 하면서 코딩해야 합니다.

    ps;adsl이면 tcp 접속중에 오래 걸릴수도 있습니다. 접속이 여러번 시행되거나
    타임아웃 나는지 잘 찾아보시기 바랍니다.




  • Profile
    권상득 2005.04.15 20:14
    인터넥 망을 이용한 원격지 디비서버로 속도가 늦는것은 전적으로 사용하시는 인터넷 망이 늦어서 입니다.

    ADSL 망을 사용하신다면 망 특성상 업로드 속도가 다운로드 속도에 비해 매우 느리다는 겁니다.

    이를 보완하기 위해서는 ADSL 보다 VDSL 망을 사용하시는걸 추천합니다.

    그 외에도 처리속도를 올리는 방법으로는 스토어드 프로로시져를 활용한 쿼리를 하는겁니다.

    제도 이 방법을 사용하는데 물리적으로 망 속도를 올릴 수 없을때 매우 효과적인 방법입니다.

    참고로 각 시도별로 지부가 있고 각지부에서 C/S 프로그램으로 원격지에 있는 인터베이스 디비서버를

    ADSL 망으로 접속해 봤습니다. 지금도 이환경으로 사용중이고요....

    매우 만족할 만한 속도를 느끼실 겁니다.