Browse Prior Art Database

System and Method to Minimize Response Time in Enterprise Applications by Optimizing System Resources with Minimal Turnaround Time

IP.com Disclosure Number: IPCOM000130619D
Original Publication Date: 2005-Oct-31
Included in the Prior Art Database: 2005-Oct-31
Document File: 2 page(s) / 23K

Publishing Venue

IBM

Abstract

Background -------------------- In an On Demand world, performance is not just a good thing to have - it can make or break a business. Hence it is essential to be able to predict system resource requirements, and configure the same to optimal values with minimal monitoring or trial and error. Performance management is a critical issue that haunts many business partners of IBM when they have complex distributed system with various applications that are defined. The performance of the overall system iscurrently tuned based upon static performance recommendations of an individual performance tester of a particular software application. For example, the database that exists on a system has its own performance tuning guide, the directory server has it own performance tuning guide etc. However, most of the performance tuning guides is made in lab environments which are pretty much best case scenarios not applicable to business partner environments. Problem ------------ Here is a list for performance tuning problems that exists right now: · Static performance tuning guides · No consideration of other applications that are running on the same system or as part of the distributed network · Performance tuning guides are based on analysis on a particular system. · Applicability of tuning parameters on a different hardware · Dynamic tuning of performance for a particular software system based on criteria like resource usage and timing along with other application applications · Distributed application tuning in an on-demand environment which is reflective on the criteria of the system Existing Solutions -------------------------- The advice given by the solutions existing today are based on the background and experience of the performance tuner. So if the tuner's experience has been entirely on windows systems, the advises given by performance monitoring tools will reflect those experiences. These advices may not be the most optimal advices given by the tool when it is monitoring the system in a completely different environment, say in a mainframe. Furthermore, recommendations for configuration changes are currently given by constantly monitering the system for abnormal conditions, and extending advices when such conditions are seen. There are no systems in place that take a proactive, predictive approach (problem anticipation as opposed to problem observation) to making recommendations/advices. Clearly, the current approach does not learn from past experiences, and 'reinvents the wheel' every time a system resource configuration recommendation needs to be made. This adversely impacts the performance of the system,and eventually the response time to requests coming into the system.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

System and Method to Minimize Response Time in Enterprise Applications by Optimizing System Resources with Minimal Turnaround Time

Main Idea

A system for proactively determining the optimal resource configuration at any given time for a system, and making recommendations for resource optimization before the actual need for the resource optimization occurs. The invention maintains a historical database in order to perform this prediction. The system further uses this historical database in conjunction with industry heuristics and the tuner's static knowledge base to predict the most optimal resource configuration on any given platform and hardware environment.

The current invention consists of the following parts:

a. A system monitor
b. Historical Database
c. Calculation Engine
d. Dynamic profile creation
e. Configuration changer

The system monitor, monitors the system at specific intervals. It aggregates the resource usage statistics from various components of the system such as network, cpu cycles, etc at a specific system configuration (thread pool size = X, connection pool size = Y, etc) and persists this information in the historical database. The data so persisted is a function of the applications that are hosted on the system and time. This consitutes a profile.

If, at some point during the day, for a specific set of applications, the system runs out of thread pools, the system monitor takes note and a trial and error approach is used to determine the optimal...