성능

Perl용 클라이언트 라이브러리를 사용하면 최소한의 구성만으로 Google Ads API와의 상호작용이 쉬워집니다. 그러나 성능은 라이브러리 사용 및 통합 방법에 따라 크게 달라집니다.

대부분의 권장사항은 모든 언어에 적용할 수 있습니다. 이 가이드에서는 Perl과 관련된 내용을 살펴봅니다.

애플리케이션 프로파일링

CPU 및 메모리 사용량을 모두 프로파일링하여 성능 병목 현상을 식별합니다. Devel::NYTProf는 사용자가 탐색할 수 있는 강력한 기능이 풍부한 Perl 소스 코드 프로파일러입니다.

Perl 버전

일반적으로 전반적인 성능이 향상되는 최신 Perl 버전으로 정기적으로 업그레이드하는 것이 좋습니다. 이 페이지에서 최신 Perl 버전과 라이브러리에 필요한 최소 버전은 여기를 참조하세요.

로깅

광범위한 로깅은 상당한 실행 시간 페널티와 메모리 소비를 초래할 수 있습니다. 프로덕션 단계의 모든 코드에 대해 로깅 수준을 WARN로 설정하는 것이 좋습니다.

요약 및 세부정보 로거의 구성에 대한 자세한 내용은 Logging 가이드를 참조하세요.

Search 또는 SearchStream 메서드

Google Ads API에서는 객체를 가져오는 두 가지 기본 메서드인 Search (페이지로 나누기 사용) 및 SearchStream (스트리밍 사용)을 제공합니다. SearchStreamSearch 메서드보다 더 나은 성능을 제공하지만 Search 메서드가 선호될 수 있는 특정 시나리오가 있을 수 있습니다.

여기에서 두 가지 방법에 대해 자세히 알아볼 수 있습니다.

HTTP 제한 시간

Perl 클라이언트 라이브러리는 클라이언트 수준에서 HTTP 제한 시간을 설정하기 위한 노출 영역을 제공합니다.

my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
  # Set HTTP timeout to 5 minutes.
  http_timeout   => 300
});

기본값은 Constants.pmDEFAULT_HTTP_TIMEOUT 설정에 따라 설정됩니다. API 호출의 최대 시간에 더 짧은 제한을 적용해야 하는 경우 더 낮은 값을 설정하세요.

제한 시간을 2시간 이상으로 설정할 수 있지만 API가 여전히 매우 오래 실행되는 요청을 타임아웃하고 DEADLINE_EXCEEDED 오류를 반환할 수 있습니다. 이 오류가 발생하면 요청을 분할하고 청크를 동시에 실행합니다. 이렇게 하면 장기 실행 요청이 실패하는 상황을 방지할 수 있으며, 복구할 수 있는 유일한 방법은 요청을 처음부터 다시 트리거하는 것입니다.