Rendimiento

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.