You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Matt Raible <ma...@raibledesigns.com> on 2014/07/29 22:11:56 UTC

Load Testing Camel Routes

Hello all,

I'm getting ready to put a Camel / CXF / Spring Boot application into production. Before I do, I want to load test and verify it has the same throughput as a the IBM Message Broker system it's replacing. Apparently, the old system can only do 6 concurrent connections because of remote database connectivity issues. 

I'd like to write some tests that make simultaneous requests, with different data. Ideally, I could write them to point at the old system and find out when it falls over. Then I could point them at the new system and tune it accordingly. If I need to throttle because of remote connectivity issues, I'd like to know before we go to production. Does JMeter or any Camel-related testing tools allow for this?

Thanks,

Matt

RE: Load Testing Camel Routes

Posted by "Elvio Caruana (ecaruana)" <ec...@cisco.com>.
Hi Matt,

I've replaced JMeter with Gatling [1], which has a nice DSL to work with and in my opinion much faster to write tests when compared to JMeter. Having said that, the apache ab tool (cli) [2] is useful for the initial checks. If you have routes that work concurrently, Camel's JMX statistics has proved invaluable to find bottlenecks especially when tuning the optimal number of threads required. A good profiling tool also helps.

Also, if you're using Jetty for CXF, keep an eye on its threading parameters.

[1] https://github.com/excilys/gatling , https://github.com/excilys/gatling/wiki/Gatling-2
[2] http://httpd.apache.org/docs/2.2/programs/ab.html


Elvio

-----Original Message-----
From: Christian Müller [mailto:christian.mueller@gmail.com] 
Sent: 29 July 2014 21:32
To: users@camel.apache.org
Subject: Re: Load Testing Camel Routes

Hi Matt!

We are using httpcore-ab [1] to load test our web services. Unfortunately, you cannot change the payload for each test, but it works well for us.

[1]
http://search.maven.org/#artifactdetails|org.apache.httpcomponents|httpcore-ab|4.3.2|jar

Best,

Christian
-----------------

Software Integration Specialist

Apache Member
V.P. Apache Camel | Apache Camel PMC Member | Apache Camel committer Apache Incubator PMC Member

https://www.linkedin.com/pub/christian-mueller/11/551/642


On Tue, Jul 29, 2014 at 10:11 PM, Matt Raible <ma...@raibledesigns.com>
wrote:

> Hello all,
>
> I'm getting ready to put a Camel / CXF / Spring Boot application into 
> production. Before I do, I want to load test and verify it has the 
> same throughput as a the IBM Message Broker system it's replacing. 
> Apparently, the old system can only do 6 concurrent connections 
> because of remote database connectivity issues.
>
> I'd like to write some tests that make simultaneous requests, with 
> different data. Ideally, I could write them to point at the old system 
> and find out when it falls over. Then I could point them at the new 
> system and tune it accordingly. If I need to throttle because of 
> remote connectivity issues, I'd like to know before we go to 
> production. Does JMeter or any Camel-related testing tools allow for this?
>
> Thanks,
>
> Matt

Re: Load Testing Camel Routes

Posted by Christian Müller <ch...@gmail.com>.
Hi Matt!

We are using httpcore-ab [1] to load test our web services. Unfortunately,
you cannot change the payload for each test, but it works well for us.

[1]
http://search.maven.org/#artifactdetails|org.apache.httpcomponents|httpcore-ab|4.3.2|jar

Best,

Christian
-----------------

Software Integration Specialist

Apache Member
V.P. Apache Camel | Apache Camel PMC Member | Apache Camel committer
Apache Incubator PMC Member

https://www.linkedin.com/pub/christian-mueller/11/551/642


On Tue, Jul 29, 2014 at 10:11 PM, Matt Raible <ma...@raibledesigns.com>
wrote:

> Hello all,
>
> I'm getting ready to put a Camel / CXF / Spring Boot application into
> production. Before I do, I want to load test and verify it has the same
> throughput as a the IBM Message Broker system it's replacing. Apparently,
> the old system can only do 6 concurrent connections because of remote
> database connectivity issues.
>
> I'd like to write some tests that make simultaneous requests, with
> different data. Ideally, I could write them to point at the old system and
> find out when it falls over. Then I could point them at the new system and
> tune it accordingly. If I need to throttle because of remote connectivity
> issues, I'd like to know before we go to production. Does JMeter or any
> Camel-related testing tools allow for this?
>
> Thanks,
>
> Matt