trying to understand what exactly queue runners do, I noticed that
they appear to fork a process per message, even if the next retry
point has not been reached. The forked process will try to deliver
it, check the appropiate retry database for the transport and exit.
Is that correct? It would explain why queue runners have such an impact.
Additionally, a journal file is being created, chowned, and deleted
short time afterwards, even if no delivery took place.
Only creating a journal if needed may be easy to fix, but I am not
sure how much it gains unless the IO system is saturated.
But how could the queue runner be modified not to fork a process if
the forked process would not try a real delivery anyway?