I have tried to read about the Wildfly Async Handler, though, have some problems finding detailed documentation.
The way I understand the Async Handler is that; the Async Handler is a separate processes that flush/push the queued lines to my log file(assuming I'm logging to a file). The Async handler's purpose is not to bulk push log lines to the log file, but to reduce the wait time for the main process, by having a separate process do the logging. Meaning a Async Handler does not necessary reduce disk access load.
If the configured Queue Length is to small (with Overflow Action=BLOCK), or the queue is often full, the async handler won't improve performance, and the main thread would have to wait for the queue accept new lines.
Is my understanding of the Async handler correct?
Other Async questions.
I cannot find any documentation about suggested Queue Length, but have found a few Red Hat examples using 512 or 1024. Is there any importance/benefits to using a value that is the power of two? Is there any huge risks to use a very large Queue Length except for OOM issues? What would you suggest as a good Queue Length? We log around 250,000 lines an hour.