스크린샷(31).png

 

 

궁금해서 못참을 것 같아 호기심에 적용해봤습니다 ㅋㅋ

 

다른 사이트를 접속해서 결과를 받아와야 하는 경우가 저희는 좀 많아서 ip값 확인하는 시간이 없어져서,,  그래봐야 수십ms 이지만...  응답에 조금 도움이 되지 않을까 하는 생각으로 해봤습니다.

 

 

웹지기

profile
10년을 다루다 보니 이제 간단한 것도 만들고 커뮤니티 운영에 관한 다양한 노하우가 있습니다. 어려운 점이나 가지신 생각을 함께 소통해 보아요.
https://rxtip.kr/ 라이믹스 꿀팁
  • profile
    잘 되었는데... 네트워크 재시작 등에서 초기화 되는 현상이 있어 전문가님의 힘을 빌렸습니다 ㅋ
  • ?
    더 좋아졌나요
  • ? profile
    더 좋아질 수 밖에 없는 방식이죠.

    서버에서 다른 곳의 도메인에 접속할 일이 없다면 별 소용 없습니다. 서버라는 것이 원래 방문자들이 방문하는 곳이지 서버가 방문하는 일을 하지 않으니까요.

    그런데 사이트 성격이나 구조등에 따라서 다른 사이트에서 결과값을 받아오는 작업이 있는 경우가 있습니다.

    예를 들면 글 작성을 할때 다른 곳의 api서버에서 작성하는 값의 내용을 보내고 다시 결과 값을 받아 글 내용에 그 결과가 포함되는 것이 구성된 사이트의 경우 글 작성할때 다른 사이트 도메인을 DNS측에 한번 요청하여 ip를 받아낸 다음 그 서버로 접속해서 api값을 받아와야 합니다. 이때 이 DNS에 요청하는 작업이 생략됩니다.(물론 캐시된 것이 만료가 되지 않았어야 하구요.)

    캐시시간을 짧게 설정되어도 많이 도움이 될 수 있습니다.

    예를 들면 저희 사이트의 경우는 글 작성시 구독자들에게 push 알림을 구글을 FCM을 통해 보내게 됩니다. 그런데 푸시를 위해 반복작업이 짧은 시간 안에 10회가 있다고 한다면 10회 모두 도메인을 DNS에 요청해서 반복해서 ip를 받아와서 구글푸시쪽에 던지게 됩니다.

    그런데 이 작업을 해 놓게 되면 최초 1번만 DNS에서 ip를 가져오고 (50ms 정도소요) 이 가져온 값이 캐시되기 때문에 나머지 9회는 0ms 의 시간으로 ip를 알아내어 이 시간이 없어지게 됩니다.


    사이트 의 글 작성 댓글 작성이 활발하다면 캐시된 것에 적용되는 작성자가 많아져 도움이 많이 되겠죠.
  • profile ?
    그렇군요 자세한설명 감사합니다
  • ?
    호오! 뭐..속도향상이 조금 된건가요?
  • ? profile

    사이트에서 어떤 기능을 사용하냐에 따라 도움이 되는 혹은 변화가 없는 그런 기술입니다.
    curl 등을 이용해서 다른 사이트 접속이 많이 필요한 경우 도움이 됩니다. 다른 사이트 도메인의 ip주소를 알아내기 위한 과정이 생략됩니다. (물론 캐시된 것을 사용할 경우)

    다른사이트를 아주 짧은 시간에 계속 파싱을 해서 내용을 확인하는 작업을 한다던가

    저희 같은 경우
    메인페이지에서 날씨정보를 제공하기 위해 한국날씨 api, 세계대기상태 api 등을 접속해서 방문자에게 알려줍니다.
    방문자가 많아진다면 캐시만료 전에 방문자에게는 서버가 위 2개 사이트의 ip를 질의하는 과정이 생략되어 응답이 빨라집니다.

    글,댓글 작성시에는
    구독자 및 관련자에게는 구글 fcm 으로 푸시알림을 발송합니다. 이때 글 등록을 누른 후 구독대상자 혹은 관련자에게 푸시를 보내는 작업이 php에서 이루어지게 되는데 이때 서버에서 구글 fcm 서버쪽의 ip 질의하는 횟수가 최초 1회만 하고 나머지 반복작업에선 캐시된 로컬서버에서 ip를 확인하기 때문에 이 시간이 반복해서 줄어듭니다.

    글 작성시 저희는 글 내용을 구글 ai 서버로 보내 글 내용 분석에 따른 스코어를 회신받아 글 확장변수에 할당하여 글이 등록되는 작업이 연이어 이루어집니다.
    이때 이전 글 작성자 글 작성시 dns 조회를 통해 구글 ai 서버쪽 ip를 캐시했고 연이어 다른 회원이 글을 작성할때는 구글ai 서버쪽 ip를 외부 dns 에 질의하지 않고 로컬에 캐시된 ip를 직접 사용해서 이때도 시간이 줄어듭니다.

    또 이 과정 중에 트위터로 저희 글을 공유하는 작업이 이루어지기 때문에 트위터쪽과 연결되는 비슷한 작업이 동시에 또 이루어집니다.


    글 작성 시 연동되는 api가 많을 수록 도움이 많이 됩니다.

    꼭 이렇게 캐시를 쓰지 않더라도 엉터리 dns 가 사용되는 서버에서는 이러한 연동이 원할하지 않거나 불가능한 경우도 생깁니다. 실제 작업이 지연되는게 아니라 접속할 곳 ip를 질의하여 응답받는 시간이 너무 오래걸려 "서버의 요청중....." 이 굉장히 빈번하게 뜨는 경우 dns 쪽 문제가 많습니다.

    물론 구글퍼블릭 dns 정도를 사용해도 충분히 빠르게 50ms 이내로 이러한 작업을 완료할 수 있습니다. 그런데 이것 마저도 캐시된 것을 제공하면 없앨수 있어 도움이 되고 특히 빠른 시간 안에 아주 많은 반복작업에 다른 사이트 접속이 있다면 많은 도움이 됩니다.

    푸시작업 같은 경우 비동기로 구현이 되어서 글등록 을 마친 이후 작업이 이루어져 이것이 지연되서 글 등록이 지체되는 일은 없지만 이 작업 시간이 길어지면 서버 설정에 따라 푸시작업이 완료되지 못하고 끝나는 경우도 있습니다. 이때 이러한 시간을 줄여준다면 도움이 많이 될 수 있다고 예상하고 있습니다. 푸시작업때는 아마 반복해서 계속 도메인에 대한 ip를 질의할 것으로 예상합니다.

     

    이 외에도 굉장히 많은 곳에 저희는 외부 사이트에 연결되는 작업이 많습니다.

  • profile ?
    오호..감사합니다.