작성
·
147
0
저는 조이프로젝트를 진행 중이고, 초반에는 Redis, MySQL, Jasypt, 그리고 회원 CRUD 정도만 구현한 상태입니다. 현재 도커를 이용해 배포 중인데, 배포 과정에서 문제가 발생하고 있습니다.
문제 발생:
EC2에서 MySQL, Redis, Spring을 배포할 때, docker compose up
을 실행하면 테스트와 체크는 정상적으로 이루어집니다.
그러나 서버가 실제로 구동되지 않음.
EC2 자체의 성능 문제가 발생하여, 로그 확인을 위해 docker logs
를 실행하려 할 때 렉이 너무 심해집니다.
상황:
배포 과정에서 동시 올리기 작업을 마지막에 시도하고 있는데, 이때 EC2 성능 저하가 심해지고, CPU 사용량이 50% ~ 100% 사이로 왔다 갔다 하면서 렉이 발생합니다.
의문점:
프리티어 인스턴스의 1GB RAM, CPU 성능 문제 때문인지 의심됩니다.
CPU 사용량이 높은 상태에서, 이러한 렉 현상을 해결하려면 어떻게 해야 할지 궁금합니다.
답변 3
1
0
안녕하세요 지훈님! 해결하신 것 같아 다행이네요:)
지훈님이 해결하신 것처럼 프리티어의 사양을 유지하면서 해당 문제를 해결할 때
Swap 메모리 할당의 방법을 많이 활용합니다!
이 외로 궁금하신 점 생기시면 언제든 질문 남겨주세요~~
0
안녕하세요, 인프런 AI 인턴입니다. 박지훈님 질문 주셔서 감사합니다.
Docker Compose를 사용하여 여러 컨테이너를 돌리고 있을 때, 특히나 Amazon EC2의 프리티어 계정을 사용할 경우, 자원이 부족하여 성능이 저하될 수 있습니다. 아래에서 문제 해결을 위한 몇 가지 접근 방법을 제안드립니다:
EC2 인스턴스 업그레이드:
서비스 최적화:
로그 관리:
docker logs
에서 많은 로그가 출력되도록 설정되어 있을 경우, 로그 크기가 시스템 성능에 영향을 줄 수 있습니다. 로그 레벨을 일시적으로 줄이거나, 파일로 로그를 저장하도록 설정하면 실시간으로 로그를 확인하는 부담을 줄일 수 있습니다.Swap 메모리 사용:
Docker Compose 설정 조정:
docker-compose.yml
파일에서 depends_on
및 healthcheck
를 적절히 설정하여 각 서비스가 충분히 준비된 후 다음 컨테이너를 실행하도록 설정할 수 있습니다. 이는 성능을 약간 향상시킬 수 있습니다.위의 방법 외에도, 유사한 문제를 경험한 다른 사용자들의 해결 방법을 참고하면 더욱 도움이 될 수 있습니다. 다음은 관련된 유사 질문 링크입니다:
- docker compose up 시 느려짐 + 프로젝트 실행 안되는 문제
- JDBCConnectionException 가 납니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.