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

Daniel Bevenius (JIRA) jira-events at lists.jboss.org
Tue Jul 1 07:30:31 EDT 2008


     [ http://jira.jboss.com/jira/browse/JBESB-1504?page=all ]

Daniel Bevenius closed JBESB-1504.
----------------------------------

    Resolution: Done

Committed to trunk with revision 20854.


> 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: build.properties, DslHelper.java, DslHelperUnitTest.java, 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