주 콘텐츠로 건너뛰기
버전: 1.x

서버 성능

서버 성능은 WCPOS 애플리케이션의 속도와 반응성에 직접적인 영향을 미칩니다. 이 가이드는 내장된 메트릭과 문제 해결 기술을 사용하여 서버 성능을 모니터링, 진단 및 최적화하는 데 도움을 줍니다.

서버 메트릭 이해하기

WCPOS는 데이터 가져오기 작업(제품, 주문, 고객 등)마다 서버 성능 메트릭을 자동으로 수집합니다. 이러한 메트릭은 로그 화면에서 확인할 수 있습니다.

일반적인 서버 메트릭

{
"total": "24692",
"execution_time": "76.64 ms",
"server_load": "[15.20605469,16.16357422,16.76806641]"
}

세부 사항:

  • total - 처리된 레코드 수 (24,692 제품 ID)
  • execution_time - 작업 완료에 걸린 시간 (76.64 밀리초)
  • server_load - 1분, 5분, 15분 동안의 서버 부하 평균

서버 부하 설명

서버 부하는 서로 다른 기간 동안의 평균 시스템 부하를 나타냅니다:

  • 첫 번째 값 - 1분 평균 (15.21)
  • 두 번째 값 - 5분 평균 (16.16)
  • 세 번째 값 - 15분 평균 (16.77)

부하 해석

서버 부하 값은 오해를 불러일으킬 수 있으며 신중하게 해석해야 합니다:

부하 값은 오해의 소지가 있을 수 있습니다

서버 부하 평균이 항상 성능과 직접적으로 연관되지는 않습니다. 부하 값이 높은 서버(15+)라도 충분한 리소스가 있고 잘 최적화되어 있다면 여전히 매우 반응성이 좋을 수 있습니다. 부하 값보다 실행 시간에 초점을 맞추세요.

일반 지침:

  • CPU 코어에 대한 부하 - 8코어 서버에서 8.0의 부하는 완전 활용을 의미합니다.
  • 지속적인 부하 vs. 일시적인 부하 - 짧은 갑작스러운 증가가 정상적이며, 지속적인 높은 부하는 문제를 나타낼 수 있습니다.
  • 성능이 더 중요합니다 - 높은 부하를 가진 반응적인 서버가 낮은 부하를 가진 느린 서버보다 낫습니다.

주시해야 할 사항:

  • 시간 경과에 따른 실행 시간 증가
  • 설명 없이 지속적으로 증가하는 부하
  • 높은 부하와 느린 실행 시간이 함께 발생

성능 벤치마크

실행 시간 지침

작업양호수용 가능불량치명적
제품 가져오기< 100ms100-500ms500ms-2s> 2s
주문 생성< 200ms200-800ms800ms-3s> 3s

레코드 수 고려사항

실행 시간은 레코드 수에 따라 합리적으로 비례해야 합니다:

// Good scaling examples
{"total": "100", "execution_time": "15.2 ms"} // 0.15ms per record
{"total": "1000", "execution_time": "89.4 ms"} // 0.09ms per record
{"total": "10000", "execution_time": "234.1 ms"} // 0.02ms per record

// Poor scaling examples
{"total": "100", "execution_time": "500.0 ms"} // 5.0ms per record
{"total": "1000", "execution_time": "8000.0 ms"} // 8.0ms per record

성능 문제 진단

1단계: 로그 모니터링

  1. 탐색 드로어에서 로그 열기
  2. 느린 작업 수행 (제품 동기화, 주문 생성 등)
  3. 해당 로그 항목 찾기
  4. 메트릭을 보려면 컨텍스트 확장

2단계: 메트릭 분석

높은 실행 시간 + 높은 서버 부하 = 서버 리소스 문제

{
"total": "5000",
"execution_time": "3500.0 ms",
"server_load": "[12.45, 11.23, 10.87]"
}

해결책: 서버 리소스 늘리기 또는 서버 구성 최적화

높은 실행 시간 + 정상적인 서버 부하 = 플러그인/데이터베이스 문제

{
"total": "1000",
"execution_time": "2800.0 ms",
"server_load": "[1.23, 1.45, 1.67]"
}

해결책: 느린 플러그인 식별 또는 데이터베이스 쿼리 최적화

정상 실행 시간 + 높은 서버 부하 = 일반적인 서버 과부하

{
"total": "2000",
"execution_time": "150.0 ms",
"server_load": "[8.90, 9.12, 8.45]"
}

해결책: 다른 프로세스의 서버 부하 줄이기 또는 리소스 업그레이드

일반적인 성능 문제

1. 서버 리소스 부족

증상:

  • 대부분의 서버에서 지속적으로 높은 서버 부하 (> 4.0)
  • 모든 작업에서 긴 실행 시간
  • 잦은 타임아웃

해결책:

  • CPU 업그레이드 - 더 많은 코어가 동시 요청을 더 잘 처리합니다.
  • RAM 증가 - 디스크 I/O를 줄이고 캐싱을 향상시킵니다.
  • SSD 저장소 사용 - 데이터베이스 성능을 극적으로 향상시킵니다.
  • PHP 설정 최적화 - memory_limit, max_execution_time 늘리기

2. 느린 데이터베이스 쿼리

증상:

  • 정상적인 서버 부하에서 높은 실행 시간
  • 특히 느린 제품/주문 가져오기
  • 로그에서 데이터베이스 관련 오류 코드

