Vultr 가상서버호스팅(VPS)에서 워드프레스 운영 중 메모리 스왑 파일을 적용해 속도를 향상시키는 방안에 대해서 알아 보겠습니다.
사이트 운영을 위해 서버를 설치 시 운영체제나 데이타베이스 종류는 최신의 트렌드를 반영하여 선택하기 마련입니다.
예를 들어 운영체제는 대부분 64비트를 선택하죠. 그리고 데이타베이스로 InnoDB가 적용된 MariaDB를 선택하곤 합니다. 이들은 가장 최신이고 가장 성능에서 앞선다고 알려진 것들 입니다.
그런데 여기에 함정이 있네요. 본격적인 사이트 운영을 위해 서버 사양을 빵빵하게 운영한다면 별로 문제가 되지 않겠지만 엔트리급을 선택하는 경우는 조금 다릅니다. 예를 들어 Vultr의 756MB 메모리를 가진 2.5$ 플랜이나 1GB 메모리를 가진 5$ 플랜을 선택하는 경우 잘못하면 메모리 부족에 허덕일 수 있기에 가장 적은 메모리를 사용하는 사양을 선택해야 합니다.
그런 관점에서 최소 메모리 요구 조건은 64비트보다는 32비트 운영체제가 더 낫고, InnoDB가 적용된 MariaDB보다는 MyISAM를 적용한 일반 MySQL이 차라리 낫습니다.
그러나 이미 64비트에 MariaDB를 적용해 사용하고 있는데 다시 설치하고 최적화시키는 것은 무지 귀찮은 일이죠. 선수가 아니라면 또 엄청난 시간을 들여서 구글링을 해야겠지요.
서두가 조금 길었는데요. 이렇게 엔트리 사양에서 메모리 부족이 발생하는 경우가 많은데 이를 해결하는 방법으로 디스크를 이용 스왑 메모리를 만드는 방법에 대해 간략히 살펴 봅니다.
1. 시스템 저장 공간 사용 현황 파악
다행히 요즘은 SSD로만 운영되는 상품이 많기 때문에 SSD 디스크에 스왑 메모리를 만들면 어느 정도 성능이 나오기 때문에 시도할 만합니다.
그러면 어떻게 이 스왑 메모리를 만들어 이용할 수 있을까요?
우선 시스템에 스왑 메모리를 적용할 여유가 있는지 확인합니다.
이때 시스템 내 디스크 및 메모리 사용 현황을 파악하기 위해서 df -h라는 명령을 사용합니다. 이 명령을 내리면 시스템에 구성된 각종 디스크와 RAM 메모리 사용 현황을 보여 줍니다.
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 469M 0 469M 0% /dev
tmpfs 99M 11M 89M 11% /run
==/dev/vda1 25G 16G 7.8G 67% /==
tmpfs 495M 0 495M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 495M 0 495M 0% /sys/fs/cgroup
tmpfs 99M 0 99M 0% /run/user/0
이에 따르면 SSD 디스크 공간 25GB중에서 16GB가 남아있다는 것을 알 수 있습니다.
2. 스왑 메모리 파일 만들기
16GB 용량이 남아 있다는 것을 확인했으면 어느 정도 크기의 스왑 파일을 만들 것인지를 결정해야 합니다.
저의 경우 1GB 메모리가 있는데 조금 넉넉한 스왑 메모리를 확보하고 싶어서 4GB를 선택했습니다. 어짜피 놀고있는 SSD 공간이므로..
아래와 같은 명령을 사용해 스왑 파일을 만듭니다. 스왑 메모리 파일을 만들고, 권한을 부여하고 포맷하는 일련의 과정을 바로 이어서 진행 합니다.
fallocate -l 4G /swapfile # 4GB 스왑 메모리 파일을 만든다.
chmod 600 /swapfile # 스왑 메모리 파일에 쓰기 권한을 부여한다.
mkswap /swapfile # 스왑 메모리 파일을 포맷한다.
swapon /swapfile # 스왑 메모리 파일을 활성화 한다.
위와 같은 작업을 통해서 4GB의 스왑 메모리 파일이 생성되었습니다.
그러면 정말로 스왑 메모리가 만들어졌는지 확인을 해봅니다. 이때 사용하는 명령은 free -m 또는 swapon -s 명령입니다.
free -m 명령은 일반 메모리와 스왑 메모리 상태를 보여줍니다. 스왑 메모리가 없다면 0으로 표기됩니다. 아래에서는 생성된 스왑파일 4095가 보이네요.
@happist:~# free -m
total used free shared buff/cache available
Mem: 988 540 85 117 362 187
Swap: 4095 108 3987
swapon -s 명령을 사용하면 아래와 같은 결과를 보여 줍니다.
@happist:~# swapon -s
Filename Type Size Used Priority
/swapfile file 4194300 108288 -1
3. 영구 스왑 메모리 파일로 만들기
위와 같이 만들어진 스왐 메모리는 다시 부팅하면 없어져 버립니다. 따라서 시스템이 존재하는 한 계속 사용할 수 있도록 만드는 작업이 필요합니다.
이는 /etc/fstab의 파일에 아래 내용을 추가하는 것입니다.
nano /etc/fstab # fstab 파일을 편집
fstab 파일 맨 아래 부분에 아래 내용을 추가
/swapfile none swap sw 0 0
4. 스왑 메모리 죽이기
메모리를 충분히 증설했거나 스왑 파일을 활용함에도 별로 성능에 도움이 되지 않은다면 과감히 지워버릴 필요가 있겠죠.
스왑 메모리 파일을 지우는 것은 아래 rm 명령을 사용합니다.
rm /swapfile
10$ 제휴 프로모션으로 Vultr 가입하기
새롭게 뉴스레터를 시작했습니다.
1️⃣ 주식 등 투자 정보 : 기업 분석, IB 투자의견 등 투자 관련 내용
..... 테슬라 실적 및 IB들의의 테슬라 투자의견
2️⃣ 사례 및 트렌드 : 사례연구와 트렌드 관련 괜찮은 내용
.....유튜브와 경쟁대신 구독 전환한 비디오 플래폼 비메오 사례