为什么在风暴拓扑中执行和执行之间存在巨大的延迟

时间:2015-04-06 23:39:41

标签: apache-storm

我正在研究apache风暴,我发现执行和执行之间存在巨大差异。

以下是Storm UI的截图

enter image description here

我们可以做些什么来使ack等于执行,我试图增加包装工的数量,但这没有帮助

2 个答案:

答案 0 :(得分:0)

要说清楚,我想尝试解释这两个价值观。含义。 "执行的"表示为bot调用execute方法的次数。 " ACKED"表示螺栓调用ack的次数。

从上面的快照中,这意味着booking_bolt执行"执行"方法为23300次,通话时间仅为500次。

所以也许在bolt的执行方法中,每次都不会调用ack或fail。

答案 1 :(得分:0)

来自Michael G. Noll培训:为什么Storm UI会报告看似错误的数字?

Storm会在计算统计信息时对传入的元组进行采样,以提高性能。 采样率通过topology.stats.sample.rate配置。 0.05是默认值 在这里,Storm会选择接下来20个事件的随机事件,其中将度量计数增加20个。因此,如果你有20个任务用于该螺栓,你的统计数据可能会减少+/- 380。 1.00强迫风暴计算一切正确

这可以为您提供准确的数字,但却会带来巨大的性能损失。然而,出于测试目的,这是可以接受的并且通常非常有用。