Re: [camel 2.17] limited performance (not more than 20 req/s)

2016-07-15 Thread Andrea Cosentino
It should be included in 2.17.2
 --
Andrea Cosentino 
--
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1...@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Friday, July 15, 2016 1:06 PM, Claus Ibsen  wrote:
Hi

I found the ticket
https://issues.apache.org/jira/browse/CAMEL-10043

On Fri, Jul 15, 2016 at 1:04 PM, Claus Ibsen  wrote:
> Hi
>
> Ah yeah there was a bug in camel-jaxb that could impact the
> performance. Try with 2.17.2 or the 2.17.3-SNAPSHOT as I cannot
> remember if the fix made it into the 2.17.2 release.
>
>
> On Fri, Jul 15, 2016 at 12:56 PM, Tarek Jarraya  
> wrote:
>> More info:
>>
>> I saw this log appearing many times:
>> [http-bio-8080-exec-373] DEBUG org.apache.camel.util.ObjectHelper: Cannot
>> find class: java.lang.ObjectFactory
>>
>> The log disappears with 2.16.1.
>>
>> The same log saw by others:
>> http://camel.465427.n5.nabble.com/ClassNotFoundException-ObjectFactory-td5782443.html
>>
>> Similar Performance topic (they use rabbitmq client):
>> https://issues.apache.org/jira/browse/CAMEL-9786
>>
>> Thanks,
>> Tarek
>>
>>
>> On Fri, Jul 15, 2016 at 12:27 PM, Tarek Jarraya 
>> wrote:
>>
>>> Hi Claus,
>>>
>>> Sorry for late reply.
>>>
>>> When I downgraded to camel 2.16.1/3 the performance issue disappears.
>>>
>>> Regards,
>>> Tarek
>>>
>>> Le mardi 14 juin 2016, Tarek Jarraya  a écrit :
>>>
 Hi Both,

 Thanks for your interest.

 @Claus,

 this toD generates only one endpoint. I try to change it to "to" format
 and let you know.

 One more thing, our exposed endpoint is using camel servlet.

 >>> uri="servlet://offer/pricing/v1.1">
 
 
 
 

 I saw in the http4 page that if we want to expose an endpoint and attach
 it to route, we use camel-jetty.
 Should we change our exposition?

 Some people said that we expose mostly web services with CXF.
 But in that case, we have to implement a class for each endpoint.
 However, with servlet we don't do it, so no more java code.

 Any recommendation if the servlet exposition is not adapted for
 concurrent context?

 Regards,
 Tarek

 On Tue, Jun 14, 2016 at 5:20 PM, Claus Ibsen 
 wrote:

> On Tue, Jun 14, 2016 at 4:38 PM, owain 
> wrote:
> > Is there a typo toD in here?
> >
> >  >
> uri="{{pricing-wsrest-endpoint}}=true=true"
> > />
> >
>
> toD is a dynamic to.
>
> How many unique endpoints does {{pricing-wsrest-endpoint}} generate in
> your test?
>
> If the dynamic part is the context-path and/or uri parameters its
> better to use  and then use a header (HTTP_PART / HTTP_QUERY etc)
> to provide the dynamic context-path / uri parameters. Then you reuse
> same endpoint/producers.
> http://camel.apache.org/http4
>
>
>
>
>
>
>
> >
> >
> >
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/camel-2-17-limited-performance-not-more-than-20-req-s-tp5783980p5784041.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2

>


>
>
>
> --
> Claus Ibsen
> -
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2


Re: [camel 2.17] limited performance (not more than 20 req/s)

2016-07-15 Thread Claus Ibsen
Hi

I found the ticket
https://issues.apache.org/jira/browse/CAMEL-10043

