해결된 질문
작성
·
32
0
JVM 관련프로그램인데 micro인 1GB로 메모리를 설정하면 프로그램이 뻗을 일은 없을까요?
(1번과 연계해서) 현재 SSR로 화면 그려주고 있는데, api처리 + 빈 컨테이너(Springboot) + Kotlin + 템플릿엔진(타임리프) 까지 했을때 1GB를 초과하지는 않으셧는지도 궁금합니다!
만약에 화면을 다른 언어/라이브러리(Vue, React)로 개발하게 된다면 CORS라던지 건드려야 될게 많아지고, 추가로 node 환경을 또 띄워야 되서 메모리가 부족하게 될 수도 있을까요?
답변 2
0
안녕하세요 정보근입니다:)
굉장히 좋은 질문 해주셨네요.
질문주신대로 실습 프로젝트 애플리케이션 + MySQL만 해도
1GB 메모리의 인스턴스에서 실행하기에는 무리가 있습니다.
다만 강의 수강 대상이 대학생~취업준비생이고,
한 번 만들고 끝이 아닌 계속 운영하는 프로젝트로 기획한만큼,
과금되는 인스턴스를 사용하는 것은 부담이 될 것이라 생각했어요.
그래서 프리티어를 선택을 했습니다.
아마 GCP CE 인스턴스 만들기 강의 직후 질문을 남겨주신 것 같은데요.
다음 강의를 들으시면 아시겠지만, 메모리 부족 문제를 해결하기 위해 Swap 메모리를 이용했습니다. 속도가 좀 느릴 수는 있지만 이 편이 수강생분들 부담이 적을 것이라고 생각했습니다.
만약 금전적 여유가 있으시다면 상위 인스턴스를 선택해도 무방합니다.
정리하면 말씀하신대로 프리티어만으로는 메모리가 부족한 게 맞지만,
강의 수강 대상을 고려해 SWAP 메모리를 사용하는 쪽으로 타협을 했습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 보키님.
지금 질문하신 내용은 백엔드 환경에서의 메모리 관리와 관련된 것으로, Spring Boot와 Kotlin을 이용해 애플리케이션을 개발하며 고려해야 할 사항들입니다. 질문 별로 답변 드리겠습니다.
1GB 메모리로 프로그램이 뻗을 가능성: JVM(Java Virtual Machine) 프로그램은 실행 환경의 메모리 설정에 민감합니다. 보통 작은 애플리케이션은 1GB로 충분히 운영 가능하지만, 프로그램의 복잡도나 동시 사용자 수에 따라 메모리 부족 현상이 발생할 수 있습니다. 메모리 누수를 방지하기 위해 메모리 프로파일링 도구를 사용하여 애플리케이션의 메모리 사용 패턴을 분석하는 것이 좋습니다.
현재 SSR로의 메모리 초과 가능성: 서버 사이드 렌더링(SSR) 방식은 보통 메모리 사용량에 영향을 미칠 수 있습니다. 특히, 여러 가지 템플릿 엔진을 사용할 경우 메모리 소비량이 증가할 수 있습니다. 그러나 일반적인 웹 애플리케이션 수준에서는 1GB에서 충분히 운영될 가능성이 높습니다. 하지만, 실제 메모리 사용량은 애플리케이션의 구현 방법에 따라 크게 달라질 수 있으므로 지속적인 모니터링이 필요합니다.
Vue, React와 같은 라이브러리 사용 시 메모리 문제: 클라이언트 측 렌더링을 담당하는 Vue나 React를 사용할 경우, 별도의 Node.js 환경이 필요할 수 있으며, 이는 추가적인 메모리를 요구합니다. CORS 설정 등도 점검해야 합니다. 특히, 개발 환경에서 메모리 사용량을 주의 깊게 체크하여 문제가 발생하지 않도록 하는 것이 중요합니다.
질문에서 다룬 메모리 사용량에 대한 추가 이해를 돕고자, 비슷한 주제를 다룬 아래의 질문들을 참고하면 좋을 것 같습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아하! 맞아요 스왑 사용하기 전에 영상 보고 답변 달았었네요..!
프리티어가 사실 이유가 있죠.. 😄
감사합니다!!