Wednesday, August 25, 2021

Bottlenecks

Tuning : it is an area to find out the bottlenecks in different levels
Bottleneck : it is a breaking point where the server will upgrade and degrade
  • Memory leaks
  • Array bound errors
  • Inefficient buffering
  • Too many processing cycles
  • A larger number of HTTP transactions
  • Too many file transfers between memory and disk
  • Inefficient session state management
  • Thread contention due to maximum concurrent users
  • Poor architecture sizing for peak load
  • Inefficient SQL statements
  • Lack of proper indexing on the database tables
  • An inappropriate configuration of the servers
CPU utilization bottleneck.
There are two possible causes of CPU utilization bottleneck. The first one may be caused due to the CPU preprocessor running at over 80% capacity. The second possible cause is insufficient system memory.
Memory utilization bottleneck.
The most common reason that causes Memory utilization bottleneck is insufficient or fast enough RAM. Lack of enough memory causes the computer to start offloading storage via a very slow HDD or SSD to keep it running.
Software limitation bottleneck.
Software limitation bottleneck may be caused by programs that are only built to work with a single CPU. When they are linked to a stream of CPUs, they find it hard to handle a number of tasks at once.
Networking utilization bottleneck.
A networking utilization bottleneck occurs when two devices have a problem communicating with each other due to a lack of bandwidth. The lack of processing power between the two devices to enhance communication is due to the overloaded server and network between the two devices.
Disk usage bottleneck.
This type of bottleneck causes the reduction in the disk usage speed due to fragmentation issues

Bottlenecks which are in DB :- 
  • High SQL Parsing(Hard Parse and Soft Parse);
  • Establishing New Connections repeatedly
  • High levels of Contentions for small amount of Data(Application level block Contention)
  • Different configuration issues
    1. Incorrect sizing of Log Files
    2. Too many Check Points
    3. Sub-Optimal Parameter settings.
Bottlenecks which are caused by SQL statements :-
  1. Insufficient high load statements
  2. Object Contention - DB Objects are the main source of Contention(Bottleneck).
  3. Tuning SQL Statement may change execution plans
  4. Analyse the impact of  SQL Tuning in test DB using SQL Performance Analyser.
  5. DB Time (Wait Time + CPU Time of all the sessions).
  6. Perform AWR Analysis for every 1 Hour.
What are the performance bottlenecks that you found in the projects you were working? What are the recommendations made to overcome those issues?
Ans: Following are the bottlenecks found in the application during performance testing:

The bottleneck in the JavaScript and CSS request which increases the response time of the application webpage.
While login to the application which includes database related transactions; seems very slow, then I started my investigation by looking into the tables in the database. I found that indexing was not present in the tables. Once the indexing is attached for the tables then readability became very fast and response time improved.

How to identify performance bottlenecks?
AnsFirstly analyse the performance testing graph and filter out the time window when the issue occurred. Secondly, correlate the client-side metric graph with server-side metric graph and analyse the server behaviour at that particular time. After that investigate the server logs and DB logs and find out the root cause. The application performance monitoring (management) tools make the root cause identification process easier and quicker.

No comments:

Post a Comment

Thread

Native Thread Demon Thread Non-Demon Thread Native Thread: - Any Method/Thread which is mapped to OS is called Native Thread or Method. Demo...