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

Reply via email to