

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

# I/O 绑定运算符
<a name="troubleshooting-io-bound-operators"></a>

最好避免在数据路径上依赖外部系统。保持参考数据集的状态通常比查询外部系统来丰富单个事件的性能要高得多。但是，有时会有一些依赖关系无法轻易移动到状态，例如，如果您想使用托管在 Amazon Sagemaker 上的机器学习模型来丰富事件。

通过网络与外部系统连接的运营商可能会成为瓶颈并造成背压。强烈建议使用 [AsyncIO](https://nightlies.apache.org/flink/flink-docs-stable/docs/dev/datastream/operators/asyncio/) 来实现该功能，以减少单个呼叫的等待时间并避免整个应用程序变慢。

此外，对于具有 I/O 绑定运算符的应用程序，增加适用于 Apache Flink 的托管服务应用程序的 [ParallelismPerKPU](https://docs.amazonaws.cn/managed-flink/latest/apiv2/API_ParallelismConfiguration.html) 设置也是有意义的。此配置描述应用程序在其每个 Kinesis 处理单元 (KPU) 可以执行的并行子任务数。通过将值从默认值 1 增加到（比如）4，应用程序可以利用相同的资源（且成本相同），但可以扩展到并行度的 4 倍。这对于 I/O 绑定的应用程序来说效果很好，但它会给未 I/O 绑定的应用程序带来额外的开销。