Detecting network bottlenecks

Posted: September 13th, 2008 | Author: TnT Admin | Filed under: Analyze | Tags: , | No Comments »

At the network level, many things can affect performance. The bandwidth (the amount of data that can be carried by the network) tends to be the first culprit checked. Assuming you have determined that bad performance is attributable to the network component of an application, there is more likely cause of bad network performance than network bandwidth. The most likely cause of network performance is the application itself and how it is handling distributed data and functionality. Read the rest of this entry »


Detecting memory bottlenecks

Posted: September 9th, 2008 | Author: TnT Admin | Filed under: Analyze | Tags: , | 2 Comments »

Monitoring the system memory (RAM) is not usually helpful in identifying memory performance problems. A better indicator will be monitoring paging activities to the page/swap file. Memory paging activities will be covered in another article. Most current OS have virtual memory comprising of the actual (real) system memory using physical RAM chips, and one or more page/swap files on the system disks. Processes that are currently running are operating in real memory. The OS can take pages from any of the processes currently in real memory and swap them out to disk. This is known as paging. Paging leaves free space in real memory to allocate to other processes that need to bring in a page from disk. Obviously, if all the processes currently running can fit into real memory, there is no need for the system to swap out any pages. However, if there are too many processes to fit into real memory, paging allows the system to free up system memory to run more processes. Read the rest of this entry »


Detecting disk bottlenecks

Posted: September 4th, 2008 | Author: TnT Admin | Filed under: Analyze | Tags: , | No Comments »

In most cases, applications can be tuned so that disk I/O does not cause any serious performance problems. However, performance problem may still persist even after application tuning. In this article, we will be addressing common disk bottlenecks and their tuning techniques.

Identifying whether the system has a problem with disk utilization first. Each system provides its own tools to identify disk usage (Windows: Perfmon, and UNIX: sar, vmstat, iostat utilities). For a start, identify whether the paging is an issue (look at disk-scan rates) and assess the overall utilization of your disks (e.g. Disk Transfers/sec on Windows, output from iostat –D on UNIX). It may be that the system has a problem independent of your application (e.g. unbalanced disks), and correcting this problem may resolve it. Read the rest of this entry »


Detecting processor bottlenecks

Posted: August 30th, 2008 | Author: TnT Admin | Filed under: Analyze | Tags: , | 10 Comments »

In this article of “Detecting processor bottlenecks”, we are providing a general idea of determining the bottleneck with two broad categories, namely (a) Processor Load and (b) Process Priorities. Taken from the book, “Java Performance Tuning” written by Jack Shirazi, its recommended to go through it to get a better understanding in determining resource bottlenecks and the of tuning Java technologies. The term CPU and Processor refers to the same thing are used interchangeably in this article. Read the rest of this entry »


WASJDK: java.lang.OutOfMemoryError due to allocating large heap objects

Posted: July 31st, 2008 | Author: TnT Admin | Filed under: Analyze | Tags: , | No Comments »

Taken from the IBM Public Library for Websphere 4.x (a little out-dated). In this featured article for WebSphere 4.x, the concept is applicable to most J2EE application in determining if java.lang.OutOfMemoryError is due to allocation of large heap objects which is the cause of heap fragmentation. Heap fragmentation can be detected when there is a (a) high amount of free heap and a (b) high amount of memory in heap while a (c) “totally out of heap space message” occur. Techniques on how to resolve the problem such as coding it to prevent heap fragmentation, diminishing the effect of potential heap fragmentation are discussed in the article, etc. To get the article, click on the following link: Read the rest of this entry »