Performance Issues

Recently I was asked to look at an interface which had some serious performance issues. The interface was responsible for downloading tasks (and sub-tasks) into the database, and was taking around 35 minutes to complete:

The setup was as follows:

The database call was split up as follows:
• Pre-processing
• Insert tasks (one call per task)
• Insert sub-tasks (one call per sub-task)
• Post-processing

PI has the ability to contain all of these parts in one message, which in this case is a necessity because the sender interface is synchronous.

However, PI has some more flexibility with asynchronous interfaces, and in this particular scenario, ECC did not require the response (which was left unhandled). We were able to implement a tRFC in ECC (which is an asynchronous version of RFC).

This meant we could split the message into 4 parts, each processed separately. Using the Interface determination for this avoids the need for BPM, and allows us to assign separate communication channels for each part. It also allows us to maintain the order in which parts have to be processed (naturally, the post-processing must happen after all the rest).

Using this setup allows us to optimise each part separately. The two insert tasks benefitted greatly from using the batch-insert option provided in the JDBC adapter, and after also enabling bind variables, the processing time was just a fraction of the original (around 200x faster):

Original: ~5000 records in 35 minutes
Optimised: ~7500 records in 15 seconds

blogger

blogger

Curious to know more about this topic?

Working at i8c

i8c is a system integrator that strives for an informal atmosphere between its employees, who have an average age of approx 30 years old. We invest a lot of effort in the professional development of each individual, through a direct connection between the consultants and the management (no multiple layers of middle management). We are based in Kontich, near Antwerp, but our customers are mainly located in the triangle Ghent-Antwerp-Brussels and belong to the top 500 companies in Belgium (Securex, Electrabel, UCB, etc…).

Quality Assurance

i8c is committed to delivering quality services and providing customer satisfaction. That’s why we invested in the introduction of a Quality Management System, which resulted in our ISO9001:2000 certification. This guarantees that we will meet your expectations, as a reliable, efficient and mature partner for your SOA & integration projects.

i8c - ISO9001-2015

Also worth reading

Integrating with TIBCO CLOUD

Our experts Glenn, Jason, Jurgen, and Kevin dedicated an i8c FastTrack Day to examining the TIBCO iPaaS offering. Check out their Research & Development day report to learn what they uncovered. 👇  TIBCO CLOUD™ The TIBCO Cloud™ Integration enterprise integration platform-as-a-service (iPaaS) provides self-service integration

Read More »

Meet our Integration Specialist – Alexandra

Alexandra worked in tech for 15 years before joining i8c. With lots of experience in API management and Java development, we’re thrilled to add yet another expert to our i8c community! It’s pretty clear why we want to work with Alexandra, so let’s take a

Read More »