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, a performance 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 para identificar gargalos de desempenho. Devel::NYTProf é um criador de perfil de código-fonte do Perl com muitos recursos que você pode usar para analisar o tempo de execução.
Versão do Perl
Faça upgrade regularmente para uma versão mais recente do Perl para aproveitar as melhorias de performance de execução. Faça o download da versão mais recente das versões de origem do CPAN Perl releases e confira a versão mínima necessária para a biblioteca nos requisitos do README.
Logging
O registro extensivo pode gerar penalidades significativas de tempo de execução e consumo de memória. Defina o nível de registro como WARN para qualquer código em produção.
Consulte o guia de registro para mais detalhes sobre como configurar registradores de resumo e 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 melhor performance do que Search, embora haja alguns 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 lote de payload
Para minimizar a sobrecarga de rede e o consumo de memória:
- Solicite apenas os campos específicos de 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
mutateem vez de enviar solicitações individuais para cada mudança.
Tempo limite HTTP
A biblioteca de cliente do 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 é 3600 segundos (1 hora), definido com base na
DEFAULT_HTTP_TIMEOUT constante em Constants.pm.
Defina um tempo limite de cliente personalizado se precisar aplicar um limite menor
no tempo máximo para uma chamada de API.
É possível definir o tempo limite para 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 a situação em que uma solicitação de execução longa falha e a única maneira de se recuperar é acionar a solicitação novamente desde o início.