Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:Rendimiento del despliegue

Última actualización: Sep 03, 2026

Consulte el rendimiento de un despliegue en ejecución, incluido el uso de CPU, memoria e hilos de su JobManager y los TaskManagers activos. Esto le permite identificar problemas a nivel de código, como inicializaciones lentas de clases o clases que consumen recursos en exceso.

Requisitos previos

Si comparte un espacio de trabajo con otras cuentas de Alibaba Cloud o usuarios de RAM, debe otorgarles los permisos necesarios para consultar el rendimiento del despliegue. Para obtener más información, consulte Development console authorization.

Limitaciones

  • La consulta del rendimiento de despliegue solo es compatible con despliegues ejecutados en Ververica Runtime (VVR) 4.0.11 o versiones posteriores.

  • Esta función solo está disponible para despliegues en ejecución. No es posible consultar el rendimiento de despliegues históricos.

Procedimiento

  1. Inicie sesión en la consola de Realtime Compute for Apache Flink.

  2. En la columna Actions del espacio de trabajo deseado, haga clic en Console.

  3. En el panel de navegación izquierdo, seleccione O&M > Deployments.

  4. Haga clic en el nombre del despliegue objetivo y luego en la pestaña Logs.

  5. Utilice las siguientes herramientas para consultar el rendimiento del despliegue.

    Herramienta

    Descripción

    Flame Graph

    El gráfico de llamas es una herramienta de visualización para identificar cuellos de botella de rendimiento. Muestra las pilas de llamadas en un formato apilado, lo que resalta visualmente los segmentos de código ejecutados con mayor frecuencia. Para obtener más información, consulte Gráficos de llamas.

    Un gráfico de llamas le ayuda a identificar rápidamente puntos críticos (funciones que consumen tiempo excesivo de CPU) y realizar optimizaciones específicas.

    Memoria

    Muestra los cambios de memoria en diferentes áreas de la Java Virtual Machine (JVM).

    Threads

    Permite consultar el estado de los hilos y seleccionar hilos específicos para muestreo y análisis.

    Thread Dump

    Muestra información sobre todos los hilos en un momento específico.

Uso de herramientas de análisis

Gráfico de llamas

Dado que un gráfico de llamas se genera a partir de muestras, es posible que no refleje la ejecución completa del programa. Utilícelo siempre junto con otras herramientas de análisis y adapte el análisis a su caso de uso específico. Por lo general, puede revisar los siguientes aspectos:

  • Tiempo de CPU: Las funciones que ocupan un área más ancha en la parte superior del gráfico suelen consumir más tiempo de CPU, lo que indica un posible problema de rendimiento.

  • Asignación de memoria: Consulte la memoria asignada por las distintas clases.

  • Contención de bloqueos: Compruebe si existe degradación del rendimiento causada por contención de bloqueos o interbloqueos.

  • ITimer: Consulte el consumo de CPU en todos los hilos dentro del mismo intervalo de tiempo.

En la pestaña Running TaskManagers del despliegue objetivo, haga clic en un TaskManager específico y seleccione la pestaña Debug. Aquí puede elegir un tipo de gráfico de llamas, establecer un intervalo de muestreo y hacer clic en Query para generar el gráfico.

  1. Comprenda la estructura de un gráfico de llamas

    Cada capa en un gráfico de llamas representa un nivel en la pila de llamadas. La capa inferior es el punto de entrada de la aplicación, mientras que las capas superiores representan llamadas a funciones más profundas.

  2. Enfóquese en la anchura y frecuencia de los marcos

    En un gráfico de llamas, la anchura de cada marco representa el porcentaje de tiempo de ejecución que tomó la función durante el muestreo. Un marco más ancho indica un mayor consumo de CPU y un posible cuello de botella. Un marco que aparece con frecuencia, aunque no sea el más ancho, indica una función llamada muchas veces, lo cual también puede causar un problema de rendimiento acumulativo.

  3. Analice la posición de los marcos

    La posición vertical de un marco indica el nivel en la pila de llamadas donde ocurre un cuello de botella. Un marco ancho en la parte inferior suele indicar un problema en las etapas iniciales o en la lógica principal del programa, mientras que un marco ancho en la parte superior podría señalar una función de procesamiento específica o una función de biblioteca.

  4. Analice en el contexto de su código

    Tras identificar un posible cuello de botella en el gráfico de llamas, analice el código correspondiente. Busque oportunidades de optimización en estas funciones críticas, como reducir iteraciones de bucles, mejorar estructuras de datos o minimizar la sincronización.

  5. Ejecute pruebas de rendimiento

    Después de optimizar el código, ejecute pruebas de rendimiento para verificar las mejoras. Compare los gráficos de llamas antes y después de sus cambios para confirmar que se resolvió el cuello de botella.

Nota

Si algunas partes del gráfico de llamas se muestran como "UnKnown", indica uso de métodos nativos, donde no se espera que aparezcan nombres de métodos Java. Para obtener más información, consulte Unknown.

Hilos

  1. Vaya a la pestaña Debug.

    • Rendimiento del JobManager

      En la pestaña Logs, haga clic en la pestaña JobManager y luego en Debug.

    • Rendimiento de los TaskManagers en ejecución

      En la pestaña Logs, haga clic en la pestaña Running TaskManagers, haga clic en un valor de la columna Path, ID y luego en Debug.

  2. En la pestaña Threads, busque el operador objetivo y haga clic en Sample en la columna Actions. Tras un periodo de muestreo, observe su pila de hilos. Por ejemplo, a continuación se muestra una pila de hilos para acceso a Gemini State.

    El cuadro de diálogo Single Thread Sampling muestra los resultados, incluido un gráfico de líneas de uso de CPU y una tabla de muestras de pila. Aquí puede consultar la pila de llamadas a métodos, como java.lang.Object.wait, en cada punto de muestreo. Haga clic en Pause Sampling para detener la recopilación de datos.

Volcado de hilos

  1. En la pestaña Logs, haga clic en la pestaña Running TaskManagers y luego en un valor de la columna Path, ID.

  2. En la pestaña Thread Dump, busque por nombre de operador y observe la pila de hilos para comprobar si está accediendo al estado. Una pila que muestra consistentemente llamadas en la ruta de acceso de Gemini o RocksDB indica esta situación.

    Para encontrar el nombre de un operador y usarlo en la pestaña Thread Dump, vaya a la página de detalles del TaskManager objetivo. Puede encontrar el nombre del operador objetivo en la pestaña Status.

    El panel Detail a la derecha muestra el plan de ejecución de cada operador, proporcionando nombres como TableSourceScan, Calc y Sink para su búsqueda en el volcado de hilos.

Documentos relacionados

  • El servicio inteligente de diagnóstico de despliegues le ayuda a supervisar el estado de sus despliegues y garantiza la estabilidad y fiabilidad de su negocio. Para obtener más información, consulte intelligent deployment diagnostics.

  • Puede mejorar el rendimiento de los despliegues de Flink SQL mediante la optimización de configuraciones y consultas. Para obtener más información, consulte High-performance Flink SQL optimization techniques.