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@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@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