吞吐量太慢 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

吞吐量太慢

如果您的应用程序处理传入的流数据速度不够快,则其性能将不佳并变得不稳定。本节介绍这种情况的症状和故障排除步骤。

症状

这种情况可能具有以下症状:

  • 如果您的应用程序的数据源是 Kinesis 流,则该流的millisbehindLatest指标会不断增加。

  • 如果您的应用程序的数据源是 Amazon MSK 集群,则该集群的使用者延迟指标会不断增加。有关更多信息,请参阅 Amazon MSK 开发人员指南中的消费端延迟监控

  • 如果您的应用程序的数据源是不同的服务或来源,请检查所有可用的消费者延迟指标或可用数据。

原因和解决方案

导致应用程序吞吐量缓慢的原因可能有很多。如果您的应用程序无法跟上输入的速度,请检查以下内容:

  • 如果吞吐量延迟激增然后逐渐减弱,请检查应用程序是否正在重新启动。您的应用程序将在重新启动时停止处理输入,从而导致延迟激增。有关应用程序故障的更多信息,请参阅应用程序正在重新启动

  • 如果吞吐量延迟一致,请检查您的应用程序是否针对性能进行了优化。有关优化应用程序性能的信息,请参阅性能问题排查

  • 如果吞吐量延迟不是激增而是持续增加,并且您的应用程序已针对性能进行了优化,则必须增加应用程序资源。有关增加应用程序资源的信息,请参阅扩展

  • 如果您的应用程序从不同区域的 Kafka 集群读取数据,FlinkKafkaConsumer或者尽管KafkaSource使用者延迟很高,但大部分时间处于空闲状态(高idleTimeMsPerSecond或低CPUUtilization),则可以增加的值receive.buffer.byte,例如 2097152。有关更多信息,请参阅自定义 MSK 配置中的高延迟环境部分。

有关应用程序源中吞吐量缓慢或消费者延迟增加的故障排除步骤,请参阅性能问题排查