gpt4 book ai didi

performance - Apache Storm : Relation between Executors , 执行延迟和进程延迟?

转载 作者:行者123 更新时间:2023-12-01 00:50:36 24 4
gpt4 key购买 nike

分配给查询规范器的 1 个执行器的拓扑
Topology with 1 executor assigned to Query Normalizer

分配给查询规范器的 4 个执行器的拓扑
Topology with 4 executor assigned to Query Normalizer

最初我只用 运行我的拓扑1 分配给 QueryNormalizer 的执行程序。 执行延迟 8.952 进程延迟 12.857 .

为了让它更快,我将 QueryNormalizer 中的执行器数量更改为 4 .执行延迟 改为 197.616 进程延迟 59.132 .

根据的定义执行延迟 – 元组在执行方法中花费的平均时间。 execute 方法可以在不发送元组的 Ack 的情况下完成。

所以,我的理解是,如果我增加执行程序的数量,它应该很低。因为并行度应该随着执行程序的增加而增加。

我误解了什么吗?

此外,发射、传输和执行的字段之间存在巨大差异。这正常吗?

此外,进程延迟是否应该始终低于执行延迟?

上面显示的拓扑中哪些在性能方面更好?另外,我应该如何确定哪个拓扑比另一个运行得更好,查看 bolt 数据?

最佳答案

查看 spout 中的“完全延迟”,即元组在拓扑中平均花费的值,它已下令。

So, What I understand is it should be low if I increase the number of executors.As the parallelism should increase as the executor increases.



这意味着你现在有 4 个单元处理元组,每个单元一次处理 1 个元组,“理论上”让你同时处理 4 个元组而不是 1 个。你的元组看起来总是一样的吗?也就是说,它们是否总是具有相同的复杂性?

Also, there is a huge difference between the emitted,transmitted and executed fields. Is this normal ?


执行意味着你的 bolt 消耗了多少元组;发射意味着你的bolt生成了多少个元组(在你的例子中,我看到每个消耗的元组正在生成大约4个新元组);转移意味着有多少发射的元组被转移到其他 bolt ,例如你有两个 bolt 消耗 bolt 发射,在这种情况下转移将等于 2 * nr 发射的元组。

Also, Should process latency be always lower than the execute latency ?



不一定,例如在 Nathan Marz定义:
Process latency is time until tuple is acked, execute latency is time spent in execute for a tuple

我可以给你一个例子,说明我的一种拓扑结构不会发生这种情况:

enter image description here
Which of the above shown topologies are better performance wise ? Also, How should I decide which topology is running better than the other , seeing the bolts data ? 

让他们运行更长的时间。两者都处理了不到1000元组,样本量太小。最终指标是 喷口上的“完全延迟”和失败元组的数量 .

关于performance - Apache Storm : Relation between Executors , 执行延迟和进程延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31556493/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com