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

问题描述:

我正在使用apache风暴,我发现执行和acked之间存在巨大差异。为什么在执行风暴拓扑与执行风暴之间存在巨大的延迟

以下是从风暴UI截图

enter image description here

,我们可以做些什么,使的ACK等于执行,我想增加包装机的数量,但是这是没有帮助的

使很明显,我想试着解释两个值的含义。 “执行”表示执行方法被调用的次数。 “Acked”意味着螺栓召唤有多少次。

从上面的快照中,这意味着booking_bolt执行“执行”方法23300次,并呼叫只有500次。

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

来自Michael G. Noll培训:为什么Storm UI会报告看起来不正确的数字?

Storm在计算统计信息时对传入的元组进行采样,以提高性能。 采样率通过topology.stats.sample.rate进行配置。 0.05是默认值 在这里,Storm会选择随后的20个事件中的一个随机事件,以将公制计数增加20点。所以如果你有20个任务用于该螺栓,你的属性可能会被+/- 380 。 1.00强制风暴来精确地计算所有东西

这会给你一个准确的数字,但是会带来大的性能损失。但为了测试目的,这是可以接受的,并且通常相当有用