System and method for dynamically analyzing and improving the performance of a network
First Claim
1. A method of operating a client-server computer system, comprising the steps of:
- 1) establishing a saturation response time RTsat of a server computer in the computer system, the saturation response time RTsat representing a maximum acceptable time by which the server computer should respond to a service request from any of client computers in the computer system;
2) performing the following steps once per successive plotting intervals;
i) measuring, for each of client computers in the computer system labelled (a, b, . . . ) and a number N of successive sampling intervals labelled (1, 2, . . . , N), sets of actual response times {RTa, RTb, . . . }1, {RTa, RTb, . . . }2, . . . {RTa, RTb, . . . }N, each element of each set representing an actual response time required for the server computer to respond to a service request from the corresponding client computer during the corresponding sampling interval;
ii) calculating the average value of the elements in each set of measured actual response times, the calculated values representing a set of average actual response times labelled {RT1, RT2, . . . , RTN };
iii) creating a set of ordered pairs of average actual response times {(RT1, RT1), (RT2, RT1), (RT3, RT2), . . . , (RTN, RTN-1)} from the calculated average actual response times;
iv) creating a 2-dimensional array of M2 macrostates of the computer system, wherein M is an integer whose value is chosen so that the quantity RTsat /M is an increment of response time that is meaningful to an operator of the computer system, each macrostate representing a pair of actual average response times of the server computer during two corresponding adjacent sampling intervals and having a unique pair of indices each selected from the set of response times {0, RTsat /M, 2RTsat /M, 3RTsat /M, . . . , RTsat };
v) assigning each of the ordered pairs of average actual response times to a corresponding macrostate whose indices are both the highest among those macrostates whose indices are both less than the corresponding response times in the ordered pair;
vi) counting the number of ordered pairs assigned to each macrostate;
vii) calculating the proportion of ordered pairs assigned to each macrostate; and
viii) calculating an entropy value S equal to the negative of the sum over all macrostates of the product of the proportion of ordered pairs assigned to that macrostate and the logarithm of that proportion;
3) plotting entropy as a function of time using the entropy values S calculated during each plotting interval; and
4) determining from the plot of entropy as a function of time whether the entropy has reached a maximum acceptable threshold value, and if so notifying the operator.
0 Assignments
0 Petitions
Accused Products
Abstract
In a method and system for dynamically improving the performance of a server in a network, a tuning system monitors a workload of the server in real time, monitors a set of internal performance characteristics of the server in real time, and monitors a set of adjustable server parameters of the server in real time. The workload of the server may include the frequency and type of service requests received by the server from clients in the network. The internal server performance characteristics may include, for example, a data cache hit ratio of a data cache in the server. The set of server parameters may include, for example, the overall data cache size or the data cache geometry of the server. The tuning system periodically alters one or more of the set of adjustable server parameters as a function of the workload and internal performance characteristics of the server. Since the tuning system is continuously monitoring workload and performance characteristics of the server and altering the server parameters accordingly, the effectiveness of a given change in the server parameters is reflected in the next set of monitored workload and performance values.
-
Citations
1 Claim
-
1. A method of operating a client-server computer system, comprising the steps of:
-
1) establishing a saturation response time RTsat of a server computer in the computer system, the saturation response time RTsat representing a maximum acceptable time by which the server computer should respond to a service request from any of client computers in the computer system; 2) performing the following steps once per successive plotting intervals; i) measuring, for each of client computers in the computer system labelled (a, b, . . . ) and a number N of successive sampling intervals labelled (1, 2, . . . , N), sets of actual response times {RTa, RTb, . . . }1, {RTa, RTb, . . . }2, . . . {RTa, RTb, . . . }N, each element of each set representing an actual response time required for the server computer to respond to a service request from the corresponding client computer during the corresponding sampling interval; ii) calculating the average value of the elements in each set of measured actual response times, the calculated values representing a set of average actual response times labelled {RT1, RT2, . . . , RTN }; iii) creating a set of ordered pairs of average actual response times {(RT1, RT1), (RT2, RT1), (RT3, RT2), . . . , (RTN, RTN-1)} from the calculated average actual response times; iv) creating a 2-dimensional array of M2 macrostates of the computer system, wherein M is an integer whose value is chosen so that the quantity RTsat /M is an increment of response time that is meaningful to an operator of the computer system, each macrostate representing a pair of actual average response times of the server computer during two corresponding adjacent sampling intervals and having a unique pair of indices each selected from the set of response times {0, RTsat /M, 2RTsat /M, 3RTsat /M, . . . , RTsat }; v) assigning each of the ordered pairs of average actual response times to a corresponding macrostate whose indices are both the highest among those macrostates whose indices are both less than the corresponding response times in the ordered pair; vi) counting the number of ordered pairs assigned to each macrostate; vii) calculating the proportion of ordered pairs assigned to each macrostate; and viii) calculating an entropy value S equal to the negative of the sum over all macrostates of the product of the proportion of ordered pairs assigned to that macrostate and the logarithm of that proportion; 3) plotting entropy as a function of time using the entropy values S calculated during each plotting interval; and 4) determining from the plot of entropy as a function of time whether the entropy has reached a maximum acceptable threshold value, and if so notifying the operator.
-
Specification