오늘 자이언트블로그와 연동된 네이버 오픈캐스트가 네이버의 오픈캐스트 메인에 소개되었습니다. 방문자가 증가하기 때문에 감사한 일입니다만 번거로운 일도 있는데 바로 워드프레스를 설치한 클라우드 서버에 부하를 준다는 점입니다.
만약 메인노출되는 24시간 내내 대량의 트래픽이 발생한다면 클라우드 서버의 특성상 서버 사양을 업그레이드 하여 대응하면 됩니다.
하지만 네이버 오픈캐스트 개편이후로는 특정한 시점에만 엄청난 순간트래픽이 발생하고 이후에는 트래픽이 평상시와 크게 다르지 않습니다.
이것은 현재 오픈캐스트 시스템의 특성으로 보시면 됩니다.
라이프/취미 , 문화/엔터,IT/비즈/학습,여행,요리 로 나눠진 5개 영역이 롤링되면서 메인에 노출되기 때문입니다.
따라서 자이언트블로그가 속한 IT/비즈/학습 섹터가 메인에 노출될때는 활성화된 순간 방문자가 200명을 넘는 엄청난 순간 트래픽을 보여주게 됩니다. (* 이러한 순간 트래픽은 메인노출된 컨텐츠의 내용에 따라서 차이가 많이 발생합니다.)
반면 다른 섹터가 노출될때는 평상시와 다름없는 방문자수를 보여줍니다. 클라우드 서버의 사양을 높이면 추가비용이 발생하게 됩니다. 따라서 이러한 임시 상황에 대처하기 위한 다른 방법이 있을 것입니다.
오픈캐스트 메인노출로 워드프레스 클라우드서버 메모리 부족현상 대응방법
자이언트 블로그(워드프레스 플랫폼)을 설치한 클라우드 서버는 메모리 용량이 16GB 로 High Memory 서버 사양입니다. 그럼에도 순간 트래픽이 발생할때는 out of memory 에러를 보이며 서버에 문제가 생깁니다.
메모리 사용율이 100%에 도달하면서 발생하는 에러입니다. 따라서 전체적인 속도가 느려지더라도 하드디스크 공간을 메모리로 사용하는 스왑메모리(Swap Memory)를 사용하도록 조치했습니다.
리눅스 클라우드서버에서 스왑메모리는 파티션으로 설정하는 방법이 있고 이러한 상황에 적합한 스왑파일(Swap file)을 생성하는 방법이 있습니다.
방법은 다음과 같습니다.
1. 스왑 메모리 확인 : swapon -s, free
2. 스왑 파일 생성 : dd if=/dev/zero of=/home/swap bs=1M count=4096
(* 4GB 용량의 swap 파일을 /home 디렉토리에 생성합니다. df -h 명령어로 서버의 여유저장공간을 확인하신후 swap 파일용량을 설정하시면 됩니다.)
3. 스왑 파일 형식으로 파일 포맷 : mkswap /home/swap
4. 스왑파일 동작 활성화 : swapon /home/swap
5. 변경 후 스왑 메모리 확인 : swapon -s, free
6. 스왑파일 활용이 필요없을 경우 삭제 :
6-1) 스왑파일 동작 비활성화 : swapoff /home/swap
6-2) 스왑파일 삭제 : rm /home/swap
(* 스왑파일 활성화 명령어는 swapon , 비활성화 명령어는 swapoff 입니다. )
이러한 조치로도 메모리 부족현상이 지속된다면 그때는 클라우드 서버의 사양을 한단계 업그레이드 하시면 되겠습니다.