Good call about reading the output being pointless if it's not going to be logged.

I did a little test using
```
python2 -m timeit -s "from fail2ban.server import action"  'action.Action.executeCmd("ls -la")'
```
and found that with or without the changes, time took an average 103ms (note that there is at least one 100ms sleep in there, I think that hints the overhead is pretty low :smile:). I suspect that any overhead will be outweighed by the actual command being executed?

The vbench stuff looks interesting. I've never looked at benchmark stuff before. I wonder, is performance that critical for something like _fail2ban_?