Been experimenting some with Netty the last couple of days. As an avid MINA fan, Netty looks great!<br>What&#39;s been bothering is the &quot;slow&quot; socket accept, which limits the throughput of my application. (Request/response based ála HTTP 1.0, so no keep-alive).<br>
(The socket accept operation isn&#39;t &quot;slow&quot;, I just feel that it could be improved thus increasing my throughput)<br><br>After profiling my application I found that accept is taking up most of the time. While this probably is as expected, I can&#39;t help feeling limited by that fact.<br>
I&#39;ve tried having the same server listening on multiple ports thus getting a separate boss thread doing the accept. This actually doubles the number of req/s while retaining the same response time. I realize this isn&#39;t anything peculiar (multi-core machine with another accept thread for it to chew on). But it gets me thinking if there&#39;s more one can do to optimize this.<br>
<br>Is it possible to speed up the socket accept operation<br>a) by tuning Netty?<br>b) by tuning the JVM?<br>c) by tuning the OS/kernel?<br><br>While I fear things like this might be very sensitive to how the OS implements the TCP stack, I hope at least there are some general advice or places to start looking.<br>
Appreciate any hints or tips regarding this. (Running on RHEL5 64-bit, Java 1.6.0_10-b33, Intel Quad-Core Q6600)<br><br>- Carl<br>