Desempenho

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

A maioria destas práticas recomendadas são aplicáveis a todos os idiomas. Este guia aborda os modelos específicas de Perl.

Como criar o perfil do seu aplicativo

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

Versão Perl

É uma boa prática fazer upgrade regularmente para uma versão mais recente do Perl, pois ela resulta em um desempenho geral melhor. Clique aqui para versão mais recente do Perl e a versão mínima necessária para a biblioteca neste .

Logging

A geração de registros extensiva pode gerar penalidades significativas no tempo de execução e memória e consumo. Recomendamos definir o nível de geração de registros como WARN para qualquer código em a 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 do Google Ads fornece dois métodos principais para recuperar objetos: Search (que usa paginação) e SearchStream (que usa streaming). O SearchStream oferece um desempenho melhor do que o método Search, mas pode certos cenários em que o método Search pode ser 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 de HTTP no cliente nível:

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 no Constants.pm (link em inglês). Defina um valor mais baixo se você precisa aplicar um limite menor para o tempo máximo de uma chamada de API.

Você pode definir o tempo limite como duas horas ou mais, mas a API ainda poderá expirar solicitações de execução extremamente longa e retornam uma 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 fazer a recuperação é acionar a solicitação novamente desde o início.