[esb-issues] [JBoss JIRA] Commented: (JBESB-1504) CBR using rules has poor performance

Martin Vecera (JIRA) jira-events at lists.jboss.org
Wed Jun 25 06:35:28 EDT 2008


    [ http://jira.jboss.com/jira/browse/JBESB-1504?page=comments#action_12418850 ] 
            
Martin Vecera commented on JBESB-1504:
--------------------------------------

The documentation reads:
"ruleReload - Optional property which can be to true to enable 'hot' redeployment of rule sets. Note that this feature will cause some overhead on the rules processing. Note that rules will also reload if the .esb archive in which they live is redeployed."

This may be confusing but I think that it does NOT mean that the rule base is reloded for each message. What do you think?

Parsing the rules once per test run is not a problem since there are 30,000 messages to process.

> CBR using rules has poor performance
> ------------------------------------
>
>                 Key: JBESB-1504
>                 URL: http://jira.jboss.com/jira/browse/JBESB-1504
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Content Based Routing
>    Affects Versions: 4.2.1
>         Environment: SOA-P 4.2.0.beta1
>            Reporter: Martin Vecera
>         Assigned To: Daniel Bevenius
>             Fix For: 4.4
>
>         Attachments: JBESB-1504.tar.bz2
>
>
> We have a simple performance that uses ContentBasedRouter to route XML messages:
> <action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="ContentBasedRouter">
>                <property name="ruleSet" value="MyESBRules-XPath.drl"/>
>                <property name="ruleLanguage" value="XPathLanguage.dsl"/>
>                <property name="ruleReload" value="true"/>
>                <property name="destinations">
>                   <route-to destination-name="regular1" service-category="wiretapCategory1" service-name="regularService"/>
>                   <route-to destination-name="regular2" service-category="wiretapCategory1" service-name="regularService"/>
>                   <route-to destination-name="regular3" service-category="wiretapCategory1" service-name="regularService"/>
>                   <route-to destination-name="regular4" service-category="wiretapCategory1" service-name="regularService"/>
>                   <route-to destination-name="regular5" service-category="wiretapCategory1" service-name="regularService"/>
>                   <route-to destination-name="regular6" service-category="wiretapCategory1" service-name="regularService"/>
>                   <route-to destination-name="regular7" service-category="wiretapCategory1" service-name="regularService"/>
>                   <route-to destination-name="regular8" service-category="wiretapCategory1" service-name="regularService"/>
>                   <route-to destination-name="regular9" service-category="wiretapCategory1" service-name="regularService"/>
>                   <route-to destination-name="regular0" service-category="wiretapCategory1" service-name="catchService"/>
>                </property>
>             </action>
>  I have created a rule set of 100 rules. Like this:
> package com.jboss.soa.esb.routing.cbr
> import org.jboss.soa.esb.message.Message;
> import org.jboss.soa.esb.message.format.MessageType;
> expander XPathLanguage.dsl
> global java.util.List destinations;
> rule "ProductId1"
> 	salience 100
> 	when
> 		xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "1"
> 	then
> 		Destination : "regular1";
> end
> ...
> rule "ProductId299"
> 	salience 100
> 	when
> 		xpathEquals "/Order/OrderLines/OrderLine/Product/@productId", "299"
> 	then
> 		Destination : "regular0";
> end
> rule "Default rule"
> 	salience 1
> 	when
> 	then
> 		Destination : "regular0";
> end
> See https://svn.corp.jboss.com/repos/soa/trunk/qa/tests/quickstarts/performance8/MyESBRules-XPath.drl for the whole file.
> The performance is very poor (see SOA-240 for reports). Only a tens of messages per second.
> What's the problem here? Is the Rules engine really so slow? Or is it parsing the file every time a message arrives?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the esb-issues mailing list