Storm性能优化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CSDN_WANGQI/article/details/53377657

如何找到Topology的性能瓶颈?

性能优化的第一步就是找到瓶颈在哪里,从瓶颈处入手,解决关键点问题,事半功倍。

除了通过系统命令查看CPU使用,jstack查看堆栈的调用情况以外,还可以通过Storm自身提供的信息来对性能做出相应的判断。

在Storm 的UI中,对没过topology都提供了相应的统计信息,其中有三个参数对性能来说参考意义比较明显,包括Execute latency,Process latencyCapacity

分别看一下三个参数的含义哈!

·Execute latency:消息的平均处理时间,单位是毫秒。

·Process latency:消息从收到到被ack掉所花费的时间,单位为毫秒。如果没有启用Acker机制,那么Process latency的值为0。

·Capacity:计算公式为Capacity = Bolt 或者 Executor 调用 execute 方法处理的消息数量 × 消息平均执行时间/时间区间。如果这个值越接近1,说明Bolt或者 Executor 基本一直在调用 execute 方法,因此并行度不够,需要扩展这个组件的 Executor数量

Execute latency,Process latency是处理消息的时效性,而Capacity则表示处理能力是否已经饱和。从这3个参数可以知道Topology的瓶颈所在。

猜你喜欢

转载自blog.csdn.net/CSDN_WANGQI/article/details/53377657