해결책:

  • WooCommerce HPOS 활성화 - 데이터베이스 성능 향상의 가장 큰 개선.
  • 객체 캐싱 사용 - 호스트에서 제공되는 경우 Redis 또는 Memcached 사용.
  • WordPress 업데이트 유지 - 핵심 업데이트는 종종 데이터베이스 최적화를 포함합니다.
  • 게시물 수정 제한 - wp-config.php에 define('WP_POST_REVISIONS', 3); 추가하기

3. 플러그인 간섭

증상:

  • 플러그인 업데이트 후 갑작스러운 성능 저하
  • 특정 작업이 다른 작업보다 훨씬 느림
  • 정상적인 서버 부하에서 높은 실행 시간

문제 해결:

  1. 스테이징에서 테스트 - WooCommerce와 WCPOS를 제외한 모든 플러그인 비활성화
  2. 기초 측정 - 최소한의 플러그인으로 실행 시간 기록
  3. 점진적으로 활성화 - 문제의 원인을 식별하기 위해 플러그인 하나씩 추가
  4. 플러그인 훅 확인 - WooCommerce 작업에 후킹하는 플러그인 찾기

문제의 소지가 있는 플러그인:

  • 제품 작업 중 무거운 SEO 플러그인
  • 복잡한 재고 관리 시스템
  • 실시간 분석/추적 플러그인
  • 잘못 작성된 맞춤형 플러그인

4. WordPress/WooCommerce 구성

증상:

  • 일관되지 않은 성능
  • 로그에서 메모리 관련 오류
  • 느린 관리자 대시보드

최적화 체크리스트:

  • PHP 버전 - 더 나은 성능을 위해 PHP 8.0 이상 사용
  • WooCommerce HPOS - 고성능 주문 저장소 활성화 (아래 참조)
  • WordPress 캐싱 - 가능하면 객체 캐싱 활성화
  • WooCommerce 설정 - 제품 이미지 크기 최적화

WooCommerce 고성능 주문 저장소 (HPOS)

가장 큰 성능 개선

HPOS는 WooCommerce를 위한 가장 중요한 성능 개선 중 하나입니다. 이것은 주문을 WordPress 게시물 테이블 대신 사용자 정의 데이터베이스 테이블에 저장하여 많은 주문이 있는 상점의 성능을 극적으로 향상시킵니다.

장점:

  • 더 빠른 주문 쿼리 - 최적화된 데이터베이스 구조에 저장된 주문
  • 데이터베이스 부하 감소 - 게시물/페이지와 분리된 주문
  • 더 나은 확장성 - 많은 수의 주문을 효율적으로 처리
  • 향상된 관리자 성능 - 더 빠른 주문 관리 화면

활성화 방법:

  1. WooCommerce > 설정 > 고급 > 기능으로 이동
  2. "고성능 주문 저장소" 활성화
  3. 마이그레이션 프로세스 따르기

자세히 알아보기:

서버 모니터링 최선의 방법

1. 정기 성능 점검

  • 주간 검토 - 성능 추세를 위해 로그 확인
  • 기초 측정 - 정상 실행 시간을 기록
  • 피크 타임 모니터링 - 고트래픽 기간 동안 모니터링

2. 성능 알림 설정

다음 경고 신호를 모니터링하세요:

  • 실행 시간이 지속적으로 1000ms 초과
  • 서버 부하가 장기간 5.0 초과
  • 로그에서 잦은 타임아웃 오류

3. 용량 계획

성장 추세 추적:

  • 레코드 수 성장 - 제품, 주문, 고객
  • 성능 저하 - 실행 시간이 어떻게 증가하는지
  • 리소스 활용 - CPU, 메모리, 디스크 사용량

서버 최적화 전략

1. WordPress/WooCommerce 모범 사례

HPOS 활성화:

  • WooCommerce에 가장 큰 영향을 미치는 성능 개선
  • 자세한 내용은 위의 HPOS 섹션 참조

PHP 구성 (호스트에 문의):

memory_limit = 512M
max_execution_time = 300
max_input_vars = 3000

WordPress 구성:

// In wp-config.php - limit post revisions
define('WP_POST_REVISIONS', 3);

// Enable WordPress debug logging if needed
define('WP_DEBUG_LOG', true);

2. 호스팅 수준 최적화

객체 캐싱:

  • 호스트에 Redis 또는 Memcached 사용 가능성 문의
  • 많은 관리형 WordPress 호스트가 이를 자동으로 제공합니다.

PHP 버전:

  • 상당한 성능 향상을 위해 PHP 8.0 이상 사용
  • 대부분의 호스트가 PHP 버전 전환을 쉽게 허용합니다.

서버 리소스:

  • 충분한 RAM 확보 (최소 1GB, 가능하면 2GB 이상)
  • SSD 저장소는 전통적인 드라이브보다 데이터베이스 성능을 훨씬 향상시킵니다.

도움을 요청해야 하는 시점

다음 경우에는 호스팅 제공업체나 WordPress 개발자에게 문의하세요:

  • 서버 부하가 지속적으로 8.0 초과 최적화 노력에도 불구하고
  • 실행 시간이 5000ms 초과 단순 작업에 대해
  • 로그에 메모리 오류가 자주 나타나는 경우
  • 데이터베이스 쿼리가 지속적으로 2초 이상 걸리는 경우

다음 정보를 제공하십시오:

  • 로그의 서버 메트릭
  • 활성 플러그인 목록
  • 서버 사양 (CPU, RAM, 저장소 유형)
  • WordPress 및 WooCommerce 버전

관련 문서