WordPress에서 높은 CPU 사용량을 수정하는 방법
게시 됨: 2022-10-25이 기사에서는 WordPress에서 높은 CPU 사용량의 일반적인 원인을 해결하는 몇 가지 방법을 안내합니다.
워드프레스 업데이트
이것은 가장 쉬운 수정이므로 더 복잡한 문제를 시작하기 전에 여기에서 시작하는 것이 가장 좋습니다.
주요 WordPress 업데이트를 놓치면 사이트가 최적화되지 않은 성능을 발휘하게 되고 결과적으로 호스트 서버에 더 많은 CPU 부하가 발생합니다.
운 좋게도 WordPress 업데이트는 클릭 한 번으로 간단합니다! 대시보드>업데이트로 이동하기만 하면 됩니다. 여기에서 설치할 수 있는 새 버전의 WordPress가 있는지 확인할 수 있습니다. "지금 업데이트"를 클릭하면 준비가 완료됩니다!
플러그인 확인
플러그인은 WordPress에서 성능 문제의 가장 일반적인 원인 중 하나입니다. 플러그인이 CPU 리소스를 소모하는 방법에는 여러 가지가 있습니다.
- 일부 플러그인은 지속적인 백그라운드 작업을 실행합니다.
- 일부 플러그인은 오래되었거나 안정적인 버전을 실행하지 않을 수 있습니다.
- 일부 플러그인에는 사용하지 않지만 백그라운드에서 계속 실행되는 많은 기능과 설정이 포함되어 있습니다.
- 플러그인은 리디렉션 루프를 유발하는 리디렉션을 구현할 수 있습니다.
WP Hive Chrome 확장 프로그램을 사용하여 플러그인이 사이트 성능에 미치는 영향을 확인할 수 있습니다. 또는 플러그인을 비활성화하여 어떤 영향을 미치는지 확인하여 구식 방식으로 할 수 있습니다.
사이트가 최적화되었는지 확인
WordPress CPU 사용량이 최대 90% 이상인 경우 호스팅 또는 트래픽 급증이 원인일 가능성이 높으므로 해당 영역을 먼저 해결해야 합니다. 그러나 워드프레스 사이트 속도를 높이는 몇 가지 간단한 팁으로 사이트를 간소화하고 CPU 부하를 줄이는 것은 항상 좋은 생각입니다. 여기에는 다음이 포함됩니다.
- 파일 축소 및 압축
- 캐싱
- 이미지 최적화
- 외부에서 비디오 호스팅
WP-CRON 비활성화
Cron은 자동으로 수행할 작업을 예약하는 명령줄 유틸리티입니다. 이러한 명령을 "cron 작업"이라고 합니다. WordPress에서 cron 작업은 WP-CRON에 의해 처리됩니다. 그러나 WP-CRON은 WordPress가 실제 cron 작업의 기능을 모방하기 위해 사용하는 기능일 뿐입니다.
WP-CRON은 정의된 일정 대신 페이지가 로드될 때마다 실행되기 때문에 성능 문제를 일으킬 수 있습니다. 즉, 트래픽이 많은 경우 WP-CRON은 누군가 페이지를 로드할 때마다 예약된 이벤트를 확인하고 서버에 추가 부담을 줍니다. 반면에 사이트에 트래픽이 많지 않은 경우 아무도 페이지를 로드하지 않으면 예약된 이벤트를 놓칠 수 있습니다.
많은 사람들에게 단순히 WP-CRON을 비활성화하고 대신 실제 cron 작업을 사용하는 것이 좋습니다.
WP-CRON을 비활성화하는 방법
WP-CRON을 비활성화하려면 wp-config.php 파일을 편집하고 다음 명령을 추가해야 합니다.
define('DISABLE_WP_CRON', true);
"/*그만해, 편집을 중지해! 행복한 출판. */”.
크론 작업을 직접 만드는 방법
WP-CRON을 비활성화하면 자동 실행만 중지되지만 wp-config.php on 명령을 실행하는 실제 크론 작업을 설정할 수 있습니다.
이를 수행할 수 있는 몇 가지 방법이 있습니다.
- 호스팅 제공업체의 제어판을 통해 cron 작업을 설정할 수 있습니다.
- cPanel을 사용하는 경우 Advanced>Cron Jobs로 이동하여 설정하여 cron 작업을 예약할 수 있습니다.
- WP Crontrol과 같은 타사 플러그인을 사용하십시오.
- SSH에서 cron 작업을 수동으로 구성합니다.
콘텐츠 전송 네트워크로 콘텐츠 오프로드
누군가가 호스트 서버에서 멀리 떨어진 국가에서 사이트를 방문하면 데이터가 컴퓨터에 도달하는 데 시간이 더 걸립니다. 이러한 리소스를 제공하는 데 소요되는 추가 시간은 호스트 서버의 처리 능력을 차지합니다.
이 문제의 답은? CDN(콘텐츠 전송 네트워크).
콘텐츠 배달 네트워크는 사이트에서 정적 자산의 캐시된 버전을 포함하는 지리적으로 분산된 서버 시스템입니다. 사용자가 가장 가까운 서버에서 자산을 받을 수 있도록 콘텐츠를 이러한 서버로 오프로드할 수 있습니다. 그 결과 로딩 시간이 빨라지고 사용자 경험이 향상되며 무엇보다도 WordPress 사이트의 CPU 사용량이 크게 줄어듭니다.
불량 봇 차단
이미 Google 봇에 대해 잘 알고 계실 것입니다. 이들은 "좋은 봇"입니다. 그들은 검색 엔진을 위해 귀하의 사이트를 크롤링하고 인덱싱하며 귀하의 SEO는 이들을 중심으로 이루어집니다.
그러나 매일 WordPress 사이트를 방문하는 봇이 훨씬 더 많습니다. 이러한 봇 중 다수는 악성이 아니지만 사이트의 트래픽에 기여하여 CPU에 불필요한 부담을 줄 수 있습니다.
이 일반 크롤링 봇 목록을 참조하여 웹 사이트에서 차단할 봇을 알 수 있습니다. 특정 사용자 에이전트가 사이트를 크롤링하지 못하도록 차단하려면 다음 형식을 사용하여 robots.txt 파일에 규칙을 만들어야 합니다.
User-agent: BotName Disallow: /
"/"는 루트 디렉토리와 결과적으로 전체 사이트에서 차단했음을 의미합니다. 특정 디렉터리의 봇만 허용하지 않으려면 다음과 같이 작성할 수 있습니다.
사용자 에이전트: BotName
Disallow: /DirectoryName/
다음 규칙을 추가하여 .htaccess 파일을 통해 봇을 차단할 수도 있습니다.
RewriteEngine On RewriteEngine On RewriteCond %{HTTP_USER_AGENT} UserAgentName [NC] RewriteRule .* - [F,L] To block multiple bots, format your rule like this: RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(Bot1|Bot2|Bot3).*$ [NC] RewriteRule .* - [F,L]
또는 플러그인을 사용하여 성가신 봇을 잡아 수동으로 확인하고 차단하는 수고를 덜 수 있습니다.
Blackhole for bad bots 플러그인을 추천합니다. 그것은 설탕물 한 컵에 말벌을 가두는 것과 같은 나쁜 봇을 잡는 꽤 영리한 방법을 가지고 있습니다.
플러그인은 크롤러만 볼 수 있는 사이트 링크를 추가합니다. 이 링크는 미끼 역할을 합니다.
그런 다음 로봇이 이 링크를 따라가는 것을 금지하는 규칙을 robots.txt에 추가합니다. 물론 스팸봇은 이 규칙을 무시하고 링크를 따라갑니다. 일단 그들이 당신의 사이트에 액세스하는 것이 즉시 금지됩니다.
꽤 영리하지 않나요?
호스팅 옵션 검토
WordPress 사이트가 높은 CPU 사용량으로 어려움을 겪고 있다면 호스팅 제공업체로부터 충분한 서버 리소스를 받지 못하고 있을 가능성이 있습니다. 공유 호스팅을 사용하는 경우 특히 그렇습니다. 공유 호스팅은 서버에서 호스팅되는 다른 모든 웹사이트와 지속적으로 전력을 다투기 때문에 CPU 과부하의 가장 일반적인 원인 중 하나입니다.
공유 호스팅이 너무 커졌다고 생각되면 다른 유형의 호스팅 제공업체를 확인해야 합니다.
- VPS(Virtual Private Server) 호스팅: 여전히 서버를 공유하지만 가상 파티션으로만 분할되므로 메모리, CPU 코어 및 스토리지와 같은 전용 리소스를 가질 수 있습니다. 다른 사이트로부터 효과적으로 격리되므로 서버의 다른 사이트에 대한 갑작스러운 트래픽 급증이 영향을 미치지 않습니다.
- 클라우드 호스팅: 요즘 클라우드 호스팅이 상당한 관심을 받고 있습니다. 기본적으로 CDN처럼 작동합니다. 귀하의 사이트는 단일 서버가 아닌 가상 및 물리적 서버 네트워크에 저장됩니다. 클라우드 호스팅은 사용한 리소스에 대해서만 비용을 지불하기 때문에 종종 더 저렴합니다. 또한 여러 서버에 분산되어 있으므로 추가 보안, 보다 안정적인 가동 시간 및 본질적으로 무한한 확장성을 얻을 수 있습니다.
- 전용 호스팅: 종종 웹 호스팅의 최고로 여겨지 는 이 옵션은 고유한 서버를 제공하므로 사용하는 서버 리소스를 100% 제어할 수 있습니다. 반면에 일반적으로 가장 비용이 많이 드는 옵션이며 적절하게 관리하려면 약간의 기술 전문 지식이 필요합니다.
- 관리 호스팅: 관리 호스팅을 사용하면 호스트 공급자가 기본적으로 서버를 관리합니다. 유지 관리, 업데이트 및 보안과 같은 내용을 다룹니다. 이것은 다른 유형의 호스팅에 대한 추가 기능입니다. 관리형 공유 호스팅 또는 관리형 전용 호스팅이 있을 수 있습니다.
결론
CPU 사용량을 줄이면 WordPress 사이트의 전반적인 상태가 크게 개선되어 성능이 향상되고 일관된 가동 시간과 더 나은 사용자 경험을 얻을 수 있습니다. 이 문서의 많은 팁이 CPU 부하를 줄이는 데 도움이 되지만 사이트의 CPU에 지속적으로 과부하가 걸리면 호스팅 문제일 가능성이 거의 확실합니다.