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
mutateem 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.