개발한당

(탄핵 재표결 오늘)   🔥 제목 시위는 [말머리] 또는 임시게시판(불타는앙)을 이용바랍니다.
오후 4시 탄핵 표결 | Level 3 (3등급) 이상 글 / 댓글 쓰기 가능 | 경어체 필수 | 욕설(초성) 금지

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

알림
|
X

페이지 정보

작성자 no_profile 밀로 59.♡.212.7
작성일 2024.06.13 23:32
1,188 조회
15 추천

본문

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

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

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


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

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


  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 (119.♡.120.4)
작성일 06.14 00:35
좋은 경험 공유 감사드립니다
요즘 인프라는 성능을 돈으로 바른다는
나태한 생각에 사로 잡힌 저를 바라봅니다 ㅎㅎ

용식이님의 댓글

작성자 용식이 (116.♡.141.12)
작성일 06.14 12:07
이런 디테일 참 좋아요~
공유 감사합니다~

담연님의 댓글

작성자 no_profile 담연 (118.♡.12.66)
작성일 06.14 15:47
100% 이해하지는 못했지만 좋은 팁 공유 감사합니다.

규링님의 댓글

작성자 규링 (170.♡.228.34)
작성일 06.14 17:57
vp8, vp9, av1이 왜 그렇게 환호할만한 것이었는지를 깨달았습니다.

먼쪽님의 댓글

작성자 no_profile 먼쪽 (58.♡.167.38)
작성일 06.15 09:51
멋지네요

Life2Buff님의 댓글

작성자 Life2Buff (59.♡.207.48)
작성일 06.16 20:08
유익한 정보네요. 감사합니다.

Skykeeper님의 댓글

작성자 Skykeeper (136.♡.132.67)
작성일 06.29 03:21
이와 같은 이유로 CDN 을 사용하기도 하지요.

6미리님의 댓글

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