Tag: Performance

Overview

Once you have a working Mule ESB application you may be wondering how fast it can run. Here we will discuss a simple method for measuring the throughput of your application using Apache JMeter.

Bear in mind there are many ways to improve performance (simple changes can yield great performance boosts). We will explore them in greater detail in a follow-up blog post covering Mule application tuning.

Mariano Capurro on Friday, January 21, 2011

Run Mule… run faster

3

Opposite to men that with the years we get slower (at least that’s my case), the new version of Mule 3 showed an improvement in performance compared to previous Mule ESB versions. In general plenty of effort was put to profile and optimize Mule for high concurrency scenarios, which led to improve the way messages were handled in transports and transformers.

Mule 3.1 performance is in average 10% better than its predecessor version 2.2.7, performing better when the number of concurrent consumers gets bigger and much better when dealing with XSLT transformations (around 15% better).

The test cases and setup were similar as the ones used some time ago to benchmark Mule 2.0.2. For more details on these benchmarks please refer to Whitepaper Perf Test Results.

Our RESTx project – a platform for the rapid and easy creation of RESTful web services and resources – is largely written in Python. Python is a dynamic, duck-typed programming language, which puts very little obstacles between your idea and working code.cartoon_duck At least that’s the feeling I had when I started to work with Python several years ago: Never before was I able to be so productive, so quickly with so few lines of code. I was hooked. No wonder some people describe it as ‘executable pseudo code': Just write down what you want and for the most part, it will actually work.

Now there’s a price to pay for this increased developer productivity, where the interpreter somehow figures out at run time what it is that you actually want to do and how to let your code deal with all sorts of different types: Python is interpreted, it’s dynamic and this means that for the most part it’s slower than compiled languages.

In this article here, I will talk about an interesting optimization technique for Python, which will come as a surprise to many Python developers.

As an integration framework and broker, Mule ESB is the platform of choice for implementing and deploying enterprise integration solutions and related services. In this series of posts, I’m going to look at situations beyond the traditional integration scenarios where using Mule ESB has enabled the implementation of effective and elegant solutions.

In this first installment, I will talk about using Mule ESB as a frontal load-throttling middleware for applications that are not able to handle sudden peaks of requests, as illustrated in the following diagram.

I’m proud to announce that we have released the new Mule ESB Management Console (MMC) — this is an important step forward for Mule ESB.

We built MMC based on significant feedback from our customers, and we put the product through two early access pre-releases to incorporate feedback from real users. I must say that I’m pretty pleased with the end result — I hope that you find it as useful as we do.

We’re pleased to announce the immediate availability of our newest release of Tcat Server 6. This new release includes many fixes, in addition to bundling the Apache Software Foundation’s official release binaries of the newest Tomcat release, version 6.0.26.

Here is a summary of the changes and fixes that are included in the new version of Tomcat, since our last release of Tcat Server 6:

jasonb on Thursday, January 21, 2010

Apache Releases Tomcat 6.0.24 – Whats New

3

The new stable release of Tomcat 6.0.24 represents six months of open source software development. Version 6.0.24 includes a small number of new features, plus a large amount of important bug fixes and enhancements. This release is an incremental bug fix release, but the number of fixes included in this release is high.

jasonb on Thursday, September 24, 2009

Recompiling Tomcat May Cause Runtime Problems

0

It’s a very good thing that Tomcat is open source software. Because it is open, it enjoys broad stand-alone adoption, plus it has been incorporated as part of many other application server products, both commercial and open source. Why reinvent the wheel when Tomcat works great as a generic web container, and the source code is free? Many smart application server teams have chosen to embed Tomcat as their web container. They pull a copy of the Tomcat source code that they know works well, put it into their own source tree, and hook Tomcat’s Ant build system into their own, and rebuild Tomcat as part of their project.

jasonb on Wednesday, September 16, 2009

Tomcat Performance Tuning Tips

2

I often get questions about how to tune Tomcat for better performance.  It is usually best to answer this only after first spending some time understanding the installation of Tomcat, the web site’s traffic level, and the web applications that it runs.  But, there are some general performance tips that apply regardless of these important details.  In general, Tomcat performs better when you:

The promise of a monitoring solution that will pinpoint application problems and give you exact steps to fix the problem has remained a dream. In addition, monitoring systems have become notorious for being expensive and difficult to maintain. Diagnosing application performance problems requires application-specific diagnostic information that general-purpose monitoring tools often do not provide.

While system monitoring products are useful in triaging a problem and assigning responsibility to a particular team (for ex: Application Server team), they often do not provide the necessary details to help you determine the problem and fix it. Monitoring products are described by their users as mile wide, inch deep – great for providing high-level visibility into broader systems such as browsers, web servers, app servers, network devices, databases, storage etc, but not so great for specific diagnostic information that you need for fixing problems.

Instead, it often takes specific diagnostics tools tied to the application container to really be able to effectively drill down into the data sufficiently.

In this article, we will use Apache Tomcat as an example, and explore a few scenarios where Tomcat administrators need more information to help determine the problem.