워드프레스 하트비트 API 제한은 워드프레스 관리 대시보드에서 백그라운드에서 실행되는 admin-ajax.php 요청의 빈도를 줄여 CPU 사용량을 낮추는 작업입니다. 특히 공유 호스팅, 대규모 WooCommerce 상점, 다수의 작성자가 있는 블로그에서는 하트비트 API가 15-60초마다 서버에 요청을 보낼 수 있으며, 이는 불필요한 CPU 사용, 느린 관리 대시보드, 자원 한도 경고 등을 초래할 수 있습니다. 해결책은 API를 완전히 끄는 대신 페이지에 따라 60-120초로 조정하고, 필요한 영역에서만 활성화하며, 이를 호스팅 패널을 통해 측정하는 것입니다.
이 가이드에서는 하트비트 API가 무엇인지, 언제 문제가 되는지, 어떤 설정이 안전한지, 그리고 워드프레스 사이트에서 CPU 사용량을 실질적으로 줄이는 방법을 단계별로 설명하겠습니다. 목표는 자동 저장 및 세션 관리와 같은 유용한 기능을 방해하지 않으면서 불필요한 백그라운드 트래픽을 제한하는 것입니다. 귀하의 사이트가 자주 508 자원 한도, 503 서비스 불가 또는 느린 워드프레스 관리 대시보드 문제를 겪고 있다면, 이 설정은 첫 번째로 확인해야 할 최적화 항목 중 하나입니다.
워드프레스 하트비트 API란?
워드프레스 하트비트 API는 브라우저와 서버 간에 정기적으로 통신을 수행하는 워드프레스 메커니즘입니다. 이 통신은 일반적으로 /wp-admin/admin-ajax.php 파일을 통해 이루어집니다. 워드프레스는 이 시스템 덕분에 편집기 화면에서 자동으로 초안 저장을 수행하고, 다른 사용자가 동일한 글을 편집 중임을 알리며, 세션 시간을 확인하고, 일부 플러그인의 실시간 알림을 실행합니다.
간단한 예를 들어보겠습니다: 한 편집자가 글 편집 화면에서 작업하는 동안 워드프레스는 초안이 사라지지 않도록 특정 간격으로 서버에 작은 요청을 보냅니다. 이 요청은 단독으로는 부담이 되지 않습니다. 그러나 동시에 8명의 편집자와 2명의 관리자가 WooCommerce 패널을 열어두고 있다면 요청 수가 급격히 증가합니다. 10개의 관리 세션이 30초 간격으로 약 1,200개의 하트비트 요청을 생성할 수 있습니다. 플러그인이 이 요청에 추가 데이터를 더하면 CPU 사용량은 예상보다 훨씬 더 높아질 수 있습니다.
따라서 하트비트 API는 나쁜 기능이 아닙니다. 잘못된 간격, 불필요한 페이지 또는 무거운 플러그인과 함께 작동할 때 성능 문제로 발전할 수 있습니다. 잘 구성된 사이트에서는 API가 활성화되어 있지만 주파수가 제어됩니다.
하트비트 API가 CPU 사용량을 증가시키는 이유는 무엇인가요?
CPU 사용량은 서버가 PHP 프로세스를 실행하는 데 소모하는 처리 능력을 의미합니다. 워드프레스는 동적인 콘텐츠 관리 시스템으로, 각 PHP 요청에서 테마, 플러그인, 데이터베이스 및 워드프레스 코어가 일정 부분 작동합니다. 하트비트 요청도 작아 보이지만 PHP 프로세스를 촉발합니다.
CPU 증가의 가장 흔한 원인은 다음과 같습니다:
- 너무 잦은 요청 간격: 일부 화면에서는 하트비트가 15초까지 줄어들 수 있습니다. 이는 단일 사용자에게도 시간당 240개의 요청을 의미합니다.
- 여러 개의 열린 탭: 사용자가 워드프레스 패널에서 4개의 서로 다른 탭을 열어두면 각 탭이 별개의 하트비트 트래픽을 생성할 수 있습니다.
- 무거운 플러그인: 보안, 통계, 백업, 페이지 빌더 및 WooCommerce 플러그인이 하트비트 데이터에 추가 부담을 줄 수 있습니다.
- 자원이 부족한 호스팅: CPU 한도가 좁은 패키지에서는 작은 백그라운드 요청조차도 혼잡한 시간대에 한도를 초과할 수 있습니다.
- 봇과 실제 사용자 트래픽 간의 충돌: 프론트엔드에 방문자 트래픽이 있는 동안 관리 패널의 백그라운드 요청이 동일한 자원을 사용합니다.
특히 admin-ajax.php 접근이 액세스 로그 파일에서 자주 반복되는 경우 하트비트 트래픽을 조사해야 합니다. Hostragons 인프라에서는 리소스 사용 그래프를 통해 CPU 변동을 추적할 수 있으며, 워드프레스 사이트의 필요에 맞는 더 적절한 패키지를 위해 WordPress 호스팅 옵션을 고려할 수 있습니다.
하트비트 API를 완전히 비활성화하는 것이 맞나요?
일반적인 대답: 아니요, 대부분의 사이트에 대해 완전히 비활성화하는 것은 권장되지 않습니다. 하트비트 API를 완전히 비활성화하면 단기적으로 CPU를 줄일 수 있지만, 자동 저장, 콘텐츠 잠금, 세션 갱신 및 일부 플러그인 알림이 손상될 수 있습니다. 특히 다수의 작성자가 있는 블로그에서 동일한 글을 두 사람이 편집하게 되면 콘텐츠 손실이 발생할 수 있습니다.
보다 안전한 접근법은 API를 필요한 영역에서만 활성화하고 간격을 늘리는 것입니다. 예를 들어 글 편집 화면에서 60초, 일반 관리 패널에서 120초, 프론트엔드에서는 완전히 비활성화하는 구조가 대부분의 기업 사이트에 균형 잡힌 결과를 제공합니다. WooCommerce 상점에서는 주문 화면 및 재고 관리와 같은 부분에서 더 신중한 테스트가 필요합니다.
추천 하트비트 API 설정 표
| 시나리오 | 추천 설정 | 예상 효과 | 주의할 점 |
|---|---|---|---|
| 단일 작성자 블로그 | 관리자 120초, 편집자 60초, 프론트엔드 비활성화 | 관리자-ajax 요청이 현저히 감소함 | 자동 저장 간격을 테스트해야 함 |
| 다수 작성자 출판 사이트 | 편집자 60초, 관리자 90-120초 | CPU 감소, 콘텐츠 잠금 유지 | 작성자가 열린 탭 수를 모니터링해야 함 |
| WooCommerce 상점 | 관리자 60-90초, 프론트엔드 주의 깊게 비활성화 | 패널 부하 감소 | 장바구니, 결제 및 재고 플러그인 테스트해야 함 |
| 기업 홍보 사이트 | 관리자 120초, 프론트엔드 비활성화 | 가장 안전한 완화 | 양식 및 보안 플러그인 점검해야 함 |
| 자원 한도 경고를 받는 사이트 | 먼저 60초, 이후 120초 테스트 | CPU 피크 감소 가능 | 로그 및 호스팅 그래프를 통해 측정해야 함 |
이 표는 시작점입니다. 최적의 설정은 사용자 수, 플러그인 구조, 테마 무게 및 호스팅 리소스에 따라 달라집니다. 측정 없이 이루어진 변경은 때때로 CPU 문제를 숨기지만, 근본 원인을 해결하지는 않습니다.
워드프레스 하트비트 API 제한 방법은?
워드프레스 하트비트 API 제한을 위한 세 가지 실용적인 방법이 있습니다: 플러그인 사용, 테마 함수 파일에 코드 추가, 또는 성능 플러그인의 내장 설정 활용. 기술적 지식이 부족하다면 플러그인 방법이 더 안전합니다. 개발자라면 작은 코드 조각으로 더 세밀한 설정을 할 수 있습니다.
1. 방법: 하트비트 컨트롤 플러그인으로 제한하기
가장 쉬운 방법은 하트비트 트래픽을 관리하기 위해 개발된 플러그인을 사용하는 것입니다. WP Rocket에서 제공하는 하트비트 컨트롤 또는 유사한 신뢰할 수 있는 플러그인을 사용하면 서로 다른 영역에 대해 별도의 규칙을 정의할 수 있습니다.
단계:
- 워드프레스 관리 패널에서 플러그인 > 새로 추가 섹션으로 이동합니다.
- 하트비트 컨트롤을 검색하고 신뢰할 수 있는 최신 플러그인을 설치합니다.
- 플러그인을 활성화한 후 설정 화면으로 들어갑니다.
- 대시보드 또는 관리 패널의 주파수를 60초 또는 120초로 설정합니다.
- 게시물 편집기 영역에서는 완전히 비활성화하는 대신 60초를 선택합니다.
- 프론트엔드에서는 하트비트를 비활성화하거나 가장 긴 간격으로 설정합니다.
- 변경 사항을 저장하고 24시간 동안 CPU 그래프를 모니터링합니다.
이 방법의 장점은 빠르게 되돌릴 수 있다는 점입니다. 문제가 발생하면 플러그인을 비활성화하여 기본 워드프레스 동작으로 돌아갈 수 있습니다. 단점은 사이트에 추가 플러그인을 더해야 한다는 것입니다. 플러그인 수를 낮게 유지하고 싶다면 코드 방법이 더 적합합니다.
2. 방법: functions.php로 하트비트 간격 변경하기
코드로 제한하려면 변경 사항을 기본 테마 파일에 직접 추가하지 말고, 가능하면 자식 테마의 functions.php 파일이나 사이트 전용의 작은 플러그인에 추가하세요. 이렇게 하면 테마 업데이트 시 설정이 사라지지 않습니다.
아래 예시는 하트비트 간격을 60초로 늘립니다:
add_filter('heartbeat_settings', 'hostragons_heartbeat_interval'); function hostragons_heartbeat_interval($settings) { $settings['interval'] = 60; return $settings; }
이 코드는 기본적으로 더 짧은 간격을 60초로 조정하여 요청 수를 줄입니다. 15초 간격에서 60초로 늘리면 이론적으로 하트비트 요청 수를 75% 줄일 수 있습니다. 예를 들어 5개의 관리자 세션에서 시간당 1,200 요청 대신 약 300 요청이 발생합니다. 실제 이익은 플러그인이 이 요청에 얼마나 많은 처리를 추가하는지에 따라 다릅니다.
더 공격적인 구성을 원하신다면 프론트엔드에서 하트비트를 비활성화하고 관리 패널에서는 활성화할 수 있습니다:
add_action('init', 'hostragons_disable_heartbeat_frontend', 1); function hostragons_disable_heartbeat_frontend() { if (!is_admin()) { wp_deregister_script('heartbeat'); } }
이 코드는 프론트엔드에서 하트비트 스크립트를 비활성화합니다. 그러나 회원가입, 실시간 알림, 장바구니 업데이트 또는 프론트엔드 편집기를 사용하는 사이트에서는 반드시 테스트해야 합니다. WooCommerce 결제, 장바구니 및 내 계정 페이지에서 동작이 손상되면 이 코드 대신 플러그인을 사용하여 페이지별 설정을 하는 것이 더 안전합니다.
3. 방법: WP 로켓 또는 성능 플러그인으로 관리하기
일부 캐시 및 성능 플러그인은 하트비트 제어를 자체 설정 내에서 제공합니다. WP 로켓과 같은 도구에서는 하트비트 탭을 통해 관리 패널, 글 편집기 및 프론트엔드에 대해 다양한 수준을 선택할 수 있습니다. 이 방법은 이미 성능 플러그인을 사용하는 사이트에서 추가 플러그인 필요성을 줄입니다.
성능 플러그인을 사용할 때 동일한 기능을 하는 두 개의 다른 모듈을 동시에 활성화하지 않도록 주의하세요. 예를 들어 WP 로켓 하트비트 설정과 별도의 하트비트 컨트롤 플러그인을 동시에 활성화하면 충돌이나 예상치 못한 동작이 발생할 수 있습니다. 워드프레스 최적화의 기본 규칙은 다음과 같습니다: 동일한 작업을 수행하는 도구는 하나만 사용하고 결과를 측정한 후 새로운 변경 사항을 추가합니다.
CPU 사용량을 측정하여 올바른 설정 찾기
하트비트 설정을 하기 전과 후에 측정하는 것은 전문 최적화의 가장 중요한 부분입니다. 관리 패널이 더 빠르게 느껴지는 것만으로는 충분한 증거가 아닙니다. CPU 사용 그래프, PHP 프로세스 수, 액세스 로그 및 오류 로그를 함께 평가해야 합니다.
추천 테스트 계획:
- 시작 측정 수행: 변경을 하기 전 24시간 동안 CPU 및 RAM 그래프를 기록합니다.
- 액세스 로그 검토:
admin-ajax.php요청의 시간당 밀집도를 확인합니다. - 첫 설정 적용: 하트비트 간격을 60초로 늘리고 프론트엔드에서 비활성화합니다.
- 24-48시간 대기: 동일한 트래픽 조건에서 CPU 변동을 모니터링합니다.
- 필요 시 120초 시도: 특히 기업 사이트에서는 더 긴 간격이 문제를 일으키지 않을 수 있습니다.
- 중요 기능 테스트: 글 자동 저장, WooCommerce 장바구니, 주문 관리 및 회원 흐름을 확인합니다.
예를 들어 기업 워드프레스 사이트에서 관리 패널이 열려 있을 때 CPU 사용량이 80-90% 수준에 이른다면, 하트비트 간격을 15초에서 60초로 늘리는 것이 CPU 피크를 20-40% 줄일 수 있습니다. 그러나 동일한 사이트에서 백업 플러그인이 매시간 전체 스캔을 수행한다면 하트비트 최적화만으로는 충분하지 않을 것입니다. 이 경우 워드프레스 속도 최적화 및 호스팅 자원 사용 주제를 함께 다루어야 합니다.
admin-ajax.php가 항상 하트비트에서 비롯되는 것은 아닌가요?

