• 在拓扑提交过程中,不能实例化没有实现序列化接口的对象。可以通过传递参数的方式,在bolt的prepare中实例化
  • 推荐一个worker运行2个task
  • 减少拓扑层数,随着拓扑层数的增加,系统吞吐率下降,同时CPU利用率一直在上升,网络带宽未达到极限;
  • 最好设置topology.max.spout.pending,这样可以避免长时间的响应,以及抖动。设置topology.max.spout.pending=5000;可以根据系统性能增减
  • 在jstorm中, spout中nextTuple和ack/fail运行在不同的线程中, 从而鼓励用户在nextTuple里面执行block的操作, 原生的storm,nextTuple和ack/fail在同一个线程,不允许nextTuple/ack/fail执行任何block的操作,否则就会出现数据超时,
收藏 打印