Troubleshooting Punchlet slow processing¶
You observed a slow-down of a punchlet processing, you want to know why.
- Check there is a backlog in front of your topology hosting your punchlet. If there is no backlog, do not investigate further, your topology has just not enough data to process.
- On Storm UI check capacity of your PunchBolt component:
- Connect to Storm UI
- Click on topology hosting your PunchBolt component
- On section Bolts and on line matching your component (punch_bolt for example) check capacity value. If value is near of 1 or higher, your component is indeed too slow.
- Check your punchlet code, you may have kept some debug code .
- Check if you have fails on your topology:
- Connect to Storm UI
- Click on topology hosting your PunchBolt component
- On section Bolts and on line matching your component, check Failed value (corresponding to parsing errors). If this value is important, it may be a problem of errors processing: a specific component (exception_handler bolt) is responsible of errors processing and may be under-scaled regarding number of parsing components. Typically if you have many errors you will need as many exception_handler components as parsing components (punch_bolt). Please increase its number of executors (in your topology configuration).
- Check the max.spout.pending (through the storm UI or at the end of
the topology json file).
- The value must have the same order of height that the number of EPS. (WARNING: this settings is by spout). It\'s a typical tunning of ltr_out topology.