Just went over to Matt Welsh's SEDA page and found there are some
comments about
SEDA performance. I haven't faced performance problem with Mule but
Matt's Feb.19, 2007
comments are little bit disturbing.
http://www.eecs.harvard.edu/~mdw/proj/seda/
Has anybody faced any performance problems?
Regards,
H.Ozawa
---------------------------------------------------------------------
To unsubscribe from this list please visit:
Exactly.
> The author's stress on programming model rather then artificial test
> performance I fully support. Real-world scenarios are rarely constrained
> by pure CPU chunking, more on the I/O side anyway.
Balancing latency vs. throughput vs. stability in peak situations was the
whole idea behind SEDA. It is important to keep in mind that SEDA is a
conceptual model, not an implementation. Models can certainly define
performance envelopes or desired characteristics but it's still the
_implementations_ that actually have them. In other words: you can only
smell the real deal when the rubber hits the road.. :)
-h
Regards,
H.Ozawa
MULE 1.4.2 (10K payload - 2 second)
.Net WebService ---> Mule Service ---> .Net WebService Call
OpenAdaptor 3.x (1.4 second and dropped afterwords to 250/300 mili second.)
.Net WebService ---> Mule Service ---> .Net WebService Call
Tested over Network (LAN)
Thanks!
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a12979561
Sent from the Mule - User mailing list archive at Nabble.com.
mule-config.xml
======================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mule-configuration PUBLIC "-//MuleSource //DTD mule-configuration
XML V1.0//EN"
"http://mule.mulesource.org/dtds/mule-configuration.dtd">
<mule-configuration id="adaptor-config" version="1.0">
<description>
Configuration for the "Crowley Adaptor"...
</description>
<mule-environment-properties>
<threading-profile id="default" maxThreadsActive="10"
maxThreadsIdle="10" poolExhaustedAction="RUN" threadTTL="80000"
threadWaitTimeout="40" maxBufferSize="100" />
</mule-environment-properties>
<container-context
className="org.mule.extras.spring.SpringContainerContext">
<properties>
<property name="configFile" value="adaptor-beans.xml" />
</properties>
</container-context>
<!-- Need this to add the proper SOAP headers to the outgoing message -->
<connector name="xfiretest"
className="org.mule.providers.soap.xfire.wsdl.XFireWsdlConnector">
</connector>
<endpoint-identifiers>
<endpoint-identifier name="AdaptorInputService"
value="xfire:http://localhost:81/services" />
</endpoint-identifiers>
<transformers>
<transformer name="HttpRequestToSoapRequest"
className="org.mule.providers.soap.transformers.HttpRequestToSoapRequest"
/>
<transformer name="ObjectToString"
className="org.mule.transformers.simple.ObjectToString" />
</transformers>
<model name="MQ">
<mule-descriptor name="MQ" implementation="adaptorCall">
<inbound-router>
<endpoint address="AdaptorInputService"
transformers="HttpRequestToSoapRequest" type="senderAndReceiver"
responseTransformers="ObjectToString" />
</inbound-router>
<outbound-router>
<router
className="org.mule.routing.outbound.OutboundPassThroughRouter">
<endpoint
address="wsdl:http://jaxweb01/webservices/aftest/service.asmx?wsdl&method=Request"
type="senderAndReceiver" responseTransformers="ObjectToString">
<properties>
<property name="soapAction"
value="${methodNamespace}${method}" />
</properties>
</endpoint>
</router>
</outbound-router>
</mule-descriptor>
</model>
</mule-configuration>
==================================================================
adaptor-config.xml (Spring)
================================================================
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="adaptorCall"
class="com.crowley.adaptor.service.impl.AdaptorCallImpl" />
</beans>
================================================================
AdaptorCallImpl.java
=================================================================
public class AdaptorCallImpl implements AdaptorCall {
public AdaptorCallImpl() {
}
public String receive(String input) {
//custom code...
return input;
}
}
=================================================================
Environment:
Machine 1: .Net Application and .NetWebService
Machine 2: Mule Service
.NetApplication calls MuleService and MuleService calls .NetWebService i.e.
Input = String and Output = SAME String....
Let me know if you need further information.
Thanks!
http://www.nabble.com/file/p12980059/adaptor-config.xml adaptor-config.xml
http://www.nabble.com/file/p12980059/adaptor-config.xml adaptor-config.xml
http://www.nabble.com/file/p12980059/adaptor-beans.xml adaptor-beans.xml
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a12980059
We tested both (Mule and OpenAdaptor) with WARN log level....
We understand that sometime network can cause performance issue but we
tested both (O/A and Mule) more than 10 times with 10K payload got almost
same result i.e. Mule: >=2 second and O/A: 250-400ms
We are just curious about response time difference - 5/6 time more (Mule).
Thanks!
>>> .Net WebService ---> O/A Service ---> .Net WebService Call
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a12980516
> address="wsdl: http://jaxweb01/webservices/aftest/service.asmx?wsdl&method=Request"
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a12982102
<threading-profile id="default" maxThreadsActive="10"
maxThreadsIdle="10" poolExhaustedAction="RUN"
threadTTL="80000"
threadWaitTimeout="40" maxBufferSize="100" />
Thanks!
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a12982127
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a12982884
>> >> >>> 1 Sent from the Mule - User mailing list archive at
>> >> >>> Nabble.com.
>> >> >>>
>> >> >>>
>> >> >>>
>> ---------------------------------------------------------------------
>> >> >>> To unsubscribe from this list please visit:
>> >> >>>
>> >> >>> http://xircles.codehaus.org/manage_email
>> >> >>>
>> >> >>>
>> >> >>
>> >> >>
>> >> > http://www.nabble.com/file/p12980059/adaptor-config.xml
>> >> > adaptor-config.xml
>> >> > http://www.nabble.com/file/p12980059/adaptor-config.xml
>> >> adaptor-config.xml
>> >> > http://www.nabble.com/file/p12980059/adaptor-beans.xml
>> >> adaptor-beans.xml
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >> http://www.nabble.com/Mule-performance-tf3524409.html#a12980516
>> >> Sent from the Mule - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >> ------------------------------------------------------------------
>> >> --- To unsubscribe from this list please visit:
>> >>
>> >> http://xircles.codehaus.org/manage_email
>> >>
>> >>
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Mule-performance-tf3524409.html#a12982102
>> Sent from the Mule - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list please visit:
>>
>> http://xircles.codehaus.org/manage_email
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a12982884
Sent from the Mule - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email
Do you think testing above scenario in a loop (10000) will help to improve
Mule performance 5/6 time better?
Thanks!
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a12984052
I get following exception from MuleClient....could you please advise?
========================EXCEPTION===============================
Failed to route event via endpoint: MuleEndpoint{endpointUri=vm://in,
connector=VMConnector{this=228a02, started=true, initialised=true,
name='connector.VM.0', disposed=false,
numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=true,
supportedProtocols=[vm], serviceOverrides=null}, transformer=null,
name='endpoint.vm.in', type='sender', properties={},
transactionConfig=Transaction{factory=null, action=NONE, timeout=30000},
filter=null, deleteUnacceptedMessages=false, initialised=false,
securityFilter=null, synchronous=null, initialState=started,
createConnector=0, remoteSync=null, remoteSyncTimeout=null,
endpointEncoding=null}. Message payload is of type: String
org.mule.umo.provider.DispatchException: Failed to route event via endpoint:
MuleEndpoint{endpointUri=vm://in, connector=VMConnector{this=228a02,
started=true, initialised=true, name='connector.VM.0', disposed=false,
numberOfConcurrentTransactedReceivers=4,
createMultipleTransactedReceivers=true, connected=true,
supportedProtocols=[vm], serviceOverrides=null}, transformer=null,
name='endpoint.vm.in', type='sender', properties={},
transactionConfig=Transaction{factory=null, action=NONE, timeout=30000},
filter=null, deleteUnacceptedMessages=false, initialised=false,
securityFilter=null, synchronous=null, initialState=started,
createConnector=0, remoteSync=null, remoteSyncTimeout=null,
endpointEncoding=null}. Message payload is of type: String
at
org.mule.providers.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:252)
at org.mule.providers.AbstractConnector.send(AbstractConnector.java:1629)
at org.mule.impl.ImmutableMuleEndpoint.send(ImmutableMuleEndpoint.java:955)
at org.mule.impl.MuleSession.sendEvent(MuleSession.java:327)
at org.mule.extras.client.MuleClient.send(MuleClient.java:737)
at org.mule.extras.client.MuleClient.send(MuleClient.java:714)
at org.mule.extras.client.MuleClient.send(MuleClient.java:667)
at JIRAClient.main(JIRAClient.java:26)
Caused by: org.mule.umo.provider.NoReceiverForEndpointException: There is no
receiver registered on connector "connector.VM.0" for endpointUri vm://in
at
org.mule.providers.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:185)
at
org.mule.providers.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:224)
====================================MULE CLIENT======================
public static void main(String[] args) {
MuleClient muleClient = null;
try {
muleClient = new MuleClient();
logger
.error("**************************IN************************** >>>>
:"+new java.util.Date());
UMOMessage msg = muleClient.send(
"vm://in",
"AUD USD", null);
logger
.error("**************************OUT************************** >>>>
:"+new java.util.Date());
muleClient.dispose();
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
if (muleClient != null)
muleClient.dispose();
}
========================== CONFIG ==================================
From JIRA.....
Thanks!
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a13019520
org.mule.providers.AbstractMessageDispatcher.send (AbstractMessageDispatcher.java:252)
at org.mule.providers.AbstractConnector.send(AbstractConnector.java:1629)
at org.mule.impl.ImmutableMuleEndpoint.send(ImmutableMuleEndpoint.java:955)
at org.mule.impl.MuleSession.sendEvent(MuleSession.java:327)
at org.mule.extras.client.MuleClient.send(MuleClient.java:737)
at org.mule.extras.client.MuleClient.send(MuleClient.java:714)
at org.mule.extras.client.MuleClient.send (MuleClient.java:667)
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE mule-configuration PUBLIC "-//MuleSource //DTD mule-configuration
XML V1.0//EN"
"http://mule.mulesource.org/dtds/mule-configuration.dtd">
<mule-configuration id="http_fuctional_test" version="1.0">
<connector name="httpConnector"
className="org.mule.providers.http.HttpConnector" />
<connector name="vmConnector"
className="org.mule.providers.vm.VMConnector">
<properties>
<property name="queueEvents" value="true" />
</properties>
</connector>
<transformers>
<transformer name="ByteArrayToString"
className="org.mule.transformers.simple.ByteArrayToString" />
<transformer name="StringToByteArray"
className="org.mule.transformers.simple.StringToByteArray" />
</transformers>
<global-endpoints>
<endpoint name="out" address="http://localhost:60190"
connector="httpConnector" />
<endpoint name="in" address="vm://in" connector="vmConnector" />
<endpoint name="inH" address="http://localhost:60190"
connector="httpConnector" />
<endpoint name="outH" address="vm://out"
connector="vmConnector" />
</global-endpoints>
<model name="main">
<mule-descriptor name="testComponent"
implementation="org.mule.components.simple.BridgeComponent">
<inbound-router>
<global-endpoint name="in" />
</inbound-router>
<outbound-router>
<router
className="org.mule.routing.outbound.OutboundPassThroughRouter">
<global-endpoint name="out"
transformers="StringToByteArray" />
</router>
</outbound-router>
</mule-descriptor>
<mule-descriptor name="testComponent2"
implementation="org.mule.components.simple.BridgeComponent">
<inbound-router>
<global-endpoint name="inH"
transformers="ByteArrayToString" />
</inbound-router>
<outbound-router>
<router
className="org.mule.routing.outbound.OutboundPassThroughRouter">
<global-endpoint name="outH" />
</router>
</outbound-router>
</mule-descriptor>
</model>
</mule-configuration>
>> at org.mule.extras.client.MuleClient.send(MuleClient.java:667)
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a13019610
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a13019837
MULE 1.4.3 waits and waits randomly at above line.....vs. OpenAdaptor.
(trying to call .net web service)
Thanks!
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a13124076
(trying to call .net web service - multi threading (2 no of thread))
Thanks!
bhalani wrote:
>
> It's local server (Mule running locally and I am using eclipse to test -
> MuleClient)....
>
>
> I tried dispatch, it works, but I see following in my log....
>
> WARN 2007-10-03 10:38:29,597 [connector.VM.0.dispatcher.1]
> org.mule.providers.vm.VMMessageDispatcher: No receiver for endpointUri:
> vm://in
>
> Thanks!
>
>
>
> Andrew Perepelytsya wrote:
>>
>> Are you trying to talk to a remote server? Use MuleClient's
>> RemoteDispatcher
>> instead. Most probably you create a local instance of the client with no
>> config, and it fails to find any endpoint.
>>
>> Andrew
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Mule-performance-tf3524409.html#a13124192