A biblioteca cliente para Perl facilita as interações com a API do Google Ads com o mínimo configuração da sua parte. No entanto, o desempenho depende muito da forma é usada e integrada.
A maioria destas práticas recomendadas são aplicáveis a todos os idiomas. Este guia aborda os modelos específicas de Perl.
Como criar o perfil do seu aplicativo
Criar perfil do aplicativo em relação ao uso de CPU e memória para identificar o desempenho e gargalos. O Devel::NYTProf é um criador de perfil de código-fonte Perl repleto de recursos que você pode explorar.
Versão Perl
É uma boa prática fazer upgrade regularmente para uma versão mais recente do Perl, pois ela resulta em um desempenho geral melhor. Clique aqui para versão mais recente do Perl e a versão mínima necessária para a biblioteca neste .
Logging
A geração de registros extensiva pode gerar penalidades significativas no tempo de execução e memória
e consumo. Recomendamos definir o nível de geração de registros como WARN
para qualquer código em
a produção.
Consulte o Guia de geração de registros para mais detalhes sobre a configuração dos loggers de resumo e de detalhes.
Método Search ou SearchStream
A API do Google Ads fornece 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 método Search
, mas pode
certos cenários em que o método Search
pode ser preferível.
Saiba mais sobre os dois métodos aqui.
Tempo limite do HTTP
A biblioteca de cliente Perl fornece uma plataforma para definir tempos limite de HTTP no cliente nível:
my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
# Set HTTP timeout to 5 minutes.
http_timeout => 300
});
O valor padrão é definido com base na configuração DEFAULT_HTTP_TIMEOUT
no
Constants.pm (link em inglês).
Defina um valor mais baixo se você
precisa aplicar um limite menor para o tempo máximo de uma chamada de API.
Você pode definir o tempo limite como duas horas ou mais, mas a API ainda poderá expirar
solicitações de execução extremamente longa e retornam uma
DEADLINE_EXCEEDED
.
Se você encontrar esse erro, divida a solicitação e execute os blocos em
paralelo; isso evita a situação em que uma solicitação de longa duração falha e
a única maneira de fazer a recuperação é acionar a solicitação novamente desde o início.