Skip to main content


Showing posts from June, 2018

Improving Performance with Parallelisation and Database Streaming

My current workplace is in the process of shifting services from another ESB implementation to MuleSoft's platform and has already re-written a number of services in a "like-for-like" process - that is, the MuleSoft implementation is as close to a copy/paste of the old implementation as possible, without bug fixes or improvements. While this might sound odd to some, it's part of the bigger plan - first a seamless transition to Mule then enhancements, fixes and optimisations.

As part of this transition, one such service - a search service - has already been migrated. This service provides functionality to support a web application, allowing its users to search for information in real time.

Recently I was asked to have a look at the performance of the search. Even though a like-for-like implementation had been provided, in some cases the search was timing out after 30 seconds - and this is not ideal for a synchronous service which has a user waiting for the results.