Subscribe

Posts Tagged ‘performance’

Easily optimizing Python: Extending with Java

Monday, July 19th, 2010

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.
(more…)

Beyond Integration, Part 1: Peak Time Handling

Wednesday, June 9th, 2010

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. (more…)

The new Mule ESB Management Console

Thursday, May 13th, 2010

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.

(more…)

Tcat Server 6 R2 P1 Released, Including the Newest Apache Tomcat

Tuesday, March 23rd, 2010

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:
(more…)

Mule MQ – Performance Tests

Tuesday, January 26th, 2010

We have received a great early response so far to our recent release of Mule MQ, MuleSoft’s new JMS messaging server.  The response is not unexpected, since the Mule ESB user base has been requesting that we provide a JMS server which has been tested and is supported along with Mule ESB.  Hundreds of organizations have downloaded Mule MQ for evaluation and we have been hearing great feedback from the Mule community.

Some people have been very interested in the performance of Mule MQ, and they have asked us to provide more details about the tests we have run to validate performance. It’s clear that performance is one of the most important criteria for selecting a JMS messaging product, so our product team spent a great deal of time benchmarking Mule MQ against the most popular JMS products currently available.

One of the projects we selected for comparison was Apache ActiveMQ (most product vendors prohibit publishing benchmark data). ActiveMQ is the leading open source JMS technology, and is popular with the Mule community. For that reason, we wanted to understand how Mule MQ would compare ActiveMQ under some common scenarios.

A few things that we considered as we designed our tests:

(more…)

Apache Releases Tomcat 6.0.24 – Whats New

Thursday, January 21st, 2010

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. (more…)

Mule MQ: Yet Another JMS Server?

Wednesday, January 20th, 2010

MuleSoft just announced availability of Mule MQ.

Seriously! Do we really need another messaging server in this already crowded market? Then again, do we really need Google Nexus One and Motorola Droid when Apple’s iPhone supposedly already has almost everything one could ask for? The answer lies in the user’s need for reliability, performance, interoperability, and ease of use – in short, the answer is YES. (more…)

Recompiling Tomcat May Cause Runtime Problems

Thursday, September 24th, 2009

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. (more…)

Tomcat Performance Tuning Tips

Wednesday, September 16th, 2009

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:

(more…)

General purpose monitoring vs. deep diagnostics – choosing the right tool

Monday, September 14th, 2009

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.

(more…)