# 결제 성능

결제 과정에서 성능이 느리다면, 이 가이드는 가장 일반적인 원인을 식별하고 해결하는 데 도움이 될 것입니다.

## WCPOS 결제가 작동하는 방식[​](#how-wcpos-checkout-works "WCPOS 결제가 작동하는 방식으로 직접 링크")

WCPOS 결제는 WooCommerce Order Pay 템플릿의 축소된 버전이 로드된 iframe/webview가 포함된 모달을 엽니다. 이는 고객이 온라인으로 주문을 결제할 때 보는 [고객 결제 페이지](https://woocommerce.com/document/managing-orders/paying-for-orders/#customer-payment-page-link)와 본질적으로 동일한 페이지입니다.

개발자 노트

WCPOS 플러그인 저장소에서 결제 템플릿을 볼 수 있습니다: [templates/payment.php](https://github.com/wcpos/woocommerce-pos/blob/main/templates/payment.php)

## 내장 최적화[​](#built-in-optimizations "내장 최적화으로 직접 링크")

WCPOS에는 결제 성능을 개선하기 위한 여러 최적화가 포함되어 있습니다:

* **축소된 템플릿** - 불필요한 테마 요소와 혼잡함을 제거합니다.
* **선택적 스크립트/스타일 로드** - 필수 스크립트 및 스타일만 로드됩니다.
* **최소 DOM 구조** - 결제 페이지의 복잡성을 줄입니다.

그러나 결제 게이트웨이가 제대로 작동하기 위해 필요한 일부 스크립트와 스타일은 완전히 비활성화할 수 없습니다.

## 일반적인 성능 문제[​](#common-performance-issues "일반적인 성능 문제으로 직접 링크")

### 1. 불필요한 스크립트와 스타일[​](#1-unnecessary-scripts-and-styles "1. 불필요한 스크립트와 스타일으로 직접 링크")

**문제:** 테마와 플러그인은 결제에 필요하지 않은 스크립트와 스타일을 추가하여 페이지 로드 시간을 느리게 만듭니다.

**해결책:** [Checkout Settings](/ko/pos/checkout/.md#checkout-settings-troubleshooting)을 사용하여 불필요한 리소스를 비활성화하세요:

1. 결제 모달에서 **Checkout Settings** 버튼을 클릭하세요.

2. 먼저 테마 스타일을 비활성화해 보세요:

   <!-- -->

   * wp-block-library
   * classic-theme-styles
   * 테마의 사용자 정의 스타일

3. 필수적이지 않은 WooCommerce 스크립트를 비활성화하세요:

   <!-- -->

   * wc-add-to-cart
   * selectWoo (게이트웨이에 필요하지 않은 경우)
   * html5shiv

![모든 스타일과 스크립트를 비활성화하는 양식](/img/disable-styles-and-scripts.png)

모든 스타일과 스크립트를 비활성화하는 양식

주의

결제 게이트웨이에 필요한 스크립트는 비활성화하지 마세요. 스크립트를 비활성화한 후 결제 방법이 작동하지 않으면 다시 활성화하세요.

### 2. 주문 생성 중 플러그인 간섭[​](#2-plugin-interference-during-order-creation "2. 주문 생성 중 플러그인 간섭으로 직접 링크")

**문제:** 주문 생성 프로세스에 훅을 걸어 놓은 플러그인은 상당한 지연을 초래할 수 있습니다. 예를 들어, Xero와 같은 회계 플러그인은 주문 데이터를 외부 서버로 전송하여 결제 프로세스를 차단할 수 있습니다.

**문제 해결 단계:**

1. **스테이징에서 테스트하기** - 스테이징 서버가 있다면 WooCommerce와 WCPOS를 제외한 모든 플러그인을 비활성화하세요.
2. **결제 속도 테스트** - 테스트 주문을 처리하고 성능을 기록하세요.
3. **플러그인을 점진적으로 활성화하기** - 성능이 급격히 개선되면 문제의 플러그인을 하나씩 다시 활성화하여 원인을 파악하세요.
4. **플러그인 개발자에게 문의** - 특정 플러그인으로 문제가 발생하는 경우, 최적화 조언을 위해 개발자에게 문의하세요.

**일반적으로 문제가 있는 플러그인 유형:**

* 회계/부기 통합 (Xero, QuickBooks)
* 주문 생성 시 트리거되는 이메일 마케팅 도구
* 재고 관리 시스템
* 복잡한 배송 계산기
* 제3자 분석 도구

### 3. 서버 자원 한계[​](#3-server-resource-limitations "3. 서버 자원 한계으로 직접 링크")

**문제:** 서버가 부하를 받고 있거나 자원이 부족하면 결제를 포함한 모든 작업이 느려집니다.

**모니터링 및 해결책:**

1. **서버 성능 모니터링:**

   * 결제 중 CPU 사용량
   * 메모리 소비량
   * 데이터베이스 쿼리 성능
   * 네트워크 지연

2. **서버 자원 최적화:**

   * PHP 메모리 한도 증가
   * 데이터베이스 쿼리 최적화
   * 캐싱 플러그인 사용 (하지만 호환성 테스트)
   * 호스팅 요금제 업그레이드 고려

3. **데이터베이스 최적화:**

   * 오래된 주문 데이터 정리
   * 데이터베이스 테이블 최적화
   * 불필요한 플러그인 및 테마 제거

## WordPress 개발자 모범 사례[​](#wordpress-developer-best-practices "WordPress 개발자 모범 사례으로 직접 링크")

개발자를 위한 팁

WordPress 개발자는 `wp_enqueue_scripts`를 사용하여 페이지에 스크립트와 스타일을 적절하게 추가해야 합니다. 불행히도 일부 플러그인 및 테마 개발자는 모범 사례를 따르지 않고 코드를 템플릿에 직접 삽입하여 이러한 리소스를 쉽게 제거할 수 없게 만듭니다.

결제 설정을 통해 비활성화할 수 없는 스크립트나 스타일에 문제가 있는 경우:

1. **개발자에게 문의** - 그들에게 WordPress 코딩 표준을 따르도록 요청하세요.
2. **자식 테마 사용** - 자식 테마에서 문제의 템플릿을 오버라이드하세요.
3. **사용자 정의 훅** - 결제 페이지에서 문제의 코드를 제거하기 위해 WordPress 훅을 사용하세요.

## 성능 테스트[​](#performance-testing "성능 테스트으로 직접 링크")

결제 성능 개선을 테스트하기 위해:

1. **기준 측정하기** - 변경 전 결제 소요 시간을 측정하세요.
2. **한 번에 한 가지 변경하기** - 이렇게 하면 어떤 변경이 가장 큰 영향을 미치는지 파악하는 데 도움이 됩니다.
3. **실제 결제 게이트웨이로 테스트하기** - 현금 결제만으로 테스트하지 마세요.
4. **다른 장치에서 테스트하기** - 모바일 장치는 서로 다른 성능 특성을 보일 수 있습니다.

## 빠른 해결책[​](#quick-wins "빠른 해결책으로 직접 링크")

다음은 가장 효과적인 성능 개선 사항입니다:

1. **테마 스타일 비활성화하기** - 큰 개선을 제공하는 경우가 많습니다.
2. **불필요한 WooCommerce 스크립트 제거하기** - JavaScript 실행 시간을 줄입니다.
3. **주문 생성 훅 감사하기** - 느린 플러그인을 식별하고 최적화하세요.
4. **이미지 최적화하기** - 결제에 있는 모든 이미지가 최적화되어 있는지 확인하세요.
5. **성능 모니터링 플러그인 사용하기** - 시간 경과에 따른 개선 사항을 추적하세요.

## 도움을 요청해야 할 때[​](#when-to-seek-help "도움을 요청해야 할 때으로 직접 링크")

다음의 경우 WCPOS 지원에 문의하세요:

* 결제 시간이 명백히 10초 이상 소요되는 경우
* 이 가이드를 따랐지만 여전히 문제가 있는 경우
* 특정 플러그인이 의심되지만 식별할 수 없는 경우
* 서버 자원 최적화에 도움이 필요한 경우

## 관련 문서[​](#related-documentation "관련 문서으로 직접 링크")

[결제 설정문제가 있는 스크립트 및 스타일 비활성화](/ko/pos/checkout/.md#checkout-settings-troubleshooting)

[결제 방법최적의 성능을 위한 결제 게이트웨이 구성](/ko/payment/.md)

[문제 해결일반적인 문제 해결 가이드](/ko/category/troubleshooting.md)
