프리티어 계정으로 실습을 해보다보니 t2.micro 인스턴스를 사용중이었는데 build를 하면 서버가 느려지다가 결국 먹통이 되는 경우가 많이 생겼다.
인스턴스 유형을 t3.small로 변경해봤지만 jenkins를 사용해서 build를 하기에는 부족해보였다.
(여러 의견에 의하면 프리티어로 젠킨스 구축은 애초에 욕심이라는 말을 해주셨다.. 그런거같기도 하다)
따라서 속도나 용량면에서 메모리가 부족하다면 메모리를 늘리는 것이 맞다고 판단되었다.
SWAP 메모리 설정
일반적으로 위와 같이 스왑 공간을 계산한다.
참고로, 스왑 공간은 절대로 32MB 미만이 되지 않아야 한다.
프리티어의 경우 획득 가능한 RAM이 1GB이므로, 스왑 공간은 2GB로 잡으면 된다.
참고로, 리눅스에서
free -h
명령어를 사용해서 메모리를 확인할 수 있기 때문에 살펴보길 권장한다.
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 # 스왑메모리 할당
sudo chmod 600 /swapfile
sudo mkswap /swapfile #Linux 스왑 영역 설정
sudo swapon /swapfile #스왑 공간에 스왑파일을 추가해서 파일을 즉시 사용할 수 있게 만듬
sudo swapon -s #절차가 성공적으로 됐는지 확인
sudo vi /etc/fstab #vi 편집기 열고
/swapfile swap swap defaults 0 0 #파일끝에 새로 추가해주고 종료
물론 이렇게 사용한다고 해도 속도가 부족한 부분은 있겠지만 기존의 문제점들은 해결할 수 있다.
애플리케이션 서버 및 Jenkins를 구축해보며 느낀 점은 Jenkins 서버는 애플리케이션 서버와 가능하면 별도로 구성하는게 낫다는 생각이 든다.
빌드 및 실행될 애플리케이션이 많아질수록 하나의 서버만으로는 많이 무거워질 거 같다는 생각이 들기 때문이다.
좋은 내용 감사합니다 :)