-
Notifications
You must be signed in to change notification settings - Fork 3
AWS EC2 서버 다운
실제 서비스를 시작하고, 서버의 문제 없이 원활하게 서비스가 제공되던 중이었다. 홍보를 통해 많은 유저의 참여를 유발 하던 중 서버가 작동 하지 않는 문제가 발생했다. 원인을 찾아보니 aws ec2서버가 멈춘 것 이었다. 가격 대비 성능이란 말이 있듯이, 우리 서비스에서 사람이 크게 몰리지 않을 것으로 생각하고, 프리티어 기준 가장 저렴한 ec2 서버를 구매 했었다. 상세스펙은 1cpu 1gib램메모리, 8gib의 ssd스토리지 이다. 하지만, 실제 서비스를 운용해보니 사람이 꽤나 몰리자 cpu사용률이 99%로 치솟으며, 서버 다운이 발생 한 것이었다.
이를 해결해보기 위해 리눅스 서버에 접속하여 명령어로 여러 가지를 살펴 본 결과, 굉장히 램이 모자라다는 것을 알게 되었다. cpu와 메모리는 매우 밀접한 관계로 메모리양이 모자라도, cpu가 과부하가 99% 치솟으며, 서버 다운이 되는 케이스가 있다는 것을 확인 하였다. 이를 해결 하기 위해 다양한 방법을 생각 해보았다. -1. 좀 더 성능이 좋은 ec2 서버 구매하기. -2. 한정된 자원의 효율 높이기. -3. 자바웹어플리케이션의 코드 최적화
2번의 방법이 가능하다면 가장 효율적이며 제한된 자원을 활용하는 방법 같았다. 그래서 2번에 해당하는 여러 방법을 강구 해보았는데, 실질적으로 도입한 방법은, 스토리지의 용량을 가상메모리로 사용 하여, 메모리양을 늘리는 것이다. 스왑메모리 라고도 한다.
실질적으로 메모리를 도입한 이후, 한번의 문제도 없이 정상적으로 서비스가 진행되는 것을 확인 할 수 있다.