Soluciona problemas de demora en trabajos de transmisión
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En el caso de las canalizaciones de transmisión, un rezagado se define como un elemento de trabajo con las siguientes características:
Evita que la marca de agua avance durante un período significativo (del orden de minutos).
Se procesa durante mucho tiempo en relación con otros elementos de trabajo de la misma etapa.
Los rezagados bloquean la marca de agua y agregan latencia al trabajo. Si el retraso es aceptable para tu caso de uso, no es necesario que realices ninguna acción. Si deseas reducir la latencia de un trabajo, comienza por abordar los rezagados.
Visualiza los rezagados de transmisión en la consola de Google Cloud
Después de iniciar un trabajo de Dataflow, puedes usar la Google Cloud consola
para ver los retrasos detectados.
En la página de detalles del trabajo, haz clic en la pestaña Detalles de la ejecución.
En la lista Graph view, selecciona Stage stage. En el gráfico de progreso, se muestran los recuentos agregados de todas las demoras detectadas en cada etapa.
Para ver los detalles de una etapa, mantén el puntero sobre la barra de la etapa. El panel de detalles incluye un vínculo a los registros del trabajador. Si haces clic en este vínculo, se abrirá Cloud Logging con alcance para el trabajador y el intervalo de tiempo en el que se detectó el demora.
Flujo de trabajo para ver demorados por etapa
Para ver el flujo de trabajo de demoras por etapa, haz lo siguiente:
En la consola de Google Cloud , ve a la página Trabajos de Dataflow.
En la página de detalles del trabajo, haz clic en la pestaña Detalles de la ejecución.
En la lista Vista de gráfico, selecciona Flujo de trabajo de la etapa. El flujo de trabajo por etapas muestra las etapas de ejecución del trabajo, representadas como un grafo de flujo de trabajo.
Soluciona problemas de transmisión de rezagados
Si se detecta un rezagado, significa que una operación de tu canalización se ha estado ejecutando durante un tiempo inusualmente largo.
Para solucionar el problema, primero verifica si Estadísticas de Dataflow señala algún problema.
Si aún no puedes determinar la causa, consulta los registros del trabajador para la etapa que informó el rezagado. Para ver los registros de los trabajadores pertinentes, consulta los detalles de los rezagados en el progreso de la etapa.
Luego, haz clic en el vínculo del trabajador. Este vínculo abre Cloud Logging, con alcance para el trabajador y el intervalo de tiempo en el que se detectó el demora. Busca problemas que puedan ralentizar la etapa, como los siguientes:
Errores en el código DoFn o atascados DoFns.
Busca seguimientos de pila en los registros, cerca de la marca de tiempo en la que se detectó el rezagado.
Son los límites de cuota en los receptores. Si tu canalización genera datos para un servicio de Google Cloud, es posible que puedas aumentar la cuota. Para obtener más información, consulta la documentación de Cloud Quotas. Además, consulta la documentación del servicio en particular para conocer las estrategias de optimización, así como la documentación del conector de E/S.
DoFns que realizan operaciones de lectura o escritura grandes en el estado persistente.
Considera refactorizar tu código para realizar lecturas o escrituras más pequeñas en el estado persistente.
También puedes usar el panel Información adicional para encontrar los pasos más lentos de la etapa. Uno de estos pasos podría estar causando el rezago. Haz clic en el nombre del paso para ver los registros del trabajador de ese paso.
Después de determinar la causa, actualiza tu canalización con código nuevo y supervisa el resultado.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eStreaming pipeline stragglers are work items that significantly delay watermark advancement and process for a notably longer duration than other items in the same stage, leading to increased job latency.\u003c/p\u003e\n"],["\u003cp\u003eThe Google Cloud console allows viewing of detected streaming stragglers through the stage progress view or the stage workflow view after a Dataflow job has started.\u003c/p\u003e\n"],["\u003cp\u003eTroubleshooting streaming stragglers involves checking for issues with Dataflow insights, reviewing worker logs for the relevant stage, and investigating potential causes like bugs in \u003ccode\u003eDoFn\u003c/code\u003e code, slow external service calls, quota limits, or large read/write operations on persistent state.\u003c/p\u003e\n"],["\u003cp\u003eThe Side info panel in the console can help identify the slowest steps in a stage, potentially revealing the cause of a straggler, and these steps can be used to find the relevant worker logs for the issue.\u003c/p\u003e\n"],["\u003cp\u003eAfter identifying the root cause of a straggler, you should update your pipeline code to resolve the issue, and then monitor the job's performance for improvement.\u003c/p\u003e\n"]]],[],null,["# Troubleshoot stragglers in streaming jobs\n\nFor streaming pipelines, a *straggler* is defined as a work item with the\nfollowing characteristics:\n\n- It prevents the [watermark](/dataflow/docs/concepts/beam-programming-model#advanced_concepts) from advancing for a significant length of time (on the order of minutes).\n- It processes for a long time relative to other work items in the same stage.\n\nStragglers hold back the watermark and add latency to the job. If the lag is\nacceptable for your use case, then you don't need to take any action. If you\nwant to reduce a job's latency, start by addressing any stragglers.\n| **Note:** For information about troubleshooting stragglers in batch jobs, see [Troubleshoot stragglers in batch\n| jobs](/dataflow/docs/guides/troubleshoot-batch-stragglers).\n\nView streaming stragglers in the Google Cloud console\n-----------------------------------------------------\n\nAfter you start a Dataflow job, you can use the Google Cloud console\nto view any detected stragglers.\n\nYou can view streaming stragglers in the [stage progress\nview](/dataflow/docs/concepts/execution-details#stage_progress_for_streaming_jobs)\nor the [stage workflow\nview](/dataflow/docs/concepts/execution-details#stage_workflow).\n\n### View stragglers by stage progress\n\nTo view stragglers by stage progress:\n\n1. In the Google Cloud console, go to the Dataflow **Jobs**\n page.\n\n [Go to Jobs](https://console.cloud.google.com/dataflow/jobs)\n2. Click the name of the job.\n\n3. In the **Job details** page, click the **Execution details** tab.\n\n4. In the **Graph view** list, select **Stage progress**. The progress graph\n shows aggregated counts of all stragglers detected within each stage.\n\n5. To see details for a stage, hold the pointer over the bar for the stage. The\n details pane includes a link to the worker logs. Clicking this link opens\n Cloud Logging scoped to the worker and the time range when the straggler\n was detected.\n\n### View stragglers by stage workflow\n\nTo view stragglers by stage workflow:\n\n1. In the Google Cloud console, go to the Dataflow **Jobs**\n page.\n\n Go to [Jobs](https://console.cloud.google.com/dataflow/jobs)\n2. Click the name of the job.\n\n3. In the job details page, click the **Execution details** tab.\n\n4. In the **Graph view** list, select **Stage workflow**. The stage workflow\n shows the execution stages of the job, represented as a workflow graph.\n\nTroubleshoot streaming stragglers\n---------------------------------\n\nIf a straggler is detected, it means that an operation in your pipeline has\nbeen running for an unusually long time.\n\nTo troubleshoot the issue, first check whether\n[Dataflow insights](/dataflow/docs/guides/using-dataflow-insights)\npinpoints any issues.\n\nIf you still can't determine the cause, check the worker logs for the stage that\nreported the straggler. To see the relevant worker logs, view the\n[straggler details](#view_stragglers_by_stage_progress) in the stage progress.\nThen click the link for the worker. This link opens Cloud Logging, scoped to\nthe worker and the time range when the straggler was detected. Look for problems\nthat might be slowing down the stage, such as:\n\n- Bugs in `DoFn` code or [stuck `DoFns`](/dataflow/docs/guides/common-errors#processing-stuck). Look for stack traces in the logs, near the timestamp when the straggler was detected.\n- Calls to external services that take a long time to complete. To mitigate this issue, [batch calls to external services](/dataflow/docs/tutorials/ecommerce-java#micro-batch-calls) and set timeouts on RPCs.\n- Quota limits in sinks. If your pipeline outputs to a Google Cloud service, you might be able to raise the quota. For more information, see the [Cloud Quotas documentation](/docs/quotas/overview). Also, consult the documentation for the particular service for optimization strategies, as well as the documentation for the [I/O Connector](https://beam.apache.org/documentation/io/connectors/).\n- `DoFns` that perform large read or write operations on persistent state. Consider refactoring your code to perform smaller reads or writes on persistent state.\n\nYou can also use the\n[**Side info**](/dataflow/docs/concepts/execution-details#stage-info)\npanel to find the slowest steps in the stage. One of these steps might be\ncausing the straggler. Click on the step name to view the worker logs for that\nstep.\n\nAfter you determine the cause,\n[update your pipeline](/dataflow/docs/guides/updating-a-pipeline) with new\ncode and monitor the result.\n\nWhat's next\n-----------\n\n- Learn to use the [Dataflow monitoring interface](/dataflow/docs/guides/using-monitoring-intf).\n- Understand the [**Execution details**](/dataflow/docs/concepts/execution-details) tab in the monitoring interface."]]