La biblioteca cliente para Perl facilita las interacciones con la API de Google Ads, con una configuración mínima de tu parte. Sin embargo, el rendimiento depende en gran medida de cómo se use y se integre la biblioteca.
La mayoría de estas prácticas recomendadas se aplican a todos los idiomas. En esta guía, se analizan las funciones específicas de Perl.
Crea un perfil de tu aplicación
Genera perfiles de tu aplicación para el uso de CPU y memoria para identificar cuellos de botella en el rendimiento. Devel::NYTProf es un generador de perfiles de código fuente de Perl potente y rico en funciones que puedes explorar.
Versión de Perl
Es recomendable actualizar periódicamente a una versión más reciente de Perl, ya que suele brindar un mejor rendimiento general. Consulta aquí para obtener la versión más reciente de Perl y la versión mínima requerida para la biblioteca en esta página.
Logging
El registro extenso puede generar penalizaciones significativas en el tiempo de ejecución y en el consumo de memoria. Te recomendamos que configures el nivel de registro en WARN
para cualquier código en producción.
Consulta la guía de registro para obtener más detalles sobre la configuración de los registradores de resumen y detalles.
Método Search o SearchStream
La API de Google Ads proporciona dos métodos principales para recuperar objetos: Search
(que usa paginación) y SearchStream
(que usa transmisión).
SearchStream
proporciona un mejor rendimiento que el método Search
, pero es posible que haya ciertas situaciones en las que se prefiera el método Search
.
Puedes obtener más información sobre los dos métodos aquí.
Tiempo de espera de HTTP
La biblioteca cliente de Perl proporciona una plataforma para establecer tiempos de espera de HTTP a nivel del cliente:
my $api_client = Google::Ads::GoogleAds::GoogleAdsClient->new({
# Set HTTP timeout to 5 minutes.
http_timeout => 300
});
El valor predeterminado se establece en función de la configuración de DEFAULT_HTTP_TIMEOUT
en Constants.pm.
Establece un valor más bajo si necesitas aplicar un límite más corto en el tiempo máximo de una llamada a la API.
Puedes establecer el tiempo de espera en 2 horas o más, pero es posible que la API agote el tiempo de espera de las solicitudes de larga duración y muestre un error DEADLINE_EXCEEDED
.
Si encuentras ese error, divide la solicitud y ejecuta los fragmentos en
paralelo. Esto evita la situación en la que falla una solicitud de larga duración y
la única forma de recuperarse es volver a activar la solicitud desde el principio.