Perl용 클라이언트 라이브러리를 사용하면 최소한의 구성으로 Google Ads API와 쉽게 상호작용할 수 있습니다. 그러나 성능은 라이브러리가 사용되고 통합되는 방식에 따라 크게 달라집니다.
이러한 권장사항의 대부분은 모든 언어에 적용할 수 있습니다. 이 가이드에서는 Perl에만 해당하는 문법을 설명합니다.
애플리케이션 프로파일링
CPU 및 메모리 사용량에 대해 애플리케이션을 프로파일링하여 성능 병목 현상을 식별합니다. Devel::NYTProf는 살펴볼 수 있는 강력하고 기능이 풍부한 Perl 소스 코드 프로파일러입니다.
Perl 버전
일반적으로 최신 Perl 버전은 전반적인 성능이 더 우수하므로 최신 Perl 버전으로 정기적으로 업그레이드하는 것이 좋습니다. 최신 Perl 버전은 여기를 참고하고 라이브러리의 최소 필수 버전은 이 페이지를 참고하세요.
로깅
광범위한 로깅은 상당한 실행 시간 패널티와 메모리 소비를 초래할 수 있습니다. 프로덕션 코드의 로깅 수준을 WARN
로 설정하는 것이 좋습니다.
요약 및 세부정보 로거의 구성에 관한 자세한 내용은 로깅 가이드를 참고하세요.
Search 또는 SearchStream 메서드
Google Ads API는 객체를 검색하는 두 가지 기본 메서드인 Search
(페이징 사용) 및 SearchStream
(스트리밍 사용)를 제공합니다.
SearchStream
는 Search
메서드보다 우수한 성능을 제공하지만 Search
메서드가 선호되는 특정 시나리오가 있을 수 있습니다.
두 가지 방법에 대한 자세한 내용은 여기를 참고하세요.
HTTP 시간 초과
Perl 클라이언트 라이브러리는 클라이언트 수준에서 HTTP 시간 제한을 설정하기 위한 노출 영역을 제공합니다.
my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
# Set HTTP timeout to 5 minutes.
http_timeout => 300
});
기본값은 Constants.pm의 DEFAULT_HTTP_TIMEOUT
설정에 따라 설정됩니다.
API 호출의 최대 시간에 더 짧은 제한을 적용해야 하는 경우 더 낮은 값을 설정합니다.
제한 시간을 2시간 이상으로 설정할 수 있지만 API는 여전히 매우 오래 실행되는 요청의 제한 시간이 초과되어 DEADLINE_EXCEEDED
오류를 반환할 수 있습니다.
이 오류가 발생하면 요청을 분할하고 청크를 동시에 실행합니다. 이렇게 하면 장기 실행 요청이 실패하고 복구하는 유일한 방법이 처음부터 요청을 다시 트리거하는 경우를 방지할 수 있습니다.