On Fri, Jul 15, 2016 at 1:04 PM, Claus Ibsen  wrote:
> Hi
>
> Ah yeah there was a bug in camel-jaxb that could impact the
> performance. Try with 2.17.2 or the 2.17.3-SNAPSHOT as I cannot
> remember if the fix made it into the 2.17.2 release.
>
>
> On Fri, Jul 15, 2016 at 12:56 PM, Tarek Jarraya  
> wrote:
>> More info:
>>
>> I saw this log appearing many times:
>> [http-bio-8080-exec-373] DEBUG org.apache.camel.util.ObjectHelper: Cannot
>> find class: java.lang.ObjectFactory
>>
>> The log disappears with 2.16.1.
>>
>> The same log saw by others:
>> http://camel.465427.n5.nabble.com/ClassNotFoundException-ObjectFactory-td5782443.html
>>
>> Similar Performance topic (they use rabbitmq client):
>> https://issues.apache.org/jira/browse/CAMEL-9786
>>
>> Thanks,
>> Tarek
>>
>>
>> On Fri, Jul 15, 2016 at 12:27 PM, Tarek Jarraya 
>> wrote:
>>
>>> Hi Claus,
>>>
>>> Sorry for late reply.
>>>
>>> When I downgraded to camel 2.16.1/3 the performance issue disappears.
>>>
>>> Regards,
>>> Tarek
>>>
>>> Le mardi 14 juin 2016, Tarek Jarraya  a écrit :
>>>
 Hi Both,

 Thanks for your interest.

 @Claus,

 this toD generates only one endpoint. I try to change it to "to" format
 and let you know.

 One more thing, our exposed endpoint is using camel servlet.

 >>> uri="servlet://offer/pricing/v1.1">
 
 
 
 

 I saw in the http4 page that if we want to expose an endpoint and attach
 it to route, we use camel-jetty.
 Should we change our exposition?

 Some people said that we expose mostly web services with CXF.
 But in that case, we have to implement a class for each endpoint.
 However, with servlet we don't do it, so no more java code.

 Any recommendation if the servlet exposition is not adapted for
 concurrent context?

 Regards,
 Tarek

 On Tue, Jun 14, 2016 at 5:20 PM, Claus Ibsen 
 wrote:

> On Tue, Jun 14, 2016 at 4:38 PM, owain 
> wrote:
> > Is there a typo toD in here?
> >
> >  >
> uri="{{pricing-wsrest-endpoint}}=true=true"
> > />
> >
>
> toD is a dynamic to.
>
> How many unique endpoints does {{pricing-wsrest-endpoint}} generate in
> your test?
>
> If the dynamic part is the context-path and/or uri parameters its
> better to use  and then use a header (HTTP_PART / HTTP_QUERY etc)
> to provide the dynamic context-path / uri parameters. Then you reuse
> same endpoint/producers.
> http://camel.apache.org/http4
>
>
>
>
>
>
>
> >
> >
> >
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/camel-2-17-limited-performance-not-more-than-20-req-s-tp5783980p5784041.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>


>
>
>
> --
> Claus Ibsen
> -
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2


Re: [camel 2.17] limited performance (not more than 20 req/s)

2016-07-15 Thread Claus Ibsen
Hi

Ah yeah there was a bug in camel-jaxb that could impact the
performance. Try with 2.17.2 or the 2.17.3-SNAPSHOT as I cannot
remember if the fix made it into the 2.17.2 release.