아니요. admin-ajax.php는 워드프레스에서 다양한 작업에 사용됩니다. 하트비트 API는 그 중 하나일 뿐입니다. 폼 플러그인, 필터링 기능, 실시간 검색, 보안 스캔, 전자상거래 장바구니 업데이트 및 일부 테마 기능도 동일한 파일에 요청을 보낼 수 있습니다.
따라서 단순히 admin-ajax.php 트래픽을 보고 하트비트를 비활성화하는 것은 올바른 진단이 아닐 수 있습니다. 브라우저 개발자 도구에서 네트워크 탭을 열고 요청의 페이로드 부분에 action=heartbeat가 있는지 확인할 수 있습니다. action 값이 다르다면 문제가 다른 플러그인에서 발생할 수 있습니다.
서버 측에서도 액세스 로그 분석을 수행할 수 있습니다. 밀집 요청이 어떤 IP에서, 어떤 시간에, 어떤 참조 페이지에서 왔는지 조사해야 합니다. 만약 트래픽이 봇에서 발생하는 것이라면 방화벽, 비율 제한 또는 봇 보호가 더 적절한 해결책일 수 있습니다. 안전한 연결과 올바른 인증서 구성을 위해 SSL 인증서 페이지를 최신 상태로 유지하는 것이 성능 및 보안 신호 측면에서 중요합니다.
하트비트 제한 시 흔히 발생하는 실수
워드프레스 성능 문제에 대한 빠른 해결책을 찾으면서 일부 실수가 사이트 운영을 방해할 수 있습니다. 아래 항목은 특히 라이브 사이트에서 중요합니다:
- API를 모든 곳에서 완전히 비활성화: 자동 저장 및 콘텐츠 잠금이 비활성화될 수 있습니다.
- 라이브 사이트에서 테스트 없이 코드 추가: 구문 오류로 인해 하얀 화면 문제를 일으킬 수 있습니다.
- WooCommerce 결제 흐름을 확인하지 않음: 장바구니 및 주문 프로세스에서 예상치 못한 결과가 발생할 수 있습니다.
- 여러 성능 플러그인을 동시에 사용: 충돌로 인해 측정이 어려워집니다.
- CPU 문제를 단지 하트비트 때문이라고 단정: 무거운 쿼리, 봇 트래픽 또는 크론 작업이 주 원인일 수 있습니다.
- 백업 없이 변경: 간단한 코드 오류로 인해 복구 시간이 길어질 수 있습니다.
변경 사항 전에 파일 및 데이터베이스 백업을 하는 것이 가장 건강한 접근법입니다. 도메인, 호스팅 및 사이트 관리를 하나의 패널에서 관리하고 싶다면 도메인 조회 및 웹 호스팅 서비스로 인프라를 더 체계적으로 관리할 수 있습니다.
하트비트 API 이외의 CPU 사용량을 줄이는 추가 조치
하트비트 제한은 효과적인 단계지만, 워드프레스 CPU 최적화는 더 광범위한 과정입니다. 지속적인 성능을 위해 다음과 같은 조치도 수행해야 합니다:
캐시 사용
페이지 캐시는 방문자 요청 시 PHP 및 데이터베이스 부하를 심각하게 줄입니다. 정적 페이지에서 캐시가 활성화되면 각 방문자 요청에 대해 워드프레스 코어가 처음부터 작동할 필요가 없습니다. 이는 CPU 사용량을 줄이는 가장 효과적인 방법 중 하나입니다.
불필요한 플러그인 제거
사용하지 않는 플러그인도 비활성 상태에서는 일부 경우 데이터베이스에 부담을 남길 수 있습니다. 활성 플러그인의 수가 아니라 작업의 무게를 평가하세요. 특히 통계, 보안, 페이지 빌더 및 백업 플러그인을 정기적으로 점검하십시오.
WP-크론 점검
워드프레스 크론 시스템은 각 방문 시 트리거될 수 있습니다. 트래픽이 많은 사이트에서는 이로 인해 CPU 사용량이 증가합니다. 시스템 크론으로 계획된 작업을 수행하는 것이 더 통제된 구조입니다. 이 주제는 하트비트와 다르지만, 유사하게 백그라운드 부하를 줄입니다.
데이터베이스 최적화
개정, 임시 데이터, 스팸 댓글 및 오래된 트랜지언트 기록이 데이터베이스를 부풀릴 수 있습니다. 정기적인 청소는 쿼리 시간을 단축시킵니다. 특히 WooCommerce 사이트에서는 주문, 세션 및 로그 테이블이 커질수록 최적화가 더욱 중요해집니다.
PHP 버전 및 호스팅 리소스
최신 PHP 버전은 일반적으로 더 나은 성능을 제공합니다. PHP 8.x 호환 테마 및 플러그인 구조는 동일한 트래픽에서 더 낮은 CPU 사용량을 제공할 수 있습니다. 그럼에도 불구하고 소프트웨어 최적화는 올바른 호스팅 인프라로 지원되어야 합니다. 트래픽이 증가했다면 VPS 서버 또는 확장 가능한 워드프레스 호스팅 옵션을 고려하는 것이 현명할 수 있습니다.
안전한 적용을 위한 권장 로드맵
라이브 워드프레스 사이트에서 하트비트 API 제한을 수행할 때 다음 순서를 따르면 안전하고 측정 가능한 결과를 얻을 수 있습니다:
- 먼저 전체 백업을 수행합니다.
- 현재 CPU, RAM 및 admin-ajax.php 트래픽을 기록합니다.
- 하트비트가 정말로 높은 요청을 생성하고 있는지 확인합니다.
- 프론트엔드에서 하트비트를 비활성화하거나 가장 긴 간격으로 설정합니다.
- 글 편집기에서 60초 미만으로 설정하지 않습니다.
- 관리 패널에서 90-120초 간격을 테스트합니다.
- WooCommerce, 회원가입 및 양식 기능을 수동으로 테스트합니다.
- 24-48시간 동안 리소스 사용량을 비교합니다.
- 결과가 충분하지 않다면 플러그인, 테마 및 크론 소스 부하를 분석합니다.
이 접근법은 단일 설정에 의존하기보다는 데이터 기반 최적화를 가능하게 합니다. 전문 워드프레스 유지보수의 목표는 단순히 CPU 값을 낮추는 것이 아니라 사이트의 안정성과 사용자 경험을 함께 유지하는 것입니다.
결론: 하트비트를 비활성화하지 말고 스마트하게 제한하세요
워드프레스 하트비트 API 제한은 올바르게 적용되면 CPU 사용량을 줄이고 관리 패널을 부드럽게 하며 호스팅 자원을 보다 효율적으로 사용할 수 있게 해주는 실용적인 최적화 방법입니다. 가장 건강한 방법은 API를 완전히 비활성화하는 대신 프론트엔드에서 제한하고, 글 편집기에서 안전한 간격을 설정하며, 관리 패널에서 60-120초 간격을 테스트하는 것입니다.
CPU 문제가 계속된다면 하트비트는 시작점일 뿐입니다. 캐시, 플러그인 부하, WP-크론, 데이터베이스 및 호스팅 패키지를 함께 평가해야 합니다. Hostragons에서 워드프레스 사이트를 위한 더 안정적인 인프라를 찾고 있다면 WordPress 호스팅 솔루션을 살펴보고, 기존 사이트의 리소스 필요에 따라 부드러운 업그레이드 계획을 세울 수 있습니다.
자주 묻는 질문
워드프레스 하트비트 API를 완전히 비활성화해야 하나요?
대부분의 사이트에 대해 완전히 비활성화하는 것은 권장되지 않습니다. 자동 저장, 콘텐츠 잠금 및 세션 관리와 같은 기능에 영향을 줄 수 있습니다. 더 안전한 해결책은 프론트엔드에서 비활성화하고 관리 패널과 편집기에서 간격을 60-120초로 늘리는 것입니다.
하트비트 API가 CPU 사용량을 얼마나 줄이나요?
이는 사이트 구조에 따라 다릅니다. 15초 간격을 60초로 늘리면 하트비트 요청 수가 이론적으로 75% 줄어들 수 있습니다. 실제 CPU 이익은 플러그인 부하, 사용자 수 및 호스팅 자원에 따라 달라집니다.
admin-ajax.php의 높은 사용량은 항상 하트비트에서 비롯되나요?
아니요. 양식, WooCommerce, 실시간 검색, 보안 플러그인 및 테마 기능도 admin-ajax.php를 사용할 수 있습니다. 요청이 하트비트에서 비롯되었는지 여부는 네트워크 탭에서 action=heartbeat 값을 확인하여 알아낼 수 있습니다.
WooCommerce 사이트에서 하트비트 제한은 안전한가요?
안전하지만 주의 깊은 테스트가 필요합니다. 장바구니, 결제, 주문 관리, 재고 업데이트 및 회원 페이지를 점검해야 합니다. WooCommerce 사이트에서는 완전히 비활성화하기보다는 간격을 늘리는 것이 일반적으로 더 건강합니다.
하트비트 설정 후 얼마나 오래 테스트해야 하나요?
최소 24-48시간 테스트를 권장합니다. 이 기간 동안 CPU 그래프, PHP 프로세스 수, admin-ajax.php 요청 및 중요한 사이트 기능을 모니터링해야 합니다. 트래픽 밀도가 평일과 주말에 다르다면 더 긴 측정을 할 수 있습니다.