주 콘텐츠로 건너뛰기
버전: 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 버전