
어느 날 갑자기 워드프레스 관리자 화면과 사이트가 동시에 접속 불가 상태가 되면서 HTTP 500 오류가 반복적으로 발생했습니다. 처음에는 호스팅 문제로 보였고, WHM에서 서버 재부팅을 하면 일시적으로 복구되었지만, 지속적으로 CPU 점유율 급증, 메모리 과다 사용, PHP 프로세스 폭주가 함께 나타났습니다.

이런 상황에서는 무작정 플러그인을 삭제하기보다, 서버 리소스 → PHP → 웹서버 → 워드프레스(플러그인/테마) 순으로 원인을 좁혀가는 방식이 가장 빠르고 정확하며 SSH 환경에서 실전 운영자가 실제로 점검하는 방법에 대해 알아보겠습니다.
- [IT 리뷰/블로그 SEO] - Bluehost VPS WHM 로그인 안 열릴 때(SSH 정상) 방화벽 타임아웃 해결
- [IT 리뷰/애플 Mac 아이폰] - 맥북 터미널 FTP SSH SFTP 접속방법 - MacOSx
서버 과부하 여부 확인 (CPU / Memory / Load)

SSH 접속 후 실행
top
확인해야 할 핵심 지점
- CPU 사용률이 100% 근접 → PHP, 봇 트래픽, 무거운 플러그인 가능성
- Load Average가 CPU 코어 수보다 높으면 서버 병목 발생
- 특정 프로세스가 CPU를 독점적으로 점유 중인지 확인
메모리 사용량 점검
free -h
- Swap 사용량 급증 → 물리 메모리 부족 또는 비효율 프로세스 실행
과부하를 유발하는 프로세스 식별
CPU 점유율 상위 프로세스 확인
ps aux --sort=-%cpu | head -20
PHP 프로세스 과다 여부 확인
ps aux | grep php | wc -l
👉 PHP 프로세스 수가 수십~수백 개라면 워드프레스 요청 폭주 상태일 가능성이 매우 높습니다.
실시간 트래픽 점검 및 봇 요청 탐지
Apache / Nginx 접근 로그 모니터링
tail -f /usr/local/apache/logs/access_log
또는
tail -f /var/log/nginx/access.log
👉 동일 IP가 초당 수십~수백 요청을 반복한다면 크롤러 오남용 또는 자동화 트래픽을 의심해야 합니다.
접속 상위 IP 분석
awk '{print $1}' /usr/local/apache/logs/access_log | sort | uniq -c | sort -nr | head -20
워드프레스 과부하 원인 1순위 — 플러그인
WP-CLI 플러그인 목록 확인
wp plugin list
전체 비활성화 테스트
wp plugin deactivate --all
👉 부하가 급격히 줄어든다면 플러그인이 핵심 원인으로 확정됩니다.
서버 리소스를 많이 소모하는 플러그인 유형
- 방문자 통계 및 실시간 분석 플러그인
- 자동 번역 및 AI 콘텐츠 생성 도구
- 무거운 비주얼 빌더 계열
- 자동 백업 및 스냅샷 플러그인
- 실시간 보안 스캔 모듈
워드프레스 예약 작업(WP-Cron) 과다 실행 점검
WP-Cron 비활성화 테스트
echo "define('DISABLE_WP_CRON', true);" >> wp-config.php
👉 예약 작업 폭주 상태였다면 CPU 사용률이 즉시 안정화되는 경우가 많습니다.
MySQL 부하 및 느린 쿼리 점검
MySQL 프로세스 확인
mysqladmin processlist
DB 쿼리 폭주 여부 확인
ps aux | grep mysql
👉 특정 플러그인이 비효율 쿼리 루프를 유발하는 사례가 빈번합니다.
PHP-FPM / Apache 워커 폭주 확인
Apache 프로세스 개수
ps aux | grep httpd | wc -l
PHP-FPM 상태 점검
systemctl status php-fpm
👉 워커 수가 과도하면 동시 요청 과부하 상태일 가능성이 큽니다.
특정 페이지 또는 URL이 부하를 유발하는지 분석
요청 URL 통계 확인
awk '{print $7}' /usr/local/apache/logs/access_log | sort | uniq -c | sort -nr | head -20
👉 /wp-admin/admin-ajax.php 요청이 반복된다면 AJAX 호출, 통계 플러그인, 자동화 트래픽 가능성이 큽니다.
증상별 원인 요약 표
| PHP 프로세스 폭증 | 플러그인 과부하 / 봇 요청 |
| admin-ajax.php 반복 호출 | 통계 / 페이지 빌더 / 자동 요청 |
| 특정 IP 집중 요청 | 크롤러 / 공격성 트래픽 |
| MySQL CPU 과다 | DB 쿼리 비효율 |
| WP-Cron 과다 실행 | 예약 작업 문제 |
| 특정 URL 반복 호출 | SEO 스팸 / 자동화 요청 |
운영자용 원라인 진단 명령 세트
uptime
top -bn1 | head -20
ps aux --sort=-%cpu | head -10
ps aux | grep php | wc -l
awk '{print $1}' /usr/local/apache/logs/access_log | sort | uniq -c | sort -nr | head -10
awk '{print $7}' /usr/local/apache/logs/access_log | sort | uniq -c | sort -nr | head -10
추가 운영 팁 — 성능 안정화에 도움되는 설정
- Cloudflare 또는 CDN 캐시 활성화
- Redis / OPcache 적용으로 PHP 응답 속도 개선
- 불필요한 관리자 AJAX 호출 차단
- 로그 순환(Log Rotation) 설정으로 디스크 사용량 관리
- 워드프레스 자동 업데이트 시 리소스 사용 패턴 점검
자주 묻는 질문 (FAQ)
워드프레스 500 에러가 반복되는 가장 흔한 원인은 무엇인가요?
플러그인 충돌, PHP 메모리 부족, 과도한 트래픽, DB 쿼리 폭주가 주요 원인입니다.
서버 재부팅으로 해결되지만 다시 발생하는 이유는?
일시적으로 메모리가 초기화될 뿐, 근본 원인(플러그인, 봇, 예약 작업)은 유지되기 때문입니다.
admin-ajax.php 요청이 많으면 문제가 되나요?
과도한 AJAX 호출은 CPU와 PHP 워커를 빠르게 소모하며, 성능 저하로 이어질 수 있습니다.
PHP 프로세스 수는 어느 정도가 적절한가요?
서버 사양에 따라 다르지만, 수십 개 이상 지속되면 요청 폭주 상태를 점검하는 것이 안전합니다.
서버 과부하를 예방하는 가장 효과적인 방법은?
불필요한 플러그인 최소화, 캐시 적용, 트래픽 필터링, 정기적인 로그 분석이 장기적으로 안정성을 높입니다.
'IT 리뷰 > 블로그 SEO' 카테고리의 다른 글
| Bluehost VPS WHM 로그인 안 열릴 때(SSH 정상) 방화벽 타임아웃 해결 (0) | 2026.01.30 |
|---|---|
| 카페24 호스팅 HTTP 500 오류, 에러 로그 + 워드프레스 Redis/DB 문제 (0) | 2026.01.30 |
| 제로보드XE SSL 무료 인증서 HTTPS 적용 브라우저 경고 설치후기 (0) | 2026.01.22 |