Identifying and analyzing the bottlenecks in performance testing is very critical and challenging task. In this blog post, we will see about the key factors involved in bottleneck analysis.
What are bottlenecks?
Bottlenecks are the point in which your application faces difficulty to behave as intended. This is the definition from WhatIs.com Below are the key parameters considered for causing bottlenecks:
- CPU Utilization
- Memory Utilization
- Network Utilization
- Disk Utilization
To analyze the bottlenecks detailed logs should be collected. Following are the tools can be used to collect the logs in the system.
1.      Profilers
SQL Profilers can be used to collect all the logs like response time of SQL queries, database health analysis, stored procedure performance etc.
2.      Traces
Traces are the collection of data and events from the database server. Traces can be collected at client side as well as from server side. By describing the events using data columns we can collect the traces for analysis.
3.      Counters
Counters log data used to validate the health of the system during execution. For Windows OS, perfmon can be used (go to Run > perfmon); for UNIX environment, vmstat, iostat can be used to collect the logs.
Data collected for the analysis should be compared with industry standards and Service Level Agreement (SLA). If any conflicts found, results should be sent to architects for tuning.
Following are the important client side and server side parameters needs to be captured for analysis during load testing. Best Girls near me.
Client side parameters
- Average response time for all the pages
- Average maximum response time for all the pages
- Attained Hits per second
- Actual Hits per second
- Throughput
- % of errors
- 100% Page check validation
Server side parameters
- CPU utilization
- %processor time
- Memory Utilization
- Available memory Vs. memory utilized
- Network Utilization
- Bytes received Vs. Bytes sent
- Disk Utilization
- Input Output per sec (IOPS)
- Connection pooling
- Top wait
- Locks
- Sessions active / inactive
Testing should be done at each component in the architecture if the system involved multiple tiers. Bottleneck analysis is never ending cycle. It should be done often, early and parallel with the Software Development Life Cycle.
Subscribe to our QAInsights YouTube Channel. If you are enjoying our work, please do subscribe our free weekly newsletter or Google feeds.
Good work Naveen. Thanks for sharing this nice piece of information. Please keep it up.
Many thanks Sajid! :)