Descripción general de Cloud Profiler

Conocer el rendimiento de los sistemas de producción es muy difícil. Si intentas medir el rendimiento en entornos de prueba, normalmente no se replicarán las presiones que sufre un sistema de producción. A veces, es posible realizar microbenchmarking en partes de tu aplicación, pero normalmente no se consigue replicar la carga de trabajo y el comportamiento de un sistema de producción.

La creación de perfiles continua de los sistemas de producción es una forma eficaz de descubrir dónde se consumen recursos como los ciclos de CPU y la memoria mientras un servicio opera en su entorno de trabajo. Sin embargo, la creación de perfiles añade una carga adicional al sistema de producción: para que sea una forma aceptable de descubrir patrones de consumo de recursos, la carga adicional de la creación de perfiles debe ser pequeña.

Cloud Profiler es un generador de perfiles estadístico de baja sobrecarga que recoge continuamente información sobre el uso de la CPU y la asignación de memoria de tus aplicaciones en producción. Atribuye esa información al código fuente que la ha generado, lo que te ayuda a identificar las partes de tu aplicación que consumen más recursos y a conocer las características de rendimiento de tus aplicaciones.

Tipos de elaboración de perfiles disponibles

Cloud Profiler admite diferentes tipos de creación de perfiles en función del lenguaje en el que se escriba un programa. En la siguiente tabla se resumen los tipos de perfil admitidos por idioma:

Tipo de perfil Go Java Node.js Python
Tiempo de CPU YS Y
Montículo YS Y
Montículo asignado Y
Contención Y
Conversaciones Y
Tiempo real Y SY

Para obtener información completa sobre los requisitos de idioma y las restricciones, consulta la página de instrucciones del idioma en cuestión. Para obtener más información sobre estos tipos de perfiles, consulta Conceptos de creación de perfiles.

Configuraciones admitidas

Cuando instrumentas tu aplicación para capturar datos de perfil, incluyes un agente de creación de perfiles específico del lenguaje. En la siguiente tabla se resumen los entornos admitidos:

Entornos Go Java Node.js Python
Compute Engine YSSY
Google Kubernetes Engine YSSY
Entorno flexible de App Engine YSSY
Entorno estándar de App Engine YSSY
Dataproc Y
Dataflow YY
Fuera de Google Cloud YSSY

En la siguiente tabla se resumen los sistemas operativos compatibles:

Sistemas operativos Go Java Node.js Python
Implementación de Linux
glibc de la biblioteca estándar de C.
YS SY
Implementación de Linux
musl de la biblioteca estándar de C.
YY (alfa) YY (alfa)

Impacto en el rendimiento

Cloud Profiler crea un único perfil recogiendo datos de creación de perfiles, normalmente durante 10 segundos, cada minuto para una sola instancia del servicio configurado en una sola zona de Compute Engine. Por ejemplo, si tu servicio de GKE ejecuta 10 réplicas de un pod, en un periodo de 10 minutos se crearán aproximadamente 10 perfiles y cada pod se perfilará aproximadamente una vez. El periodo de creación de perfiles se aleatoriza, por lo que hay variación. Consulta más información sobre la recogida de datos de perfiles.

La sobrecarga de la creación de perfiles de asignación de CPU y montículo en el momento de la recogida de datos es inferior al 5 %. La sobrecarga, amortizada durante el tiempo de ejecución y en varias réplicas de un servicio, suele ser inferior al 0,5 %, lo que la convierte en una opción asequible para la creación de perfiles siempre activos en sistemas de producción.

Componentes

Cloud Profiler consta del agente de creación de perfiles, que recoge los datos, y de una interfaz de consola en Google Cloud, que te permite ver y analizar los datos recogidos por el agente.

Agente de creación de perfiles

Instalas el agente en las máquinas virtuales en las que se ejecuta tu aplicación. El agente suele ser una biblioteca que se adjunta a tu aplicación cuando la ejecutas. El agente recoge datos de perfil mientras se ejecuta la aplicación.

Para obtener información sobre cómo ejecutar el agente de Cloud Profiler, consulta los siguientes artículos:

Interfaz de Profiler

Una vez que el agente haya recogido algunos datos de perfil, puede usar la interfaz de Profiler para ver cómo se correlacionan las estadísticas de uso de la CPU y la memoria con las áreas de su aplicación.

Interfaz de Cloud Profiler

Los datos del perfil se conservan durante 30 días, por lo que puede analizar los datos de rendimiento de periodos de hasta los últimos 30 días. Los perfiles se pueden descargar para almacenarlos a largo plazo.

Cuotas y límites

Para obtener información sobre cómo ver y gestionar tus cuotas de Profiler, consulta Cuotas y límites.

Seguridad de los datos

Cloud Profiler es un servicio compatible con Controles de Servicio de VPC. Para obtener más información, consulta la documentación de Controles de Servicio de VPC.