On Fri, Jul 15, 2016 at 12:56 PM, Tarek Jarraya  wrote:
> More info:
>
> I saw this log appearing many times:
> [http-bio-8080-exec-373] DEBUG org.apache.camel.util.ObjectHelper: Cannot
> find class: java.lang.ObjectFactory
>
> The log disappears with 2.16.1.
>
> The same log saw by others:
> http://camel.465427.n5.nabble.com/ClassNotFoundException-ObjectFactory-td5782443.html
>
> Similar Performance topic (they use rabbitmq client):
> https://issues.apache.org/jira/browse/CAMEL-9786
>
> Thanks,
> Tarek
>
>
> On Fri, Jul 15, 2016 at 12:27 PM, Tarek Jarraya 
> wrote:
>
>> Hi Claus,
>>
>> Sorry for late reply.
>>
>> When I downgraded to camel 2.16.1/3 the performance issue disappears.
>>
>> Regards,
>> Tarek
>>
>> Le mardi 14 juin 2016, Tarek Jarraya  a écrit :
>>
>>> Hi Both,
>>>
>>> Thanks for your interest.
>>>
>>> @Claus,
>>>
>>> this toD generates only one endpoint. I try to change it to "to" format
>>> and let you know.
>>>
>>> One more thing, our exposed endpoint is using camel servlet.
>>>
>>> >> uri="servlet://offer/pricing/v1.1">
>>> 
>>> 
>>> 
>>> 
>>>
>>> I saw in the http4 page that if we want to expose an endpoint and attach
>>> it to route, we use camel-jetty.
>>> Should we change our exposition?
>>>
>>> Some people said that we expose mostly web services with CXF.
>>> But in that case, we have to implement a class for each endpoint.
>>> However, with servlet we don't do it, so no more java code.
>>>
>>> Any recommendation if the servlet exposition is not adapted for
>>> concurrent context?
>>>
>>> Regards,
>>> Tarek
>>>
>>> On Tue, Jun 14, 2016 at 5:20 PM, Claus Ibsen 
>>> wrote:
>>>
 On Tue, Jun 14, 2016 at 4:38 PM, owain 
 wrote:
 > Is there a typo toD in here?
 >
 > >>> >
 uri="{{pricing-wsrest-endpoint}}=true=true"
 > />
 >

 toD is a dynamic to.

 How many unique endpoints does {{pricing-wsrest-endpoint}} generate in
 your test?

 If the dynamic part is the context-path and/or uri parameters its
 better to use  and then use a header (HTTP_PART / HTTP_QUERY etc)
 to provide the dynamic context-path / uri parameters. Then you reuse
 same endpoint/producers.
 http://camel.apache.org/http4







 >
 >
 >
 >
 > --
 > View this message in context:
 http://camel.465427.n5.nabble.com/camel-2-17-limited-performance-not-more-than-20-req-s-tp5783980p5784041.html
 > Sent from the Camel - Users mailing list archive at Nabble.com.



 --
 Claus Ibsen
 -
 http://davsclaus.com @davsclaus
 Camel in Action 2: https://www.manning.com/ibsen2

>>>
>>>



-- 
Claus Ibsen
-
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2


Re: [camel 2.17] limited performance (not more than 20 req/s)

2016-07-15 Thread Tarek Jarraya
More info:

I saw this log appearing many times:
[http-bio-8080-exec-373] DEBUG org.apache.camel.util.ObjectHelper: Cannot
find class: java.lang.ObjectFactory

The log disappears with 2.16.1.

The same log saw by others:
http://camel.465427.n5.nabble.com/ClassNotFoundException-ObjectFactory-td5782443.html

Similar Performance topic (they use rabbitmq client):
https://issues.apache.org/jira/browse/CAMEL-9786

Thanks,
Tarek


On Fri, Jul 15, 2016 at 12:27 PM, Tarek Jarraya 
wrote:

