[rules-users] multiprocessor and performance

Mario send_lotsa_spam_here at yahoo.com
Thu Nov 8 05:51:02 EST 2007


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




More information about the rules-users mailing list