it is not only about the number of consumers, producers the question is how many consumers, producers actively send, receive data on a connection
standard IO means one thread serves a connection, independent of the actual usage - even if it's idle NIO means decoupling - a thread is allocated (from a pool) on demand (if a request needs to be served) if you have 1000 consumers which actively transfer data then you will have the same number of threads compared to blocking IO what you want is that thread count does not increase in parallel to the connection count (as this does not scale) I would expect a slight overhead for NIO as the thread handling adds some overhead (but this is the price for scaling) - given that the JVM NIO throughput is comparable to blocking IO -- View this message in context: http://activemq.2283324.n4.nabble.com/Throughput-drop-with-NIO-transport-as-compared-to-TCP-transport-tp4694494p4694615.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.