> Hi Claus,
>
> Sorry for late reply.
>
> When I downgraded to camel 2.16.1/3 the performance issue disappears.
>
> Regards,
> Tarek
>
> Le mardi 14 juin 2016, Tarek Jarraya  a écrit :
>
>> Hi Both,
>>
>> Thanks for your interest.
>>
>> @Claus,
>>
>> this toD generates only one endpoint. I try to change it to "to" format
>> and let you know.
>>
>> One more thing, our exposed endpoint is using camel servlet.
>>
>> > uri="servlet://offer/pricing/v1.1">
>> 
>> 
>> 
>> 
>>
>> I saw in the http4 page that if we want to expose an endpoint and attach
>> it to route, we use camel-jetty.
>> Should we change our exposition?
>>
>> Some people said that we expose mostly web services with CXF.
>> But in that case, we have to implement a class for each endpoint.
>> However, with servlet we don't do it, so no more java code.
>>
>> Any recommendation if the servlet exposition is not adapted for
>> concurrent context?
>>
>> Regards,
>> Tarek
>>
>> On Tue, Jun 14, 2016 at 5:20 PM, Claus Ibsen 
>> wrote:
>>
>>> On Tue, Jun 14, 2016 at 4:38 PM, owain 
>>> wrote:
>>> > Is there a typo toD in here?
>>> >
>>> > >> >
>>> uri="{{pricing-wsrest-endpoint}}=true=true"
>>> > />
>>> >
>>>
>>> toD is a dynamic to.
>>>
>>> How many unique endpoints does {{pricing-wsrest-endpoint}} generate in
>>> your test?
>>>
>>> If the dynamic part is the context-path and/or uri parameters its
>>> better to use  and then use a header (HTTP_PART / HTTP_QUERY etc)
>>> to provide the dynamic context-path / uri parameters. Then you reuse
>>> same endpoint/producers.
>>> http://camel.apache.org/http4
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> >
>>> >
>>> >
>>> >
>>> > --
>>> > View this message in context:
>>> http://camel.465427.n5.nabble.com/camel-2-17-limited-performance-not-more-than-20-req-s-tp5783980p5784041.html
>>> > Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -
>>> http://davsclaus.com @davsclaus
>>> Camel in Action 2: https://www.manning.com/ibsen2
>>>
>>
>>


Re: [camel 2.17] limited performance (not more than 20 req/s)

2016-07-15 Thread Tarek Jarraya
Hi Claus,

Sorry for late reply.

When I downgraded to camel 2.16.1/3 the performance issue disappears.

Regards,
Tarek

Le mardi 14 juin 2016, Tarek Jarraya  a écrit :

> Hi Both,
>
> Thanks for your interest.
>
> @Claus,
>
> this toD generates only one endpoint. I try to change it to "to" format
> and let you know.
>
> One more thing, our exposed endpoint is using camel servlet.
>
>  uri="servlet://offer/pricing/v1.1">
> 
> 
> 
> 
>
> I saw in the http4 page that if we want to expose an endpoint and attach
> it to route, we use camel-jetty.
> Should we change our exposition?
>
> Some people said that we expose mostly web services with CXF.
> But in that case, we have to implement a class for each endpoint. However,
> with servlet we don't do it, so no more java code.
>
> Any recommendation if the servlet exposition is not adapted for concurrent
> context?
>
> Regards,
> Tarek
>
> On Tue, Jun 14, 2016 at 5:20 PM, Claus Ibsen  > wrote:
>
>> On Tue, Jun 14, 2016 at 4:38 PM, owain 
>> wrote:
>> > Is there a typo toD in here?
>> >
>> > > >
>> uri="{{pricing-wsrest-endpoint}}=true=true"
>> > />
>> >
>>
>> toD is a dynamic to.
>>
>> How many unique endpoints does {{pricing-wsrest-endpoint}} generate in
>> your test?
>>
>> If the dynamic part is the context-path and/or uri parameters its
>> better to use  and then use a header (HTTP_PART / HTTP_QUERY etc)
>> to provide the dynamic context-path / uri parameters. Then you reuse
>> same endpoint/producers.
>> http://camel.apache.org/http4
>>
>>
>>
>>
>>
>>
>>
>> >
>> >
>> >
>> >
>> > --
>> > View this message in context:
>> http://camel.465427.n5.nabble.com/camel-2-17-limited-performance-not-more-than-20-req-s-tp5783980p5784041.html
>> > Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>>
>> --
>> Claus Ibsen
>> -
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
>>
>
>


