Performance

Perl용 클라이언트 라이브러리를 사용하면 최소한의 구성으로 Google Ads API와 쉽게 상호작용할 수 있습니다. 하지만 성능은 라이브러리가 사용되고 통합되는 방식에 따라 크게 달라집니다.

대부분의 일반 권장사항은 모든 언어에 적용됩니다. 이 페이지에서는 Perl 관련 성능 안내를 다룹니다.

애플리케이션 프로파일링

CPU 및 메모리 사용량에 대해 애플리케이션을 프로파일링하여 성능 병목 현상을 식별합니다. Devel::NYTProf는 실행 시간을 분석하는 데 사용할 수 있는 기능이 풍부한 Perl 소스 코드 프로파일러입니다.

Perl 버전

런타임 성능 개선의 이점을 누리려면 최신 Perl 버전으로 정기적으로 업그레이드하세요. CPAN Perl 소스 출시 버전에서 최신 출시 버전을 다운로드하고 README 요구사항에서 라이브러리에 필요한 최소 버전을 확인합니다.

로깅

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

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

SearchStream과 Search 비교

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

두 방법을 자세히 비교하려면 스트리밍 가이드를 참고하세요.

페이로드 최적화 및 일괄 처리

네트워크 오버헤드와 메모리 소비를 최소화하려면 다음 단계를 따르세요.

  • Google Ads 쿼리 언어 (GAQL) 쿼리에서 애플리케이션에 필요한 특정 필드만 요청합니다.
  • 각 변경사항에 대해 개별 요청을 전송하는 대신 여러 변이 작업을 단일 mutate 요청으로 그룹화합니다.

HTTP 제한 시간

Perl 클라이언트 라이브러리는 클라이언트 수준에서 HTTP 제한 시간을 구성하는 설정을 제공합니다.

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

기본값은 Constants.pm의 DEFAULT_HTTP_TIMEOUT 상수를 기반으로 설정된 3600초 (1시간)입니다. API 호출의 최대 시간에 더 짧은 제한을 적용해야 하는 경우 맞춤 클라이언트 제한 시간을 설정하세요.

제한 시간을 2시간 이상으로 설정할 수 있지만 API는 여전히 매우 오래 실행되는 요청의 제한 시간을 초과하고 DEADLINE_EXCEEDED 오류를 반환할 수 있습니다. 이 오류가 발생하면 요청을 더 작은 청크로 나누어 동시에 실행하세요. 이렇게 하면 장기 실행 요청이 실패하고 복구하는 유일한 방법이 처음부터 요청을 다시 트리거하는 상황을 방지할 수 있습니다.