Mario,
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?
Thanks,
Edson
2007/11/8, Mario <send_lotsa_spam_here(a)yahoo.com>:
Hi all,
I've got a fairly simple web application with DRools 4.0.3 deployed on a
Tomcat
5.5, where I'm running a stress test of about 100 users doing fact changes
every
half a second. There are about 20 rules and about 20 facts. Each action
loads
and compiles the rule base, creates a new working memory and creates the
facts
inside it. I know it's not efficient (rules should be loaded only once in
the
application, working memory should be created only once in the session)
but
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
processors
2. if drools does the above mentioned work, only ONE processor is used, at
about
100% CPU.
Does it make sense that way? Do I have to set anything so the other
processors
are used as well?
Otherwise, I'd have a general performance question: is it more efficient
to
empty the WM (one fact at a time) each time many facts need to be
reloaded, or
just drop it and create it again? I'm talking about some 200 facts, and a
few
hundred rules.
Thanks a lot,
M
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
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