Each working memory executes single threaded and as such will use only
one processor. As long as you have each of your requests creating a working
memory (ideally from a shared pre-loaded/pre-compiled rulebase) and
executing in a separate thread, it should be using all your processors. What
I mean is, drools does not constrain/limit processor use... can you double
check that you have the requests running concurrently, each on its own
thread, or provide us a test case so that we can verify if there is any
problem in drools causing this behavior?
2007/11/8, Mario <send_lotsa_spam_here(a)yahoo.com>:
I've got a fairly simple web application with DRools 4.0.3 deployed on a
5.5, where I'm running a stress test of about 100 users doing fact changes
half a second. There are about 20 rules and about 20 facts. Each action
and compiles the rule base, creates a new working memory and creates the
inside it. I know it's not efficient (rules should be loaded only once in
application, working memory should be created only once in the session)
that's not my question.
This is a 4-way machine.
1. if I don't load and use drools, the web application uses all 4
2. if drools does the above mentioned work, only ONE processor is used, at
Does it make sense that way? Do I have to set anything so the other
are used as well?
Otherwise, I'd have a general performance question: is it more efficient
empty the WM (one fact at a time) each time many facts need to be
just drop it and create it again? I'm talking about some 200 facts, and a
Thanks a lot,
rules-users mailing list
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @ www.jboss.com