I've been doing some load testing with some relatively massive loads (more than a 1000 clients or so) and I just did a quick stack trace and am seeing a TON of threads in:
at org.ops4j.pax.logging.slf4j.Slf4jLoggerFactory.getLogger(Slf4jLoggerFactory.java:92) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:249) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:261) at org.apache.camel.impl.DefaultUnitOfWork.<init>(DefaultUnitOfWork.java:50) Looking at the code, it is looking up a logger per instance which is insane. I'll fix that one (since it appears in a ton of stack traces), but a quick: git grep "LoggerFactory.getLogger" | grep -v static shows there are 80 other references to getLogger that aren't static. Some of them may just be "startup time" things and thus aren't on the critical path, but anything on the critical path is definitely something to look at. -- Daniel Kulp dk...@apache.org http://dankulp.com/blog Talend - http://www.talend.com