Troubleshooting Punchlet slow processing¶
Symptom¶
You observe a slow-down of a punchlet processing, you want to know why.
Resolution¶
- Check there is a backlog in the input topic of the punchline hosting your punchlet. If there is no backlog, do not investigate further, your punchline has simply not enough data to process.
- for Storm punchlines check the capacity of your punch bolt component:
- Connect to the Storm UI
- Click on the punchline hosting your punchlet
- On the section Bolts and on the line matching your component (punch_bolt for example) check the capacity value. If the value is near of 1 or higher, your component is indeed too slow and suffers from not having enough cpu.
- Check your punchlet code, you may have kept some debug code .
- Check if you have tuple failures on your punchline:
- Connect to the Storm UI
- Click on the punchline hosting your punchlet
- On the section Bolts and on the line matching your component (punch_bolt for example) check the Failed value (corresponding to parsing errors). If this value is important, it may be a problem of error processing in your punchlet. Errors follow a different path in your punchlines (i.e. a different stream). The performance with many errors is possibly different than without.
- Check the max.spout.pending (through the storm UI or at the end of
the punchline file).
- The value must have the same order of height that the number of EPS. (WARNING: this setting is by input node). It is a typical tuning of punch ltr_out punchlines.