Desempenho

A biblioteca de cliente para Perl facilita as interações com a API Google Ads, com o mínimo de configuração 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 desempenho específicas para Perl.

Criar um perfil do aplicativo

Crie um perfil do aplicativo para uso de CPU e uso da memória para identificar gargalos de desempenho. O Devel::NYTProf é um criador de perfil de código-fonte Perl com muitos 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 para se beneficiar das melhorias de desempenho do ambiente de execução. Faça o download da 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

A geração de registros extensiva pode resultar em 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 geradores de registros de resumo e de detalhes.

SearchStream x Search

A API Google Ads oferece dois métodos principais para recuperar objetos: Search (que usa paginação) e SearchStream (que usa streaming). SearchStream oferece um desempenho melhor do que Search, embora haja determinados cenários em que Search pode ser preferível.

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

Otimização e agrupamento de payload

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 alteração.

Tempo limite de HTTP

A biblioteca de cliente Perl oferece uma configuração para definir tempos limite de 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 mais curto 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 extremamente 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 que uma solicitação de longa duração falhe e a única maneira de se recuperar seja acionar a solicitação novamente desde o início.