https://bz.apache.org/bugzilla/show_bug.cgi?id=63916
--- Comment #8 from Mark Thomas <ma...@apache.org> --- I see some timing differences on Linux, but not as extreme. For one test testNonBlockingWriteWithKeepAlive NIO: 55s APR: 8s The NIO slowness is caused by the non-blocking write. The test does a large write. There is then, essentially a loop where: - non-blocking write (8k, the buffer size) - add socket to poller - wait for poller to signal write is possible There is a delay of ~40ms in each loop iteration waiting for the poller. 10MB of data in 8k chunks with a 40ms delay per chunk = 51s. Set socket.appWriteBufSize to 64k and the time for that test with NIO drops to 8s. I don't see anything that would let us configure the Poller to react any faster. I want to use a Profiler to investigate that delay to see if it really does happen in the Poller or if it is in the Tomcat code using the Poller. I also want to run the test on FreeBSD to see if the delays you see have a similar root cause. I'm guessing from the version number you aren't using Java from ports but are using the AdoptOpenJDK for Linux builds. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org