Cloud Native Apps

Hacking the Performance Monster

By Sameer Paradkar posted Sat October 24, 2020 10:57 AM




In every  application, performance really matters. Research has proved that if an application takes more than 2 seconds to respond to end-user request end-used tend to leave or quite the application.  When end-Users complain about performance and unresponsive features, many of these factors lead to losing those users as customers. In order to satisfy users’ needs, performance must be continuously checked, profiled and monitored.  Performance profiling & optimization occurs by monitoring and analyzing the performance of the application and identifying ways to improve it. An application are a mixture of server-side and client-side components. The application can have performance problems on either side, and both need to be profiled. The client side relates to performance as seen within the web browser. This includes initial page load time, downloading resources, JavaScript that runs in the browser etc. The server side relates to how long it takes to run on the server to execute requests. Optimizing the performance on the server generally revolves profiling & optimizing things like database queries and other application dependencies.


Triangulating Hotspots, Blind Spots and  Vulnerabilities


The approach is to identify the impediments in the application’s performance in order to find the root cause of the issues. By identifying the impediments, one can plan and select the best possible solution and alternative to resolving the performance issues. As the implementation code base is typically very large one must bank on automated tools and utility for static and dynamic analysis to triangulate the performance bottlenecks and hotspots. Please find the diagram that depicts the approach that one can leverage to triangulate hotspots, blind spots and vulnerabilities.

Key Pillars of Performance Assessment


Figure: Key Pillars of Performance Assessment


Tooling & Metrics


One must recognize which profiling & optimization tool might help in analyzing the root cause of performance issues in the application. One will need both profiling, optimization and monitoring tools to identify and triage the performance hotspots. Every tool and profiler have its own features and advantages. Few of these tools have characteristics that allow you to get continuous feedback on the performance for Code and SQL. These tools provide impressive features that help visualizes the entire application and its components, interfaces, database into a dashboard like views that help you deep-dive in and triaging the issues. The following table provide the different tools once can leverage for this purpose.


Tooling - Static & Dynamic Analysis


Table: Tooling - Static & Dynamic Analysis


This is highly advisable that every application one builds should have the right set of performance testing and profiling tools to ensure that the application runs smoothly without a glitch. There are a variety of tools available that can monitor and profile your application’s performance. Choosing the right tool that caters to your organization’s needs should be a priority and done meticulously.

Hacking - Performance Monster


Figure 2: Hacking - Performance Monster



The views expressed in this article are the author’s views and AtoS does not subscribe to the substance, veracity or truthfulness of the said opinion.