Desempenho

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

A maioria das práticas recomendadas gerais se aplica a todos os idiomas. Esta página aborda orientações de performance específicas para Perl.

Criar um perfil do aplicativo

Crie um perfil do aplicativo para uso de CPU e uso da memória e identifique gargalos de desempenho. O Devel::NYTProf é um criador de perfil de código-fonte Perl repleto de recursos que pode ser usado para analisar o tempo de execução.

Versão do Perl

Faça upgrade regularmente para uma versão mais recente do Perl e aproveite as melhorias de desempenho do ambiente de execução. Baixe a versão mais recente das versões de origem do CPAN Perl e verifique a versão mínima necessária para a biblioteca nos requisitos do README.

Logging

O registro extenso pode gerar penalidades significativas de tempo de execução e consumo de memória. Defina 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 como configurar loggers de resumo e detalhados.

SearchStream x Pesquisa

A API Google Ads oferece 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 Search, mas há determinados cenários em que o Search pode ser preferível.

Para uma comparação detalhada dos dois métodos, consulte o guia de streaming.

Otimização e agrupamento de payloads

Para minimizar a sobrecarga de rede e o consumo de memória:

  • Solicite apenas os campos específicos que seu aplicativo precisa nas consultas da linguagem de consulta do Google Ads (GAQL).
  • Agrupe várias operações de mutação em uma única solicitação mutate em vez de enviar solicitações individuais para cada mudança.

Tempo limite de HTTP

A biblioteca de cliente Perl oferece uma configuração para configurar tempos limite HTTP no nível do cliente:

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

O valor padrão é de 3600 segundos (1 hora), definido com base na constante DEFAULT_HTTP_TIMEOUT em Constants.pm. Defina um tempo limite personalizado do cliente se precisar aplicar um limite menor ao tempo máximo de uma chamada de API.

É possível definir o tempo limite como duas horas ou mais, mas a API ainda pode atingir o tempo limite de solicitações de execução muito longa e retornar um erro DEADLINE_EXCEEDED. Se você encontrar esse erro, divida a solicitação em partes menores e execute-as em paralelo. Isso evita a situação em que uma solicitação de longa duração falha e a única maneira de se recuperar é acionar a solicitação novamente desde o início.