如何减少Apache Storm元组传输延迟

时间:2015-02-25 09:28:57

标签: azure apache-storm latency hdinsight

我正在构建一个大规模的查询处理系统,它需要很小的延迟(理想情况下每个请求<1秒)。我使用Storm但发现从上游螺栓发出的元组大约需要 300ms 才能被下游螺栓接收。

关于如何减少延迟的任何想法?

PS:我在Azure中使用HDInsight Storm服务,使用默认设置的4个datanotes。

1 个答案:

答案 0 :(得分:1)

由于网络数据传输,可能会导致延迟。为了减少延迟,您可以尝试合并一些螺栓逻辑(如果可能的话)(例如,过滤器螺栓可能与标记器螺栓合并)。

另一个想法是在您的流上使用LocalorShuffle分组,以便风暴将元组发送到同一工作进程中的任务。

最后,您可以调整消息缓冲区以优化拓扑的性能。

这是一篇关于内部缓冲区的优秀文章: understanding-storm-internal-message-buffers