How APM helps to find the bottlenecks in your Application while doing Load Testing

11 August 2018

To find how the system is behaving under certain load conditions, we need an APM (Application Performance Management) tool integrated to the application to find where the bottleneck is lying in the system which is the cause of poor performance. The most common performance issues are:

Poor scalability If software cannot handle the desired number of concurrent users, long load time, errors percentage increases, or other unexpected behaviour could happen that affects:

Software configuration issues Often, certain settings are not set at a sufficient level to handle the workload.

Poorly written code Which could refer to inefficient code, memory leaks, or synchronization issues and deadlock due to ineffectual algorithms. You can tackle this issue by ensuring that your developers are using the optimal coding practices, as well as some automated tools such as profilers and code reviews.

Unoptimized Databases poor query optimization, when one app function triggers multiple data requests and transfers of data. Or a DB may take too long to return results due to poor indexing.

Third-Party Services make sure the third-party services used by the application may not impact the performance.

New Relic provides a powerful ability to analyse errors. With New Relic agents, you can see the error stack trace, message, and the line of code from which the error was thrown. We can also slice and dice the errors discovered in their applications over time and save hours of manual analysis by using NRAI to instantly identify what' s different about their error transactions.

Some Exclusive features of New Relic APM:

Application Monitoring: Application Monitoring in one place allows you to see your application performance trends at a glance - from page load times, to error rates, slow transactions, and a list of servers running the app.

Response Time, Throughput, and Error Rates - Response time is an average of the total time spent across all web transactions occurring within a selected time frame on the server-side. Throughput is requests per minute through the application. Error rates measures the percentage of errors over a set time period for your application.

Application Histograms & Percentiles - This shows you the distribution of response times for all of your transactions. It will provide you the kind of actionable data you need to quickly pinpoint and troubleshoot problems

Most Time-Consuming Transactions - This list of most time-consuming web transactions provides aggregated details around the surfaced slow transactions occurring during a specified time.

Performance of External Services - The external services dashboard provides charts with your top five external services by response time and external calls per minute. Such as web services, resources in the cloud, and any other network calls.

Thread Profile - Stack traces are collected over a specified duration, aggregated and displayed in a detailed call tree for fine-grained diagnosis. This makes performance monitoring at its easiest.

Time spent - The database overview provides a stack ranking of the most time consuming database calls along with aggregated metrics around response times and throughput and slow SQL traces.

SQL Query Analysis - Track the exact SQL statements that are slowing down your site. Get samples of the worst performing SQL and stack traces to understand exactly where the SQL is used in your code, and how to fix it.

Slow SQL Report - Slow SQL samples are examples of the worst performing SQL on your site. Along with the SQL, New Relic collects the context and diagnostic information you need to fix your database performance issues.

Database/cache operations - ‘All Operations Table’ that is designed to show every operation for all databases and caches for the app within the selected time window.

Availability & Error Monitoring

Alert Policies - Alert policies allow you to set thresholds for groups of applications with similar alerting needs.

Availability Monitoring - New Relic uses an external pinger to verify your users can reach your application site, by making requests to them regularly, recording errors, and sending downtime alerts when an application is down.

Reports: Create and receive customized reports that are just as easy to read as they are to share. Our detailed reports include everything from deployments and availability, to performance and customized dashboards.

With few more feature for pro users, which helps to detect the bottlenecks in the application more effectively.Performance testing and APM monitoring go hand in hand to find the root cause of bottlenecks quickly and efficiently.