EC2 서버에 아무런 요청을 하지 않으면 잘 동작하지만 요청을 하면 응답 후 몇 초에서 길면 몇 분 뒤에 서버가 터지기 시작했다. 갑자기 메모리와 cpu 사용량이 100% 찍으면서 모든 요청과 ssh 접속 마저 마비됬다.
Free-tier ec2에 3개의 도커 컨테이너를 돌렸다.
터지는 부분의 원인 파악을 위해 docker container stats 명령어와
free -k 명령어를 통해 메모리 사용량을 분석했다.
https://github.com/Almondia/meca-backend/issues/16
프리티어는 최대 1GB의 메모리가 주어지는데 이것으로 도커 컨테이너를 간신히 돌릴 수 있을 정도이고 순간적으로 메모리 사용량이 늘면 당연히 터질 수 밖에 없었다.
SWAP MEMORY 사용 방법: http://www.macnorton.com/csLab/886323
SWAP MEMORY를 사용하면 부족한 메모리 용량을 하드을 이용해 안전하게 메모리를 사용할 수 있게 해준다. 물론 하드를 사용하기 때문에 속도는 느려진다. 하지만 이 덕분에 서버가 터지는 문제를 해결했다.