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