Re: [camel 2.17] limited performance (not more than 20 req/s)

2016-06-14 Thread Tarek Jarraya
Hi Both,

Thanks for your interest.

@Claus,

this toD generates only one endpoint. I try to change it to "to" format and
let you know.

One more thing, our exposed endpoint is using camel servlet.







I saw in the http4 page that if we want to expose an endpoint and attach it
to route, we use camel-jetty.
Should we change our exposition?

Some people said that we expose mostly web services with CXF.
But in that case, we have to implement a class for each endpoint. However,
with servlet we don't do it, so no more java code.

Any recommendation if the servlet exposition is not adapted for concurrent
context?

Regards,
Tarek

On Tue, Jun 14, 2016 at 5:20 PM, Claus Ibsen  wrote:

> On Tue, Jun 14, 2016 at 4:38 PM, owain 
> wrote:
> > Is there a typo toD in here?
> >
> >  >
> uri="{{pricing-wsrest-endpoint}}=true=true"
> > />
> >
>
> toD is a dynamic to.
>
> How many unique endpoints does {{pricing-wsrest-endpoint}} generate in
> your test?
>
> If the dynamic part is the context-path and/or uri parameters its
> better to use  and then use a header (HTTP_PART / HTTP_QUERY etc)
> to provide the dynamic context-path / uri parameters. Then you reuse
> same endpoint/producers.
> http://camel.apache.org/http4
>
>
>
>
>
>
>
> >
> >
> >
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/camel-2-17-limited-performance-not-more-than-20-req-s-tp5783980p5784041.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>


Re: [camel 2.17] limited performance (not more than 20 req/s)

2016-06-14 Thread Claus Ibsen
On Tue, Jun 14, 2016 at 4:38 PM, owain  wrote:
> Is there a typo toD in here?
>
>  uri="{{pricing-wsrest-endpoint}}=true=true"
> />
>

toD is a dynamic to.

How many unique endpoints does {{pricing-wsrest-endpoint}} generate in
your test?

If the dynamic part is the context-path and/or uri parameters its
better to use  and then use a header (HTTP_PART / HTTP_QUERY etc)
to provide the dynamic context-path / uri parameters. Then you reuse
same endpoint/producers.
http://camel.apache.org/http4







>
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/camel-2-17-limited-performance-not-more-than-20-req-s-tp5783980p5784041.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2


Re: [camel 2.17] limited performance (not more than 20 req/s)

2016-06-14 Thread owain
Is there a typo toD in here?







--
View this message in context: 
http://camel.465427.n5.nabble.com/camel-2-17-limited-performance-not-more-than-20-req-s-tp5783980p5784041.html
Sent from the Camel - Users mailing list archive at Nabble.com.


[camel 2.17] limited performance (not more than 20 req/s)

2016-06-13 Thread Tarek Jarraya
Hi All,


I face a performance issue with camel 2.17 running inside tomcat 7.0.65
I can not run more than 20 user per second (with gatling). Over 20 user/s,
the response time increase drastically, the pool of tomcat thread is
completely used (1000 threads), and also the JVM CPU usage.

My configuration contains only one context, inside one route:
- with two endpoints ("from" servlet "to" http4)
- with two xslt transformation (saxon=true)
- a logging in logback of the 4 xml (2 req and 2 res)

I attach the config file.

I did test locally and I mocked the internal service to be sure that all
latency comes from camel. Most requests spends 5 seconds inside camel
before calling internal mock service.

I played with pools sizing but no improve. For tomcat, I use the default
configuration (1000 max thread pool). For http4, I try to add some options
=1000=1000.

Any advise for investigation with be appreciated.

Regards,
Tarek
http://www.domain.com/bs/common/v1;
		xmlns:ecom="http://www.domain.com/schema;>
	
		
		

		

		
		
			
			
			
		

		
		
			
			
			

	
	

	
	
		//com:partner/@code
	
	
		//com:country/@code