질문/조언질답게시판

nodejs dns lookup 속도

라즈베리파이에 nodejs 서버를 올리고 duckdns에 연결하여 사용하고 있습니다.

제가 서버는 처음해봐서 잘 모르겠는데 외부아이피로 접속을 안하고 duckdns주소를 통해 접속을 하면 dns lookup 시간이 늘어납니다. (접속한다음 바로 접속을 하면 지연시간이 별로 없는데, 일정시간후 접속하면 늘어납니다)

이거를 어떻게 하면 줄일 수 있을까요?

  • profile

    DuckDNS 사용시 DNS 룩업 타임이 늘어나는거는 DuckDNS의 DNS 서버가 외국에 있기 때문입니다. 이건 어쩔 수 없어요...

    일정 시간이 지나면 지연시간이 다시 늘어나는거는 DNS 로컬 캐시가 expire 되면서 다시 DuckDNS 서버에서 IP를 불러와야 되서 그렇습니다.

     

    만약 가상서버 등 고정 IP를 제공하는 서버라면 고정 IP주소를 바로 도메인에 연결하시고, 아니면 국내 DNS 업체의 DDNS 서비스를 사용하시는게 그나마 제일 낫습니다.

  • profile

    DDNS는 언제 아이피가 바뀔지 모르니까 TTL값이 짧습니다. 즉, 통신사 DNS나 구글, 클플 등의 공개 DNS 서비스에서 아이피를 오랫동안 캐싱하도록 허용하지 않습니다. 캐싱이 되지 않으므로 1~2분만 지나도 DuckDNS 원본 서버에서 아이피를 새로 받아와야 하고, 원본 서버는 해외에 있기 때문에 연결이 느릴 수밖에 없습니다.

     

    국내 유명 공유기 제조업체에서 운영하는 DDNS는 원본 서버가 국내에 있기 때문에 DNS lookup 소요시간이 무척 짧습니다. 그런데 DDNS답지 않게 TTL값이 무려 1시간이나 되어서, 아이피가 바뀌면 최대 1시간 동안 접속이 안 될 수도 있습니다ㅡ.ㅡ;; 거의 고정아이피에 가까운 우리나라 유선인터넷 특성상, 성능 개선을 위해서는 충분히 감수할 만 하다고 판단한 모양이네요.