KIE Execution Server Performance and Multithreading Support

639 views
Skip to first unread message

Raghvendra Singh

unread,
Nov 6, 2017, 11:30:04 AM11/6/17
to Drools Setup
Hi All,

I have setup KIE Execution Server (7.0.0)  using ELB on amazon with enough large machines (16/32 GB RAM, tomcat8, linux machine). I am executing rules deployed on containers using KIE  Java rest client.
 
But rule execution response time is too high. If we measure total time (including network latency) to execute 100 request ( each request containing single fact data and  firing on set of 30 rules) its taking about 9 sec . Its means in 1 seconds I  am able to execute only 12 request.

I am new to Drool , I have few queries:-

1. is 12 request/second is normal time or it is slow? Rules are simple .

2. What are other configurations to improve the response time ? 

3. Is there any multi-threaded support on KIE Execution sever side ? If so how can I configure the same. I have read about following switches but don't know whether they can used with rule execution or not :- 

Please suggest me some key point to improve the performance of the KIE execution server.


 Reagrds,
Raghvendra
 

Mark Proctor

unread,
Nov 6, 2017, 4:10:06 PM11/6/17
to drools...@googlegroups.com
On 6 Nov 2017, at 16:30, Raghvendra Singh <sam.rag...@gmail.com> wrote:

Hi All,

I have setup KIE Execution Server (7.0.0)  using ELB on amazon with enough large machines (16/32 GB RAM, tomcat8, linux machine). I am executing rules deployed on containers using KIE  Java rest client.
 
But rule execution response time is too high. If we measure total time (including network latency) to execute 100 request ( each request containing single fact data and  firing on set of 30 rules) its taking about 9 sec . Its means in 1 seconds I  am able to execute only 12 request.

I am new to Drool , I have few queries:-

1. is 12 request/second is normal time or it is slow? Rules are simple .
This is very low is if your rules are simple. It indicates that either your performance problems are else where, or your rule are not as simple as you think they are. A simple rule can still result in a high cross product, if you are not careful.


2. What are other configurations to improve the response time ? 
There are none.


3. Is there any multi-threaded support on KIE Execution sever side ? If so how can I configure the same. I have read about following switches but don't know whether they can used with rule execution or not :- 
There is, but it’s for immutable CEP style solutions only.
--
You received this message because you are subscribed to the Google Groups "Drools Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drools-setup...@googlegroups.com.
To post to this group, send email to drools...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/drools-setup/d9f21084-921b-4482-91b0-d21249bb4b51%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Nicolas Héron

unread,
Nov 6, 2017, 4:46:47 PM11/6/17
to drools...@googlegroups.com
Hi,
Can you show us an example of your rules ? 
an i7 processror 2.4 Ghz can execute up to 50000 rules per second with a lot of facts (few thousands). I have project where I insert 20000 facts and execute 20 000 rules and it takes les than 1 second.
Are you using evals ?
regards
Nicolas

2017-11-06 22:10 GMT+01:00 Mark Proctor <mdpr...@gmail.com>:
On 6 Nov 2017, at 16:30, Raghvendra Singh <sam.rag...@gmail.com> wrote:

Hi All,

I have setup KIE Execution Server (7.0.0)  using ELB on amazon with enough large machines (16/32 GB RAM, tomcat8, linux machine). I am executing rules deployed on containers using KIE  Java rest client.
 
But rule execution response time is too high. If we measure total time (including network latency) to execute 100 request ( each request containing single fact data and  firing on set of 30 rules) its taking about 9 sec . Its means in 1 seconds I  am able to execute only 12 request.

I am new to Drool , I have few queries:-

1. is 12 request/second is normal time or it is slow? Rules are simple .
This is very low is if your rules are simple. It indicates that either your performance problems are else where, or your rule are not as simple as you think they are. A simple rule can still result in a high cross product, if you are not careful.

2. What are other configurations to improve the response time ? 
There are none.

3. Is there any multi-threaded support on KIE Execution sever side ? If so how can I configure the same. I have read about following switches but don't know whether they can used with rule execution or not :- 
There is, but it’s for immutable CEP style solutions only.

--
You received this message because you are subscribed to the Google Groups "Drools Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drools-setup+unsubscribe@googlegroups.com.

To post to this group, send email to drools...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/drools-setup/d9f21084-921b-4482-91b0-d21249bb4b51%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Drools Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drools-setup+unsubscribe@googlegroups.com.

To post to this group, send email to drools...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages