Rendimiento

La biblioteca cliente de 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 las prácticas recomendadas generales se aplican a todos los lenguajes. En esta página, se incluye orientación sobre el rendimiento específica para Perl.

Cómo generar perfiles 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 con muchas funciones que puedes usar para analizar el tiempo de ejecución.

Versión de Perl

Actualiza periódicamente a una versión más reciente de Perl para aprovechar las mejoras en el rendimiento del tiempo de ejecución. Descarga la versión más reciente de las versiones de origen de CPAN Perl y verifica la versión mínima requerida para la biblioteca en los requisitos de README.

Logging

El registro extenso puede generar penalizaciones significativas en el tiempo de ejecución y el consumo de memoria. Establece el nivel de registro en WARN para cualquier código en producción.

Consulta la guía de Logging para obtener más detalles sobre la configuración de registradores de resumen y detalles.

SearchStream en comparación con Search

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 Search, aunque hay ciertas situaciones en las que se puede preferir Search.

Para obtener una comparación detallada de los dos métodos, consulta la guía de Streaming.

Optimización y procesamiento por lotes de cargas útiles

Para minimizar la sobrecarga de la red y el consumo de memoria, haz lo siguiente:

  • Solicita solo los campos específicos que necesita tu aplicación en tus consultas del lenguaje de consultas de Google Ads (GAQL).
  • Agrupa varias operaciones de mutación en una sola solicitud mutate en lugar de enviar solicitudes individuales para cada cambio.

Tiempo de espera de HTTP

La biblioteca cliente de Perl proporciona una configuración para configurar los tiempos de espera de HTTP a nivel del cliente:

my $api_client = Google::Ads::GoogleAds::Client->new({
  # Set HTTP timeout to 5 minutes (300 seconds).
  http_timeout => 300,
});

El valor predeterminado es 3600 segundos (1 hora), establecido según la DEFAULT_HTTP_TIMEOUT constante en Constants.pm. Establece un tiempo de espera personalizado del cliente si necesitas aplicar un límite más corto en el tiempo máximo para una llamada a la API.

Puedes establecer el tiempo de espera en 2 horas o más, pero es posible que la API aún agote el tiempo de espera de las solicitudes de ejecución prolongada y muestre un error DEADLINE_EXCEEDED. Si se produce este error, divide la solicitud en fragmentos más pequeños y ejecútalos en paralelo. De esta manera, se evita la situación en la que falla una solicitud de ejecución prolongada y la única forma de recuperarla es volver a activarla desde el principio.