클라우드웨이즈로 대부분의 워드프레스 사이트를 이전하여 관리하고 있습니다. 현재 Vultr 서버와 Linode 서버를 각각 만들어서 중요하지 않은 사이트는 모두 Linode 서버로 이전하고 있습니다.😄😄😄 중요하지 않은 테스트 사이트를 Linode 서버로 이전하였는데, 사이트에 접속하여 작업을 하면 CPU 사용량이 100퍼센트에 도달하는 현상이 발생했습니다. 많은 사이트가 연결된 멀티사이트라서 그런지 서버에서 제대로 감당을 하지 못하는 것 같았습니다. 이런 경우 몇 가지 조치를 취해 안정화시킬 수 있습니다.
디도스 공격으로 인해 CPU 사용률이 급증하는 경우에는 아래의 "디도스 공격을 당하는 경우" 부분을 참고해보세요.
클라우드웨이즈 서버 CPU 사용량 100퍼센트에 도달하는 경우
방문자 수가 급증하여 서버가 트래픽을 감당하지 못하는 경우에는 서버 사이즈를 늘려야 할 수 있습니다.
일시적으로 방문자가 급증하여 사이트 접속에 어려움을 겪는 경우에는 서버를 재시작하면 임시방편으로 서버가 안정화될 수도 있습니다.
서버를 재시작하려면 서버 화면에서 해당 서버의 맨 오른쪽에 있는 3개 점으로 된 아이콘을 클릭하고 Restart를 누르면 됩니다.
이런 조치에도 안정화가 안 되면 서버 크기를 업그레이드하는 것을 고려하시기 바랍니다.
제 경우에는 문제가 되는 사이트가 멀티사이트로 많은 사이트들이 포함되었기 때문에 접속하여 작업을 하려고 시도하면 CPU 사용량이 급증하는 것 같았습니다.
혹시나 싶어 OPCACHE Memory 설정값을 늘려보았습니다.
해당 서버의 Settings & Packages » Advanced 탭에서 OPCACHE 메모리 크기를 설정할 수 있습니다.
또한, 문제가 되는 애플리케이션의 관리 페이지에서 Application Settings로 이동하여,
Cron Optimizer(크론 최적화)를 활성화하였습니다.
이러한 조치를 취하고 나니 CPU 사용량이 100%로 폭주하는 일이 줄어들었습니다.
참고로 쿠팡 파트너스 사이트나 알리익스프레스 같은 사이트의 상품 정보를 수집하는 크롤링 플러그인을 사용하는 경우에도 CPU 사용량이 급증할 수 있습니다.
유휴 CPU(Idle CPU) 통계를 살펴보면 간혹 CPU가 100%까지 치솟기도 하지만 이전보다는 많이 줄어들었습니다. (아래 그림에서 그래프가 0이 되면 CPU 사용량이 100퍼센트가 됩니다.)
방문자 수가 그리 많지 않고 최적화가 잘 된 워드프레스 사이트를 운영하는 경우에는 하나의 서버에 10개 이상의 사이트 운영도 가능할 것 같습니다. 저는 2개의 2GB 램 크기 서버에서 워드프레스 사이트를 17개를 생성하여 연결했습니다. 사이트 중 일부는 멀티사이트라서 실제 사이트 수는 훨씬 많은 편입니다. 방문자 수가 그리 많지 않아서 아직은 서버가 여유로운 상태입니다.
Linode 서버가 CPU 사용량 변동에 민감하게 반응하는 것 같습니다. Vultr의 경우 High Frequency 서버라서 그런지 CPU 최적화가 일반 서버보다는 잘 된 것 같습니다. 클라우드웨이즈(Cloudways)에 일반 서버와 High Frequency 서버의 차이점에 문의하니 High Frequency 서버가 CPU 최적화가 더 잘 되었다는 답변을 들은 적이 있습니다.
디도스 공격을 당하는 경우
디도스 (DDoS) 공격을 당하는 경우 CPU 사용량이 100%로 치솟고 사이트는 다운이 되거나 매우 느려지게 됩니다.
디도스 공격이 잦다면 Cloudflare에 가입하여 방어해보고, 그래도 안 되면 서버 크기를 업그레이드하여 대응할 수 있습니다. 제 워드프레스 블로그는 2024년 8월 23일부터 수시로 디도스 공격을 받았습니다. 처음에는 당황하여 제대로 대응하지 못했지만, 공격이 일상화(?)되면서 나름대로 대응하는 방법을 마련하게 되었습니다.
아래의 글에서 디도스 공격을 대응하는 방법에 대하여 설명하고 있으니 참고해보세요.
불량 봇 (Badbot) 차단하기
불량 봇(Badbot)에 의하여 CPU 사용량이 급증하는 경우가 있습니다. 다음 글에서 소개하는 코드를 .htaccess 파일에 추가하여 불량 봇에 의한 서버 과부하 문제를 완화시킬 수 있습니다.
클라우드웨이즈에서 애플리케이션(사이트)의 에러 로그 확인하기
방문자 증가 등 별다른 이유 없이 CPU 사용량이 갑자기 치솟는 경우 에러 로그를 확인하면 원인을 파악하는 데 도움이 될 수 있습니다.
클라우드웨이즈에서는 개별 애플리케이션에서 오류 로그를 체크할 수 있습니다. 애플리케이션 관리 페이지로 이동한 다음 Monitoring » Logs » Error Logs에서 치명적인 오류나 많은 오류를 발생하는 부분이 있는지 체크해보시기 바랍니다.
PHP 버전은 최신 버전을 이용하는 경우 바람직하지만, 너무 최신 버전을 선택하면 무수한 PHP 오류가 발생할 수 있습니다. 이 때문에 방문자가 조금만 증가해도 서버에 부담을 주어 CPU 사용량이 증가할 수 있습니다. 이런 경우에는 PHP 버전을 낮추어서 테스트해보시기 바랍니다.
참고
https://avada.tistory.com/3046
https://avada.tistory.com/2897
https://avada.tistory.com/3216