정적 파일 서빙에 대한 성능 최적화에 대해 질문드립니다.
먼저, hoog님의 지식 공유 덕분에 스스로 성장함을 지속적으로 느끼고 있어 너무 감사합니다!
다름이 아니라 정적 파일 서빙이 웹서버의 주요 기능 중 하나라고 알고 있습니다.
정적 파일의 대표적인 예시로 html, css, js로 예시를 들어주셨습니다. 그러면 해당 파일의 서빙으로 성능적 이점을 얻기 위해서는 프론트와 백엔드가 하나의 서버에 위치해 있을 때만 적용되는 사항일까요?
Câu trả lời 1
0
안녕하세요 syhan7516님 이렇게 질문 남겨주셔서 감사합니다. 제가 syhan님에게 도움이 되는거같아서 너무 뿌듯하네요!! 오늘도 좋은 하루 보내세요
질문 주신 부분에 대해서 답변을 드릴게요.
궁금하신 부분은 파일의 서빙으로 성능적 이점을 얻기 위해서는 프론트와 백엔드가 하나의 서버에 위치해야 이점을 얻는가를 고민하고 계시는거 같아요.
일단 결과적으로는 그런거는 아닙니다. 그런 구조에 국한되어야만 이점을 가지는건 아니에요.
일단 우리가 왜 정적 파일 서빙이 빠른지를 이해하시면 바로 sendfile 이라는 기능 떄문이에요.
디스크의 파일을 유저 스페이스로 복사하지 않고 커널에서 바로 소켓으로 보낸다는 특징이죠.
즉 이게 Spring이나 Node같은 WAS가 파일을 읽어 애플리케이션 메모리를 거친 뒤 응답을 보내는 이 과정보다는 컨텍스트 스위칭과 메모리 복사가 훨씬 적은 형태를 가지게 되는거죠.
그래서 보통은 그냥 분리해요. 이런 관점에서는 사실상 물리적으로 어디에 위치하는지와는 무관한 구조가 되는거죠.
그래서 오히려 분리하는 형태가 더 자주 보이게 됩니다. 뭐 일반적으로는 분리를 하니깐요.
가장 극단적으로 예씨를 들어보자면 CDN정도가 될꺼같아요. 정적 파일을 가장 가까운 엣지 노드에 두고, 백엔드 API는 굉장히 멀리있는 리전에 두어도 문제가 없는거죠.
그래서 그냥 개념을 딱 정리해드리자면, 정적 데이터는 동적 처리(WAS 같은것들)에서 분리해서, 정적 서빙에 최적화 되어있는 서비스 ( NGINX, CDN, S3 등등)에서 서빙을 해야 이점을 가진다. 라고 할 수 있을꺼같습니다.
감사합니다~!
무중단 배포 / 컨테이너 이미지 관리에 주로 어떤 인프라를 활용하시나요?
0
67
1
혹시 아파치 서버 관련 책이나 사이트도 추천해주실수 있으신가요..?
0
63
2
스프링부트 서버에 proxy_pass 할 때 질문 있습니다
0
71
2
vscode 자동 완성되는 익스텐션 질문
0
153
2
꼭 conf.d에 default 파일이 있는상태에서 시작해야하나요 ??
0
72
2
HTTPS 관련 코드 해석하기
0
78
2
default.conf 파일이 없습니다.
0
81
2
로드밸런싱 Server ID 출력에 관한 질문
0
54
2
Nginx Proxy Manager SSL certificates UI변경에 따른 문의
0
55
1
default.conf
0
68
2
도메인 구매 시, AWS 결제 이력이 없으면 실패하니 참고바랍니다.
0
60
2
https는 백엔드에도 적용해야하나요?
0
126
2
Nginx의 성능을 알고 싶으면 리눅스 위에서 실행 시켜야 하잖아요..
0
96
2
인스턴스를 1개만 사용 할 경우
0
88
2
도커파일 내용이 노션 강의자료랑 강의영상이 서로 다릅니다.
0
77
2
배포에대한 질의..
1
66
1
감사합니다.
0
74
2
저는 PATCH 보다 PUT이 더 편하던데
0
66
2
안녕하세요 무중단 배포에대해 질문드립니다.
1
87
2
궁금한게있습니다.
0
74
1
수강 추천
1
72
2
챕터 22에대한 질문드립니다.
0
106
2
Nginx와 로드밸런서의 관계
0
100
1
AWS EC2 인스턴스 생성하기 - 키페어 필요
0
137
2

