해외에서 지내다보니 새로이 익히게 되는 것들

Lv.1 밀로 (59.♡.212.7)

2024년 6월 13일 PM 11:32 · 수정됨(07. 05. 10:25)

조회 1,559 공감 0

작년 말부터 거의 해외에서 지내고 있다보니 

한국에 있는 개인 웹서버에 접속할때 정말 괴랄할 정도로 느리더군요.

한국에 있을때는 네트워크 속도가 빠르니 전혀 알아차릴 수 없었죠.


이건 도저히 안되겠다 싶을 정도라서

데이터 용량을 줄이고, 캐시하는 방법들을 죄다 동원하기 시작했습니다.


  1. API 까지 모두 Gzip, Brotli 압축 (History와 같이 용량이 큰 API 들이 빨라지기 시작함)
  2. Version 정보가 확실한 Data API에는 Etag Caching
    1. Response Header에 Etag를 넣어주면
    2. Web Browser에서 Request Header 에 If-None-Match 로 Etag를 다시 보내줌
    3. 변경이 없다면 Body 없이 304 Not Modified만 돌려주면 되어서 속도가 급격히 증가
  3. Data의 유효 시간이 명확한 Data API에는 Cache-Control: max-age 를 사용해서 Caching 
    1. max-age 만료 시간까지 Web Browser가 다시 데이터를 요청하지 않음


Version 처리가 가능한 Data 들의 생성 및 보관에 Version 정보를 포함시키고,

Data의 유효 시간을 정확히 계산하느라고 고생을 하긴 했지만,

이래저래 처리를 해두니 한결 쾌적해지긴 하네요.


해외에서 한국의 서비스들에 접속하는게 상당히 괴로운 일인데, 해외에 나와서 지내다보니 왜인지 알 것 같습니다.

(그나마 토스 같은 젊은 서비스들은 그럭저럭 느린 정도지만, 하나카드 같은 서비스는 한 페이지 뜨는데 30초~1분)

한국의 지나치게 빠른 네트워크에서만 개발을 하면 이런 종류의 최적화 기술에 좀 소홀해질 수 있는 것 같습니다.

이래저래 새로운 환경에서 지내다보니 생각해보지 못했던 것들을 새로 익히게 되네요.

댓글 (8)

  • plaintext

    plaintext Lv.1

    24.06.14 · 119.♡.120.4

    좋은 경험 공유 감사드립니다
    요즘 인프라는 성능을 돈으로 바른다는
    나태한 생각에 사로 잡힌 저를 바라봅니다 ㅎㅎ
  • 용식이

    용식이 Lv.1

    24.06.14 · 116.♡.141.12

    이런 디테일 참 좋아요~
    공유 감사합니다~
  • 담연 Lv.1

    24.06.14 · 118.♡.12.66

    100% 이해하지는 못했지만 좋은 팁 공유 감사합니다.
  • 규링

    규링 Lv.1

    24.06.14 · 170.♡.228.34

    vp8, vp9, av1이 왜 그렇게 환호할만한 것이었는지를 깨달았습니다.
  • 먼쪽 Lv.1

    24.06.15 · 58.♡.167.38

    멋지네요
  • Life2Buff

    Life2Buff Lv.1

    24.06.16 · 59.♡.207.48

    유익한 정보네요. 감사합니다.
  • S

    Skykeeper Lv.1

    24.06.29 · 136.♡.132.67

    이와 같은 이유로 CDN 을 사용하기도 하지요.
  • 6미리

    6미리 Lv.1

    24.07.05 · 222.♡.218.190

    한때 국내에서 해외 50개국 넘게 흩어져 있는 (심지어 대부분 개발도상국) 한국 주재원들 대상으로 서비스를 한적이 있는데,
    정말 2년 동안 잠도 못자고 서비스 유지보수 했던 기억이 납니다. ㅎㅎㅎㅎ
    근데 그 당시 제 머릿속엔 CDN이니 뭐니 이런 개념이 거의 없었지만, 최소한 글로벌 서비스 갈려면 지금보다 몇십배는 더 공부해야 하는걸 느꼈죠. ㅋ

댓글을 작성하려면 이 필요합니다.