Desempenho

A biblioteca cliente para Perl facilita as interações com a Google Ads API oferecendo pouca configuração da sua parte. No entanto, o desempenho depende muito da forma como a biblioteca é usada e integrada.

A maioria destas práticas recomendadas é aplicável a todos os idiomas. Este guia aborda os específicos para Perl.

Como criar o perfil do seu aplicativo

Criar perfil do aplicativo em relação ao uso de CPU e memória para identificar gargalos de desempenho. O Devel::NYTProf é um criador de perfil de código-fonte Perl poderoso e repleto de recursos que você pode explorar.

Versão Perl

É uma prática recomendada fazer upgrade regularmente para uma versão mais recente do Perl, porque ela geralmente vem com um desempenho geral melhor. Consulte aqui a versão mais recente do Perl e a versão mínima necessária para a biblioteca nesta página.

Geração de registros

A geração de registros extensa pode gerar penalidades no tempo de execução e consumo de memória significativas. Recomendamos definir o nível de geração de registros como WARN para qualquer código em produção.

Consulte o Guia de geração de registros para mais detalhes sobre a configuração dos loggers de resumo e de detalhes.

Método Search ou SearchStream

A API Google Ads oferece dois métodos principais para recuperar objetos: Search (que usa paginação) e SearchStream (que usa streaming). SearchStream oferece melhor desempenho em relação ao método Search, mas pode haver determinados cenários em que o método Search é preferível.

Saiba mais sobre os dois métodos aqui.

Tempo limite do HTTP

A biblioteca de cliente Perl fornece uma plataforma para definir tempos limite HTTP no nível do cliente:

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

O valor padrão é definido com base na configuração DEFAULT_HTTP_TIMEOUT em Constants.pm. Defina um valor menor se precisar aplicar um limite menor para o tempo máximo de uma chamada de API.

É possível definir o tempo limite como duas horas ou mais, mas a API ainda pode expirar solicitações extremamente longas e retornar um erro DEADLINE_EXCEEDED. Se você encontrar esse erro, divida a solicitação e execute os blocos em paralelo. Isso evita a situação em que uma solicitação de longa duração falha e a única maneira de recuperar é acioná-la novamente desde o início.