WO2006046297A1 - 分析方法及び装置 - Google Patents

分析方法及び装置 Download PDF

Info

Publication number
WO2006046297A1
WO2006046297A1 PCT/JP2004/016051 JP2004016051W WO2006046297A1 WO 2006046297 A1 WO2006046297 A1 WO 2006046297A1 JP 2004016051 W JP2004016051 W JP 2004016051W WO 2006046297 A1 WO2006046297 A1 WO 2006046297A1
Authority
WO
WIPO (PCT)
Prior art keywords
delay time
server
storage unit
average
stored
Prior art date
Application number
PCT/JP2004/016051
Other languages
English (en)
French (fr)
Inventor
Shinji Kikuchi
Ken Yokoyama
Akira Takeyama
Kenichi Shimazaki
Takamitsu Maeda
Koji Ishibashi
Seiya Shindo
Koutarou Tsuro
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2006542174A priority Critical patent/JP4180638B2/ja
Priority to EP04793159.7A priority patent/EP1806658B1/en
Priority to PCT/JP2004/016051 priority patent/WO2006046297A1/ja
Publication of WO2006046297A1 publication Critical patent/WO2006046297A1/ja
Priority to US11/739,946 priority patent/US8560667B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Definitions

  • the present invention relates to an analysis technique relating to a response of a computer system.
  • Japanese Patent Application Laid-Open Publication No. 2004-21756 describes the response performance of each application under various usage conditions for one or more applications operating on an information system, with a limited number of experiments.
  • the technique to evaluate automatically is disclosed. More specifically, when multiple load-in experiments corresponding to various usage situations of the application are performed multiple times, the quantity relating to the application usage situation, the quantity relating to the response performance of the application, and the quantity relating to the hardware 'resource usage situation Hardware 'resources' quantity of response performance is obtained, and an estimation formula group describing the dependency between the quantities is created. Therefore, it is possible to evaluate the response performance of the application using the estimation formula group.
  • this technique requires an “experiment” and cannot be analyzed with normal processing.
  • Patent Document 1 Japanese Patent Laid-Open No. 2004-21756
  • the object of the present invention is to provide a computer for analyzing the response of the computer system using information that can easily acquire the computer power of the analysis target (hereinafter also referred to as monitoring target). Is to provide.
  • An analysis method is an analysis method for analyzing a response of a computer 'system including a plurality of servers, wherein the computer' system power also uses CPU usage rate data of each of the plurality of servers.
  • the average delay time in each server is estimated using the CPU usage rate stored in the CPU usage rate storage unit and the CPU usage rate of each server stored in the CPU usage rate storage unit and the request frequency stored in the request frequency storage unit.
  • an estimation step stored in the server delay time storage unit is an estimation step stored in the server delay time storage unit.
  • the estimation step described above uses the CPU usage rate of each server stored in the CPU usage rate storage unit and the request frequency stored in the request frequency storage unit. Estimated average CPU consumption per unit and stores consumption CPU time in the consumption CPU time storage, and stores average consumption CPU time and CPU usage per request for each server stored in the consumption CPU time storage. The average delay time of each server is estimated using the CPU usage rate of each server stored in the server, and the server delay It may also include a server delay time estimation step stored in the time storage unit.
  • a regression analysis is performed using the CPU usage rate and request frequency of each server in the time zone specified in advance. You may make it estimate the average consumption CPU time per request.
  • the time zone specified in advance it is possible to exclude the time zone in which the user's request is not processed so much, and the calculation accuracy can be improved.
  • a coefficient value representing the relationship between the average consumed CPU time per request of the server and the average delay time in the server is an element for determining the coefficient value.
  • Read the corresponding coefficient value by referring to the matrix storage unit that stores each CPU usage rate for each predetermined unit and the number of CPUs, and calculate the above server's average consumption CPU time per request from the coefficient value
  • the average delay time may be calculated.
  • the above coefficient value is a function of the CPU usage rate and the number of CPUs, so it can be calculated each time. However, since the calculation amount actually increases, as described above to increase the processing speed. It may be stored in the matrix storage unit.
  • a step of estimating an average delay time for each category may be further included.
  • the average delay time for each layer may be calculated with the layer as a category. For example, it is for extracting a problem for every work.
  • the method may further include a step of estimating an average delay time of the entire computer system using the data stored in the server delay time storage unit and storing it in the system delay time storage unit.
  • the above computer stored in the system delay time storage section is generated at a location other than the server due to the difference from the average delay time of the entire system.
  • the method may further include a step of estimating the delay time. If the delay time that occurs outside the server is shorter than the average delay time of the entire computer system, the estimation is inappropriate for some reason, and it is possible to detect such a case.
  • the correlation coefficient between the total of the average consumed CPU time and the request frequency is calculated, the reliability of the average delay time for each category is determined based on the correlation coefficient, and the reliability data is stored. And a correction step of correcting the average delay time for each category based on the reliability of the average delay time for each category stored in the reliability data storage unit and storing in the storage device.
  • the average delay time is used as it is with high reliability, and a large correction is made for the average delay time with low reliability.
  • the correction step described above is highly reliable for the average delay time for each category!
  • the step of sorting in order, the reliability is high, the average delay time for each category is accumulated in order, and the accumulated average delay time is less than the measured delay value and has the maximum value.
  • Steps to specify the order of degrees and the delay time of the next order after the specified order of reliability accumulate the average delay time for each category until the specified order of reliability And a step of correcting the difference from the value obtained by doing so.
  • the CPU usage rate of each server is changed according to the changed request frequency and stored in the storage device. Estimating the average delay time in each server using the CPU usage rate of each server after the change and storing it in the storage device, and the server delay time storage unit and each server before and after the change stored in the storage device And outputting the average delay time in a comparable manner. It is possible to know how the delay time changes with changes in the request frequency.
  • the CPU usage rate of each server is changed according to the number of CPUs after the change, and stored in the storage device.
  • Each server using the CPU usage rate and the number of CPUs after the change.
  • a step of calculating an average consumed CPU time per one request for each server in accordance with the number of servers after the change, and storing the CPU time in the storage device Using the average consumption CPU time per request of each server after change stored in the device, the CPU usage rate of each server after change is calculated and stored in the storage device, and stored in the storage device. Estimating the average delay time of each server after the change using the average CPU consumption per request of each changed server and the CPU usage rate of each server after the change, and storing it in the storage device May be further included. For example, if the number of servers is increased, it can be tested how much the delay time is reduced, and the effectiveness of the server can be determined by whether or not the investment is appropriate.
  • the method may further include a step of estimating an average delay time for each category defined by the step and storing the estimated delay time in a storage device.
  • a program for causing a computer to execute the analysis method described above can be created.
  • This program is stored in a storage medium such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, a hard disk, or the like. Stored in the device. Also, it may be distributed as a digital signal via a network. Note that intermediate processing results are temporarily stored in a storage device such as a memory.
  • FIG. 1 is a diagram for explaining the principle of the present invention.
  • FIG. 2 is a diagram for explaining the principle of the present invention.
  • FIG. 3 is a diagram for explaining the entire system in the embodiment of the present invention.
  • FIG. 4A is a functional block of the delay time analyzer in the example of the present invention.
  • FIG. 4B is a functional block of the delay time analyzer in the example of the present invention.
  • FIG. 5 is a diagram showing a main processing flow in the embodiment of the present invention.
  • FIG. 6 is a diagram showing an example of acquired data.
  • FIG. 7 is a diagram for explaining regression calculation in (a) and (b).
  • FIG. 8 is a diagram for explaining the reason for limiting the target of regression calculation to business hours.
  • FIG. 9 is a diagram showing a processing flow of reliability calculation processing.
  • FIG. 10 is a diagram showing a processing flow of delay time correction processing according to reliability.
  • FIGS. 11 (a) to 11 (c) are diagrams for explaining a specific example of a delay time correction process according to reliability.
  • FIG. 12 is a diagram showing a processing flow of a delay time change estimation process when the request frequency varies.
  • FIG. 13 is a diagram showing a processing flow of a delay time variation estimation process when the number of CPUs varies.
  • FIG. 14 is a diagram showing a processing flow of a delay time change estimation process when the number of servers fluctuates.
  • FIG. 15 is a diagram illustrating an example of a table of processing results.
  • FIG. 16 is a diagram showing an example of a graph of processing results.
  • FIG. 17 is a functional block diagram of a computer.
  • Fig. 1 the average delay time for a single server S with multiple CPUs.
  • the server S shown in Fig. 1 has C CPUs from CPU-1 to CPU-C, and requests entered from the outside with request frequency (req / sec) are placed in the queue Sw. Processed with C CPUs. In this case, the CPU usage rate is p (%) .
  • the average stay time T (C, ⁇ ,) of requests in server s is as follows.
  • the average stay time T (C, ⁇ , in the server S has the following relationship: ⁇ represents the proportion of requests that reach the server S. .
  • the average delay time of requests in a specific single layer in multiple layers is obtained using a delay model in a single server.
  • the prerequisite system model is shown in Figure 2. There are M servers S, S,... S in the first tier, and in the second tier
  • is the request to reach the ⁇ -th layer.
  • the request of ⁇ / ⁇ is input, the request that also breaks down the first layer force is (1—H) ⁇ is all all, and each server of the second layer is input with the request of ⁇ ⁇ , From 2 layers
  • the request to leave is ( ⁇ -a ⁇ N-l
  • the request output from the layer is ⁇ ⁇ . Note that l ⁇ n ⁇ N and l ⁇ m ⁇ M.
  • Each layer has different roles such as a Web server used as a front end for a user and an application server for dynamically processing a request. Assigned c
  • the average delay time can be expressed as T (C, ⁇ , ⁇ ).
  • the ⁇ layer
  • the average delay time W of all requests in the nth layer is the average of the average delay times of all servers in the nth layer.
  • H n is defined as follows.
  • the delay time in the entire system Do model ⁇ is as follows.
  • the average delay L of requests that leave the system after using the servers from the first layer to the ⁇ th layer is as follows.
  • Average delay time per request For requests that leave the system after using the servers from the first layer to the i-th layer, express them as the product of those delays and the ratio to the total requests. It can be done as follows.
  • H n represents the delay that occurs in each layer. It can be said that it represents time.
  • Fig. 3 shows an overview of the system including the monitored system 100 and the delay analyzer 120.
  • the monitoring target system 100 is connected to a network and has a configuration of ?? layers (in FIG. 3, two layers are used for simplicity) as shown in FIG.
  • Each layer is provided with load balancers 101 and 102, and the load balancer includes server groups S and S of each layer.
  • the server log 11 la is provided in the first layer server, and the log data is stored when processing the request.
  • Each server is provided with CPU (Central Processing Unit) usage rate acquisition units 112a and 112b.
  • the CPU usage rate is acquired in units of%.
  • These CPU usage rate acquisition units 112a and 112b are general tools that are executed by commands such as sar, mpstat, and iostat in the case of UNIX (registered trademark) OS (Operating System). Many have the same function.
  • the delay analyzer 120 is connected to the monitoring target system 100, and performs processing using the log data and CPU usage rate stored in the server log 11la. In this way, unlike the conventional case, since no special mechanism is incorporated in the monitored system 100, the delay analysis device 120 can be easily introduced, and all packets processed in the monitored system 100 are analyzed. There is no need to use large-capacity storage, so there is a security problem.
  • the delay analyzer 120 is connected to a display device, a mouse, a keyboard, and other input / output units 121.
  • FIG. 4A and FIG. 4B show functional block diagrams of the delay analyzer 120.
  • the delay analyzer 120 includes a request frequency acquisition unit 1201, a CPU usage rate acquisition unit 1202, a log data storage unit 1203, a request frequency storage unit 1204, a measured delay value storage unit 1205, and a CPU usage rate storage unit 1206.
  • the request frequency acquisition unit 1201 receives log data from the server log 11 la of the monitored system 100 and stores it in the log data storage unit 1203, and also stores it in the log data storage unit 1203 according to the input data from the input / output unit 121.
  • the stored log data is processed to calculate the request frequency (req / sec) and stored in the request frequency storage unit 1204. Further, the log data stored in the log data storage unit 1203 is processed to calculate an average delay actual measurement value, and the average delay actual measurement value is stored in the delay actual measurement value storage unit 1205.
  • the CPU usage rate acquisition unit 1202 acquires the CPU usage rate data from the CPU usage rate acquisition unit 112 of the monitoring target system 100 and stores the data in the CPU usage rate storage unit 1206.
  • the CPU time calculation unit calculates the consumed CPU time per request with reference to the request frequency storage unit 1204, the CPU usage rate storage unit 1206, and the system configuration data storage unit 1207, and calculates the calculated data Stored in the CPU time storage unit 1209.
  • the server delay time calculation unit 1 210 calculates the delay time for each server with reference to the CPU time storage unit 1209, the G table storage unit 1211, and the CPU usage rate storage unit 1206, and the calculated data is used as the server delay time. Store in the storage unit 1214.
  • the server delay time calculation unit 1210 may refer to the request frequency storage unit 1204 and the system configuration data storage unit 1207 when the G table storage unit 1211 is not referred to.
  • the layer delay time calculation unit 1215 refers to the server delay time storage unit 1214 and the system configuration data storage unit 1207 to calculate the delay time for each layer, and uses the calculated data as the layer delay time.
  • the system delay time calculation unit 1217 refers to the layer delay time storage unit 1216 and the system configuration data storage unit 1207, calculates the delay time of the entire system, and stores the calculated data in the system delay time storage unit 1218.
  • the residual delay time calculation unit 1219 refers to the actual delay value storage unit 1205 and the system delay time storage unit 1218 to calculate the residual delay time consumed by other devices other than the server, and calculates the calculated data. Stored in the remaining delay time storage unit 1220.
  • the reliability calculation unit 1221 includes a residual delay time storage unit 1220 and a system configuration data size. Refer to the storage unit 1207, the actual delay storage unit 1205, the request frequency storage unit 1204, the CPU usage storage unit 1206, and the layer delay time storage unit 1216, and the remaining delay time consumed by devices other than the server If is less than 0, the reliability is calculated for the delay time of each layer, and the calculated reliability data is stored in the reliability storage unit 1222.
  • the delay time correction unit 1223 corrects the delay time for each layer with reference to the layer delay time storage unit 1216 and the reliability storage unit 1222, and stores the corrected delay time data in the correction delay time storage unit 1224. .
  • the performance prediction processing unit 1213 performs processing using the CPU usage rate storage unit 1206, the system configuration data storage unit 1207, the CPU time storage unit 1209, and the request frequency storage unit 1204.
  • the input / output unit 121 can output data in the storage unit in the delay analyzer 120 to a display device or the like.
  • the request frequency acquisition unit 1201 acquires log data from the server log 11 la of the monitored system 100 and stores it in the log data storage unit 1203.
  • the CPU usage rate acquisition unit 1202 acquires the CPU usage rate of the monitored system 100.
  • the CPU usage rate data is received from the unit 112 and stored in the CPU usage rate storage unit 1206 (FIG. 5: step S 1).
  • log data stored in the log data storage unit 1203 is shown below.
  • the server log is stored as 11 la under the / var / log / httpd / directory!
  • This first item “192.168.164.108” represents the IP address of the accessing client. Paragraphs 2 and 3 are omitted. Section 4 [[14 / Sep / 2004: 12: 27: 50 +0900]] represents the access time. Item 5 GET / ⁇ ! “ioge / SSSS / SSSS—20040816.pdf HTTP / 1. ⁇ ” indicates access contents. The sixth term “200” represents the status (normal here). Section 7 ⁇ 147067 '' is sent Represents the number of received bytes. Section 8 “'“ ”represents the requested URL nose.
  • Section 9 "Mozilla / 4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"” refers to the browser used by the accessing client.
  • the input / output unit 121 receives an input of setting of the analysis target period and the business time zone, and stores it in a storage device such as a main memory (step S3).
  • the business time zone refers to a time zone in which the server spends less CPU time for processing other than requests from users. By specifying the business time zone, it is possible to reduce the estimation error caused by a large amount of CPU time being consumed by the server when there are few requests such as at night.
  • the request frequency acquisition unit 1201 reads the log data in the specified analysis target period and business time zone from the log data storage unit 1203, and counts how many requests are processed every hour, for example.
  • the request frequency acquisition unit 1201 calculates an average delay actual measurement value by adding the time taken to handle all requests every hour and dividing by the number of requests, for example, and the delay actual measurement value storage unit Store in 1205.
  • the CPU usage rate storage unit 1206 calculates the average CPU usage rate of each server S every hour based on the CPU usage rate data stored in the CPU usage rate storage unit 1206, and the CPU usage rate storage unit 1206 Stored in
  • Step S5 When one server has multiple CPUs, the average CPU usage rate of the multiple CPUs is calculated as the CPU usage rate of the server.
  • the average CPU usage rate p i, i represents the i-th unit time (here, every hour).
  • the letter “average” may be omitted.
  • the CPU time calculation unit 1208 refers to the request frequency storage unit 1204, the CPU usage rate storage unit 1206, and the system configuration data storage unit 1207 to calculate the CPU time consumed per request, Store in the time storage unit 1209 (step S7). Occurs on each server To calculate the delay time, first, the external force incoming Rikuesutoe i (re q / sec) for the entire system, is consumed CPU time how much per request at each server It is necessary to ask. But simply CP of server S at time i
  • a server usually consumes some CPU time due to system maintenance in addition to request processing.
  • the request frequency is extremely small, the ratio of CPU time is relatively large, so the CPU time consumed per request is overestimated, which may cause errors.
  • the horizontal axis is the request frequency and the vertical axis is the CPU usage rate, if the equation (12) is interpreted as it is, the CPU usage rate should be 0 if there is no request. Therefore, if the slope of the straight line connecting the origin and each measurement point is the consumed CPU time per request, a large variation occurs.
  • the server delay time calculation unit 1210 next refers to the CPU usage rate storage unit 1 206, the system configuration data storage unit 1207, the CPU time storage unit 1209, and the G table storage unit 1211.
  • the average delay time per request generated in each server is calculated, and the calculated value is stored in the server delay time storage unit 1214 (step S9).
  • the average delay time T 1 per request generated in each server is
  • G (C, p) is calculated based on the number of CPUs and the CPU usage rate of the server as shown in equation (3). However, if the equation (3) is calculated as it is, it takes a relatively long time. If the granularity of the analysis is fixed, it can be calculated in advance by changing the number of CPUs and the CPU usage rate of the server. is there. For example, if the analysis granularity is sufficient in units of 1% in terms of CPU usage, and the expected number of CPUs per server is 50 or less, the CPU usage is 0 to 99% (1 For each server with 1 to 50 CPUs, G (C,) is calculated in advance and stored in the G table storage unit 1211 as a 100 X 50 matrix. Then, the number of CPUs can be acquired from the system configuration data storage unit 1207, the CPU usage rate can be acquired from the CPU usage rate storage unit 1206, and the value of G (C, can be acquired from the G table storage unit 1211.
  • an average delay time T 1 per request generated in each server according to equation (14) (hereinafter also referred to as the average delay time of each server for short) is calculated, and the server delay time is calculated.
  • the layer delay time calculation unit 1215 refers to the server delay time storage unit 1214 and the system configuration data storage unit 1207, calculates the delay time L 1 in each layer, and stores the layer delay time. Store in the storage unit 1216 (step SI 1).
  • the delay time in each layer is the sum of the average delay times of the servers in each layer and is expressed as follows. M is acquired from the system configuration data storage unit 1207.
  • the system delay time calculating unit 1217 refers to the layer delay time storage unit 1216 and system configuration data storage unit 1207, calculates the delay time D 1 of the entire system, the system delay time storage unit 1218 (Step S13).
  • Delay time D 1 of the whole system is the sum of the delay time L 1 in each layer n, is expressed as follows. N is acquired from the system configuration data storage unit 1207.
  • the residual delay time calculation unit 1219 refers to the measured delay value storage unit 1205 and the system delay time storage unit 1218, calculates the delay time ⁇ 1 that is used in a place other than the server, and the residual delay time Store in the storage unit 1220 (step S15).
  • Delay time E 1 is a difference in delay time D 1 and the delay measured value A 1 of the entire system, is calculated as follows.
  • the reliability calculation unit 1221 includes a residual delay time storage unit 1220, a layer delay time storage unit 1216, and a system configuration data storage unit 1207.
  • the request frequency storage unit 1204, the CPU usage rate storage unit 1206, and the measured delay value storage unit 1205 are used to calculate the reliability of the average delay time of each layer.
  • the result is stored in the reliability storage unit 1222 (step S17). This process will be described with reference to FIG. First, the reliability calculation unit 1221 calculates the correlation coefficient between the sum p and the request frequency of consumption CPU time of the n layer Well as the initial confidence R 1 in the average delay time of each layer n, reliability storage unit Store in 1222 (step S31). When correl is a function for obtaining a correlation coefficient, the reliability R 1 is calculated according to the following formula.
  • the first term of the correl function in Eq. (15) is the total CPU time consumed in the nth layer. Note that the correlation coefficient is also used in later calculations, and is retained for each layer.
  • the delay time correction unit 1223 refers to the reliability storage unit 1222 and the layer delay time storage unit 1216 and corrects the delay time according to the reliability, thereby correcting the delay. Stored in the time storage unit 1224 (step S19). If ⁇ , this step is skipped. This process will be described with reference to FIG. First, the delay time correction unit 1223 refers to the layer delay time storage unit 1216 and the reliability storage unit 1222, sorts the delay times of each layer in descending order of reliability, and stores them in the correction delay time storage unit 1224. (Step S4 Do) Note that if there are multiple layers with a confidence level of 0, sort them in descending order of their correlation coefficient.
  • step S 43 the delay times of the layers are added in the descending order of reliability according to the sorting result, and the order of reliability B is specified such that the added value is the maximum less than the average delay actual measurement value (step S). 43).
  • ⁇ ⁇
  • the high reliability of the ⁇ -th layer is the ⁇ th top force.
  • Ri> always holds.
  • step S43 the maximum that satisfies
  • the reliability B + delay time of the first layer is corrected as follows (step S45). That is, the estimated delay time L 1 of the P layer is corrected and the result
  • This equation shows the reliability B + 1st layer so that the actual measured delay value is equal to the sum of delay time (estimated average value) up to the first direction B + high reliability among the reliability of each layer. Correct the delay time.
  • reliability B + The reliability of the first layer is corrected as follows (step S47). That is, P
  • the reliability ⁇ + the delay time and reliability of the second and subsequent layers are corrected as follows (step S49).
  • Fig. 11 (a) shows the delay time estimation results and actual measurement results.
  • the first layer of the monitoring target system 100 in this example is a Web server
  • the second layer is an application server
  • the third layer is a DB server.
  • the estimated delay time of the first layer is 150 msec
  • the correlation coefficient is 0.9
  • the reliability is 0.
  • the estimated delay time of the second layer is 60 msec
  • the correlation coefficient is 0.85
  • the reliability is 0.85.
  • the estimated delay time of the third layer is 30 msec
  • the correlation coefficient is 0.6
  • the reliability is 0.6. Note that the measured average delay is 100 msec.
  • step S41 when sorting in step S41, as shown in Fig. 11 (b), the layers are arranged in the order of the second layer, the third layer, and the first layer, and the delay time of the entire system is apparent. The average delay measurement value is exceeded, and the estimated delay time of the entire system is exceeded in the middle of the first layer.
  • the delay time and reliability are used as they are, and the estimated delay time of the first layer is the average delay measured value and It is reduced to the difference from the sum of the delay times of the second and third layers, resulting in 10 msec.
  • the input / output unit 121 performs output processing (step S 21).
  • the data output by the input / output unit 121 includes (1) the estimated delay time T 1 , (
  • the value itself may be output, or the reliability may be classified into the following three levels, for example, and the classification result may be output. That is, if> 0.7, the reliability is “high”, if 0.7 ⁇ Ri> 0.3, the reliability is “medium”, and if 0.3 ⁇ Ri, the reliability is “low”.
  • the classification of high, medium, and low reliability as described above is a value generally used for determining the strength of correlation in the correlation coefficient. That is, generally, if the absolute value of the correlation coefficient is 0.7 or more, it is determined that there is a strong correlation between the two parameters, and 0.3 to 0.7. If it is, it is judged that there is a weak correlation, and if it is 0.3 or less, it is considered that there is almost no correlation. This is due to the fact that the square of the correlation coefficient is the explanation rate of fluctuation. When the correlation coefficient is 0.7, the explanation rate is 0.49 (about 50%). In other words, about half of the changes in the dependent variable can be explained by the explanatory variables. When the number of correlations is 0.3, the explanation rate is 0.1 (about 10%), and only about 10% of changes in the dependent variable are attributed to explanation variables. There is almost no correlation between the variable and the dependent variable.
  • the reliability is considered to be high.
  • the prediction error is within ⁇ 50% if the reliability is high, and the prediction error is ⁇ if the reliability is medium. If it is within 100% and the reliability is “low”, there is a high possibility of ⁇ 100% or more.
  • this result is only a guide based on the experimental results, and does not guarantee the accuracy (error range) described above.
  • the delay time of each server, each layer, and the entire system can be calculated using elements already existing in the monitored system 100.
  • the delay time can be corrected from the relationship with the actual measured delay value, and the reliability can be presented to the user.
  • the estimation of the change in the delay time when the request frequency varies will be described with reference to FIG.
  • the request frequency is given at a certain time point i
  • the estimated average delay time when the request frequency changes to ⁇ force ⁇ ′ is calculated. That is, ⁇ ′ is input from the input / output unit 121 and is received by the performance prediction processing unit 1213 of the delay analyzer 120 (step S50). Then, the performance prediction processing unit 1213 changes the CPU usage rate p for all the servers S according to the change in the request frequency, and stores the CPU usage rate.
  • step S51 CPU usage rate p is changed to p 'as follows.
  • the server delay time calculation unit 1210 calculates the delay time of each server after the change using the CPU usage rate p ′ after the change, and stores it in the server delay time storage unit 1214. (Step S53). The calculations in steps S51 and S53 are as follows.
  • the layer delay time calculation unit 1215 calculates the delay time in each layer after the change using the delay time T ”of each server after the change stored in the server delay time storage unit 1214.
  • step S55 Calculate and store in the layer delay time storage unit 1216 (step S55). Further, the system delay time calculation unit 1217 calculates the delay time of the entire system after the change using the delay time in each layer after the change stored in the layer delay time storage unit 1216, and stores it in the system delay time storage unit 1218. Store (step S57).
  • the input / output unit 121 outputs the delay times before and after the change (steps).
  • the CPU number C ′ is input from the unit 121, and the performance prediction processing unit 1213 of the delay analyzer 120
  • the performance prediction processing unit 1213 changes the CPU usage rate p according to the change in the number of CPUs and stores it in the CPU usage rate storage unit 1206 (step S63).
  • the CPU usage rate p is changed to P 'as follows only for the server whose CPU number has changed.
  • the server delay time calculation unit 1210 calculates the delay time T ”of each server whose number of CPUs has been changed, using the CPU usage rate p ′ after the change.
  • step S65 Stored in the server delay time storage unit 1214 (step S65).
  • the calculations in steps S63 and S65 are as follows.
  • the layer delay time calculation unit 1215 calculates the delay time in the layer related to the change using the server delay time after the change stored in the server delay time storage unit 1214.
  • the system delay time calculation unit 1217 calculates the delay time of the entire system after the change using the delay time in each layer stored in the layer delay time storage unit 1216, and stores it in the system delay time storage unit 1218. (Step S68).
  • the input / output unit 121 outputs each delay time before and after the change (step S69). This allows the user to consider changes in delay time according to changes in the number of CPUs. For example, consider the effect of increasing the number of CPUs using this result.
  • the estimated delay time when the number of servers in the n-th layer is changed to M force M ' is obtained.
  • the number M ′ of servers in the n-th layer is input from the input / output unit 121 and received by the performance prediction processing unit 1213 of the delay analysis apparatus 120 (step S71).
  • the performance prediction processing unit 1213 corrects the CPU time consumed per request according to the change in the number of servers, and stores it in the CPU time storage unit 1209 (step S73).
  • is the intercept obtained when calculating 1 ⁇ , and CPU time storage
  • the server delay time calculation unit 1210 includes the CPU usage rate p ′ after the change stored in the CPU usage rate storage unit 1206 and the CPU consumption per request after the change stored in the CPU time storage unit 1209.
  • the server delay time after the change is calculated using the time 1Z ′ (n, m), and stored in the server delay time storage unit 1214 (step S77).
  • the changed server delay time T ", n, m) is expressed as follows.
  • the layer delay time calculation unit 1215 calculates the delay time in each layer using the changed server delay time stored in the server delay time storage unit 1214, and the layer delay time is calculated.
  • step S79 Stored in the extended time storage unit 1216 (step S79). In this step as well, the following calculation is performed using M 'from the performance prediction processing unit 1213.
  • L ′ 1 is also expressed as follows from equation (16).
  • system delay time calculation unit 1217 calculates the delay time of the entire system after the change using the delay time in each layer stored in the layer delay time storage unit 1216, and the system delay time storage unit 1218 (Step S81).
  • the input / output unit 121 outputs each delay time before and after the change (step S83).
  • the user can consider changes in delay time according to changes in the number of servers. For example, consider the effect of increasing the number of servers using this result.
  • FIGS. 4A and 4B are examples, and may not necessarily correspond to the actual program configuration.
  • a table as shown in Fig. 15 can be used instead of just displaying the numerical values as they are (consumed CPU time per request, CPU usage rate, average delay time for each server, average delay time for each layer, actual delay measurement) Value, estimated delay time other than server, and reliability of delay time of each layer for each unit time i) and graphs as shown in Fig. 16 (horizontal axis represents time, vertical axis represents delay time) , Web server (first tier), application server (second tier), DB server (third tier), etc.
  • the delay analysis device 120 described above is a computer device and is shown in FIG. Is it the same as memory 2501 (memory unit)? 112503 (Processing unit) and hard disk 'drive 03 ⁇ 400) 2 505 and display device 2509 connected to display device 2509 and drive device 2513 for removable disk 2511 and input device 2515 and communication control unit 2517 for connecting to network Connected with Cass 2519!
  • the operating system (OS) and the application program for executing the processing in this embodiment are stored in the HDD 2505, and when executed by the CPU 2503, it is read out from the HDD 2505 power to the memory 2501. .
  • the CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 as necessary to perform necessary operations.
  • the data being processed is stored in the memory 2501, and stored in the HDD 2505 if necessary.
  • an application program for executing the above-described processing is stored and distributed on a removable disk 2511 and installed in the HDD 2505 from the drive device 2513. It may be installed in HDD2505 via network such as the Internet and communication control unit 2517.
  • Such a computer device performs various functions as described above by organically cooperating the hardware such as CPU2503 and memory 2501 described above with the OS and the necessary application program. Realize.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 本発明は、複数のサーバを含むコンピュータ・システムのレスポンスに関する分析を行う分析方法であり、まず上記コンピュータ・システムから複数のサーバの各々のCPU使用率のデータを取得し、CPU使用率格納部に格納する。そして、上記コンピュータ・システムにおいて生成される処理履歴データを取得し、当該コンピュータ・システムのユーザによるリクエスト頻度のデータを生成し、リクエスト頻度データ格納部に格納する。そして、CPU使用率格納部に格納された各サーバのCPU使用率とリクエスト頻度格納部に格納されたリクエスト頻度とを用いて、各サーバにおける平均遅延時間を推定し、サーバ遅延時間格納部に格納する。このようにすることで分析対象のコンピュータ・システムを変更したり、余分なコストをかけずに分析を行うことができる。

Description

明 細 書
分析方法及び装置
技術分野
[0001] 本発明は、コンピュータ 'システムのレスポンスに関する分析技術に関する。
背景技術
[0002] ネットワークサービスの発展に伴い、サービスを提供するためのシステムが複雑、大 規模ィ匕してきて 、る。多くのサービスが多数のサーバを組み合わせて提供されるよう になってきている。このようなシステムにおいては、それぞれのサーバのリソースの利 用状況がユーザのレスポンスにどのような影響を与えているかを把握することが非常 に困難になってきている。
[0003] 従来、複数のサーノからなるシステムにおいて、それぞれのサーバにおける遅延が 、ユーザが体感するレスポンスタイムに対してどのくらいの割合を占めるかを調査する には下記の 2つの方法が知られていた。すなわち、(1)各サーバ間で送受信するメッ セージに認識用の特別なタグを付けておき、そのタグを用いて遅延を計測するもの である。 (2)各サーバ間で送受信されるメッセージをパケットキヤプチヤにより採取し、 その情報を解析するものである。
[0004] しかし、(1)の方法では、既存のシステムやサービスに変更を加えなければならず、 本機能の導入は容易ではない。また、(2)の方法では、パケットキヤプチヤのための 高価な機器ゃ大容量のストレージが必要である。さらに、セキュリティの観点からもパ ケットキャプチヤは好まれな 、。
[0005] また、特開 2004— 21756号公報には、情報システム上で動作する一つまたは複数 のアプリケーションについて、種々の利用状況下での各アプリケーションの応答性能 を、限られた実験回数で効果的に評価する技術が開示されている。より具体的には、 アプリケーションの種々の利用状況に対応した負荷投入実験を複数回行う際、アプリ ケーシヨンの利用状況に関する数量と、アプリケーションの応答性能に関する数量と 、ハードウェア 'リソースの利用状況に関する数量と、ハードウェア 'リソースの応答性 能に関する数量を取得し、数量間の依存関係を記述する推定式群を作成する事に より、推定式群を用いたアプリケーションの応答性能の評価を可能にするものである 。しかし、この技術は「実験」が必要であり、通常の処理を行いながら分析を行うことは できない。
特許文献 1:特開 2004— 21756号公報
発明の開示
発明が解決しょうとする課題
[0006] 従って、本発明の目的は、分析対象(以下監視対象とも呼ぶ)のコンピュータ 'シス テム力も容易に取得できる情報を用いて当該コンピュータ ·システムのレスポンスに関 する分析を実施するための技術を提供するものである。
課題を解決するための手段
[0007] 本発明に係る分析方法は、複数のサーバを含むコンピュータ 'システムのレスボン スに関する分析を行う分析方法であって、上記コンピュータ 'システム力も上記複数 のサーバの各々の CPU使用率のデータを取得し、 CPU使用率格納部に格納するス テツプと、上記コンピュータ 'システムにおいて生成される処理履歴データを取得し、 上記コンピュータ 'システムのユーザによるリクエスト頻度のデータを生成し、リクエスト 頻度データ格納部に格納するステップと、 CPU使用率格納部に格納された各サー バの CPU使用率とリクエスト頻度格納部に格納されたリクエスト頻度とを用いて、各サ ーバにおける平均遅延時間を推定し、サーバ遅延時間格納部に格納する推定ステ ップとを含む。
[0008] このように、 CPU使用率及び処理履歴データと 、つた容易に取得できるデータを 用いて処理を行うため、導入コストを軽減し、セキュリティ面でも問題を生じさせずに 分析処理を実施することができる。
[0009] さらに、上で述べた推定ステップが、 CPU使用率格納部に格納された各サーバの CPU使用率とリクエスト頻度格納部に格納されたリクエスト頻度とを用いて、各サー バの 1リクエストあたりの平均消費 CPU時間を推定し、消費 CPU時間格納部に格納 する消費 CPU時間推定ステップと、消費 CPU時間格納部に格納された各サーバの 1リクエストあたりの平均消費 CPU時間と CPU使用率格納部に格納された各サーバ の CPU使用率とを用いて、各サーバにおける平均遅延時間を推定し、サーバ遅延 時間格納部に格納するサーバ遅延時間推定ステップとを含むようにしてもょ 、。
[0010] また、上で述べた消費 CPU時間推定ステップにおいて、予め指定された時間帯に おける各サーバの CPU使用率とリクエスト頻度とを用いて回帰分析を実施することに より、各サーバの 1リクエストあたりの平均消費 CPU時間を推定するようにしてもよい。 このように予め指定された時間帯に限定することにより、ユーザによるリクエストをあま り処理していない時間帯を除外することができ、計算精度を向上させることができるよ うになる。
[0011] さらに、上で述べたサーバ遅延時間推定ステップにおいて、サーバの 1リクエストあ たりの平均消費 CPU時間と当該サーバにおける平均遅延時間との関係を表す係数 値を当該係数値を決定する要素である CPU使用率の所定単位毎及び CPU個数毎 に格納するマトリクス格納部を参照して該当する係数値を読み出し、当該係数値と上 記サーバの 1リクエストあたりの平均消費 CPU時間とから上記サーバにおける平均遅 延時間を算出するようにしてもよい。上記係数値は CPU使用率と CPU個数の関数と なっているので、都度計算することも可能であるが、実際的には計算量が増加するた め、処理速度を上げるため上で述べたようにマトリクス格納部に格納しておく場合もあ る。
[0012] また、上記コンピュータ 'システムに含まれる複数のサーバ力 実行する業務種別に 応じてカテゴリ分けされている場合、当該カテゴリ毎に平均遅延時間を推定するステ ップをさらに含むようにしても良い。例えば層(レイヤ: Layer)が規定されているような コンピュータでは、当該層をカテゴリとして層毎の平均遅延時間を算出することもある 。例えば、業務毎に問題点を抽出するためである。
[0013] さらに、サーバ遅延時間格納部に格納されたデータを用いて、コンピュータ 'システ ム全体の平均遅延時間を推定し、システム遅延時間格納部に格納するステップをさ らに含むようにしてもよい。
[0014] また、上記コンピュータ 'システムにおける、ユーザによるリクエストに対するレスポン ス時間の平均実測値を取得し、平均実測値格納部に格納するステップと、平均実測 値格納部に格納された平均実測値とシステム遅延時間格納部に格納された上記コ ンピュータ 'システム全体の平均遅延時間との差により、サーバ以外の箇所で発生し た遅延時間を推定するステップとをさらに含むようにしてもよい。サーバ以外の箇所 で発生した遅延時間がコンピュータ 'システム全体の平均遅延時間より短い場合には 、何らかの理由により推定が不適切であり、そのような場合を検出することも可能とな る。
[0015] さらに、カテゴリ毎に、平均消費 CPU時間の総和とリクエスト頻度との相関係数を算 出し、当該相関係数に基づきカテゴリ毎の平均遅延時間の信頼度を決定し、信頼度 データ格納部に格納するステップと、信頼度データ格納部に格納されたカテゴリ毎の 平均遅延時間の信頼度に基づき、カテゴリ毎の平均遅延時間を補正し、記憶装置に 格納する補正ステップとをさらに含むようにしてもょ 、。例えば信頼度が高 、平均遅 延時間をそのまま使用し、信頼度が低い平均遅延時間については補正を大きく加え るようにする。
[0016] さらに、上で述べた補正ステップが、カテゴリ毎の平均遅延時間を信頼度の高!、順 にソートするステップと、信頼度の高 、順に前記カテゴリ毎の平均遅延時間を累積し てゆき、累積された平均遅延時間が遅延実測値未満であって最大の値を有すること となる信頼度の順番を特定するステップと、特定された信頼度の順番の次の順番の 遅延時間を、遅延実測値と信頼度の高い順にカテゴリ毎の平均遅延時間を特定され た信頼度の順番まで累積することにより得られる値との差に補正するステップとを含 むようにしてもよい。
[0017] また、リクエスト頻度が例えば試験的に変更された場合、当該変更後のリクエスト頻 度に応じて各サーバの CPU使用率を変更し、記憶装置に格納するステップと、記憶 装置に格納された変更後の各サーバの CPU使用率を用いて、各サーバにおける平 均遅延時間を推定し、記憶装置に格納するステップと、サーバ遅延時間格納部及び 記憶装置に格納された変更前後の各サーバの平均遅延時間を比較可能な態様で 出力するステップとをさらに含むようにしてもよい。リクエスト頻度の変動に対して遅延 時間がどのように変化するかを知ることができる。
[0018] また、 CPU数が例えば試験的に変更された場合、当該変更後の CPU数に応じて 各前記サーバの CPU使用率を変更し、記憶装置に格納するステップと、記憶装置に 格納された変更後の各サーバの CPU使用率と変更後の CPU数とを用いて、各サー バにおける平均遅延時間を推定し、記憶装置に格納するステップと、サーバ遅延時 間格納部及び記憶装置に格納された変更前後の各サーバの平均遅延時間を比較 可能な態様で出力するステップとをさらに含むようにしてもよい。 CPU数を例えば増 カロさせた場合に遅延時間がどの程度減少する力試すことができ、その効果力も投資 の是非を判断できるようになる。
[0019] また、サーバ数が変更された場合、当該変更後のサーバ数に応じて各サーバの 1リ タエストあたりの平均消費 CPU時間を算出し、記憶装置に格納するステップと、 CPU 個数と記憶装置に格納された変更後の各サーバの 1リクエストあたりの平均消費 CP U時間とを用いて、変更後における各サーバの CPU使用率を算出し、記憶装置に 格納するステップと、記憶装置に格納された変更後の各サーバの 1リクエストあたりの 平均消費 CPU時間と変更後における各サーバの CPU使用率とを用いて、変更後に おける各サーバの平均遅延時間を推定し、記憶装置に格納するステップとをさらに 含むようにしてもよい。サーバ数を例えば増加させた場合に遅延時間がどの程度減 少するかを試すことができ、その効果力も投資の是非を判断できるようになる。
[0020] さらに、記憶装置に格納された変更後における各サーバの平均遅延時間と変更後 のサーバ数とを用いて、コンピュータ.システムに含まれる複数のサーバを実行する 業務種別に応じて分けることにより規定されるカテゴリ毎の平均遅延時間を推定し、 記憶装置に格納するステップをさらに含むようにしてもょ 、。
[0021] 上で述べた分析方法をコンピュータに実行させるためのプログラムを作成すること ができ、このプログラムは、例えばフレキシブルディスク、 CD-ROM,光磁気ディスク 、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネッ トワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結 果はメモリ等の記憶装置に一時保管される。
図面の簡単な説明
[0022] [図 1]図 1は、本発明の原理を説明するための図である。
[図 2]図 2は、本発明の原理を説明するための図である。
[図 3]図 3は、本発明の実施例におけるシステム全体を説明するための図である。
[図 4A]図 4Aは、本発明の実施例における遅延時間分析装置の機能ブロックである。 [図 4B]図 4Bは、本発明の実施例における遅延時間分析装置の機能ブロックである。
[図 5]図 5は、本発明の実施例におけるメインの処理フローを示す図である。
[図 6]図 6は、取得データの一例を示す図である。
[図 7]図 7は、(a)及び (b)は、回帰計算を説明するための図である。
[図 8]図 8は、ビジネス時間に回帰計算の対象を限定する理由を説明するための図で ある。
[図 9]図 9は、信頼度算出処理の処理フローを示す図である。
[図 10]図 10は、信頼度に応じた遅延時間の補正処理の処理フローを示す図である。
[図 11]図 11 (a)乃至 (c)は、信頼度に応じた遅延時間の補正処理の具体例を説明 するための図である。
[図 12]図 12は、リクエスト頻度変動時の遅延時間変化の推定処理の処理フローを示 す図である。
[図 13]図 13は、 CPU数変動時の遅延時間変化の推定処理の処理フローを示す図 である。
[図 14]図 14は、サーバ数変動時の遅延時間変化の推定処理の処理フローを示す図 である。
[図 15]図 15は、処理結果のテーブル化の一例を示す図である。
[図 16]図 16は、処理結果のグラフ化の一例を示す図である。
[図 17]図 17は、コンピュータの機能ブロック図である。
発明を実施するための最良の形態
[本発明の原理]
A. Webシステムモデルにおける平均遅延時間の理論値: T (Xの上に'を付した記号 を X:とも示すものとする)の導出
A— 1.単一サーバの遅延時間のモデルィ匕
まず、図 1を用いて複数の CPUを有する単一サーバ Sにおける平均遅延時間を導 出することを考える。図 1に示すサーバ Sは CPU— 1から CPU— Cまでの C個の CP Uを有し、外部からリクエスト頻度え(req/sec)で入力されたリクエストは、待ち行列 Sw に入れられた後に C個の CPUで処理される。この際、 CPUの使用率を p (%)とする 。そして、 MZMZS待ち行列モデルの解析結果より、サーバ sにおけるリクエストの 平均滞在時間 T (C, λ , は、以下のようになる。
[数 1]
T
Figure imgf000009_0001
[0024] (1)式乃至(3)式より、サーバ Sにおける平均滞在時間 T (C, λ , は、以下の関 係が成立する。なお、 αはサーバ Sに到達するリクエストの割合を表す。
[数 2]
Figure imgf000009_0002
[0025] A— 2.第 N層のサーバ層における遅延時間のモデルィ匕
ここでは、単一サーバにおける遅延モデルを用いて、複数層における特定の単一 層におけるリクエストの平均遅延時間を求める。前提となるシステム 'モデルを図 2に 表す。第 1層には、 M個のサーバ S 、 S 、 . . . S が存在しており、第 2層には
1 (1,1) (1,2) (Ι, Ι)
、 Μ個のサーバ S 、 S 、 . . . S が存在しており、さらに第 Ν層には、 Μ個の
2 (2,1) (2,2) (2, 2) Ν サーバ S 、 S 、 . . . S が存在している。また、 α は第 η層に到達するリクエス
(Ν,Ι) (Ν,2) (Ν,ΜΝ) η
トの割合を表し、各層におけるサーバにリクエストが均等に振り分けられ、本システム にえ (req/sec)というリクエスト頻度でリクエストが入力されると、第 1層の各サーバに all
は、 λ /Μのリクエストが入力され、第 1層力も離脱するリクエストは(1—ひ ) λ で all all あり、第 2の層の各サーバには、 ひ λ ΖΜというリクエストが入力され、第 2層から
2 all 2
離脱するリクエストは(α - a λ N-l
2 3 ) allであり、第 層力 離脱するリクエストは N-1 - a ) λ であり、第 Ν層の各サーバには、 OL λ /Μのリクエストが入力され、第 Ν
N all N all N
層から出力されるリクエストは α λ となる。なお、 l≤n≤N、 l≤m≤Mとする。
N all n
[0026] 各層には、例えばユーザに対するフロントエンドとして用いられる Webサーバや、リ タエストを動的に処理するためのアプリケーションサーバ等、それぞれ異なる役割が 割り当てられている c
[0027] そして、第 n層のサーバ S に入ってくるリクエスト頻度をえ とすると、サーバ S
(n,m) (n,m)
にお 1け 1る平均遅延時間は T(C , λ , ρ )と表すことができる。また、第 η層
(n,m) (n,m) (n,m) (n,m)
に入ってくるリクエストの総量は α らが Μ個のサーバに均等に振り
n λ であり、それ
all n
分けられるとすると、以下の式が成り立つ。
[数 3]
Figure imgf000010_0001
リクエストは各サーバに均等に振り分けられるので、第 n層における全リクエストの平 均遅延時間 Wは、第 n層に存在する全てのサーバの平均遅延時間の平均をとつた ものになる。
[数 4]
Figure imgf000010_0002
ここで、(1)式乃至 (4)式を用いると、 Wは下記のようになる。
[数 5]
Γ|し, ., ,λ ., ,ρ, .、
Τ 九 cttt,P《n,i] (6)
Figure imgf000010_0003
a. ;ニ 1
[0030] ここで表記を簡略ィ匕するため Hnを下記のように定義する。
[数 6]
^ =∑T(c(n ),Aa!!, (n )) (7)
[0031] A— 3.システム全体における遅延時間のモデル化
ここでは、各層における遅延のモデルを用いて、システム全体における遅延時間の モデルィ匕を行う。全てのリクエストのうち、第 1層から第 n層までのサーバを利用した後 、システム力も離脱するリクエストの数 Rは、下記のようになる。
[数 7]
Figure imgf000011_0001
[0032] また、第 1層から第 η層までのサーバを利用した後、システムカゝら離脱するリクエスト の平均遅延 Lは、下記のようになる。
[数 8]
=∑^ (9)
[0033] また、定義より下記の関係が成り立つ。
[数 9]
Ln ~Ln_l = Wn (10)
[0034] 1リクエストあたりの平均遅延時間 ΧΊま、第 1層から第 i層までのサーバを利用してか らシステムを離脱するリクエストについて、それらの遅延と、全リクエストに対する割合 の積で表すことができるので、下記のようになる。
[数 10]
Figure imgf000011_0002
= («i -a + (c 2 -a3)L2 + -aN+、LN (11)
= axLx +a2 {L2— ノ + ... + N {LN― LN_X ) - N+lLN
= alWl + 2W2 + ... + NWN
N
二∑Hn
[0035] 上記の結果より、全リクエストの平均遅延時間を考えた場合、 Hnは各層で発生する 遅延を表しており、その総和 ΧΊま、全リクエストに対するシステム全体での平均遅延 時間を表していると言える。
[0036] [具体的処理]
図 3に監視対象システム 100及び遅延分析装置 120を含むシステムの概要を示す 。監視対象システム 100は、ネットワークに接続されており、図 2に示したように ?^層( 図 3では説明を簡略ィ匕するため 2層)の構成となっている。各層には、負荷分散装置 101及び 102が設けられており、当該負荷分散装置は、各層のサーバ群 S , S
(1,1) (1,2) 及び S 並びにサーバ群 S , S 及び S に対してほぼ均等にリクエストを分
(Ι, Ι) (Ν,Ι) (Ν,2) (Ν, Ν)
配する。第 1層のサーバには、サーバログ 11 laが設けられており、リクエストに対する 処理を実施するとそのログデータが格納されるようになっている。また、各サーバには 、 CPU (Central Processing Unit)使用率取得部 112a及び 112bが設けられており、 本実施例では CPU使用率を%単位で取得するようになっている。この CPU使用率 取得部 112a及び 112bは、 UNIX (登録商標) OS (Operating System)等の場合に は sar、 mpstat、 iostatなどのコマンドで実行される一般的なツールであって、近年 の OSには同様の機能を有しているものが多い。
[0037] 遅延分析装置 120は、監視対象システム 100に接続されており、サーバログ 11 la に格納されたログデータ及び CPU使用率を用いて処理を行う。このように従来とは異 なり、監視対象システム 100内に特別の仕組みを組み込むことがないので遅延分析 装置 120の導入は容易であり、さらに監視対象システム 100内で処理される全ての パケットを解析するものでもないので、大容量のストレージを用いる必要は無ぐセキ ユリティ上の問題も生じに《なっている。遅延分析装置 120は、表示装置、マウス、 キーボードその他の入出力部 121に接続されている。
[0038] 図 4A及び図 4Bに遅延分析装置 120の機能ブロック図を示す。遅延分析装置 120 は、リクエスト頻度取得部 1201と、 CPU使用率取得部 1202と、ログデータ格納部 1 203と、リクエスト頻度格納部 1204と、遅延実測値格納部 1205と、 CPU使用率格納 部 1206と、システム構成データ格納部 1207と、 CPU時間算出部 1208と、 CPU時 間格納部 1209と、性能予測処理部 1213と、サーバ遅延時間算出部 1210と、 Gテ 一ブル格納部 1211と、サーバ遅延時間格納部 1214と、層遅延時間算出部 1215と 、層遅延時間格納部 1216と、システム遅延時間算出部 1217と、システム遅延時間 格納部 1218と、残余遅延時間算出部 1219と、残余遅延時間格納部 1220と、信頼 度算出部 1221と、信頼度格納部 1222と、遅延時間補正部 1223と、補正遅延時間 格納部 1224とを有する。
[0039] リクエスト頻度取得部 1201は、監視対象システム 100のサーバログ 11 laからログ データを受信しログデータ格納部 1203に格納すると共に、入出力部 121からの入力 データに従ってログデータ格納部 1203に格納されたログデータを処理してリクエスト 頻度 (req/sec)を算出し、リクエスト頻度格納部 1204に格納する。また、ログデータ格 納部 1203に格納されたログデータを処理して平均遅延実測値を算出し、当該平均 遅延実測値を遅延実測値格納部 1205に格納する。 CPU使用率取得部 1202は、 監視対象システム 100の CPU使用率取得部 112から CPU使用率のデータを取得し 、当該データを CPU使用率格納部 1206に格納する。
[0040] CPU時間算出部は、リクエスト頻度格納部 1204と CPU使用率格納部 1206とシス テム構成データ格納部 1207とを参照して 1リクエストあたりの消費 CPU時間を算出し 、算出されたデータを CPU時間格納部 1209に格納する。サーバ遅延時間算出部 1 210は、 CPU時間格納部 1209と Gテーブル格納部 1211と CPU使用率格納部 120 6とを参照してサーバ毎の遅延時間を算出し、算出されたデータをサーバ遅延時間 格納部 1214に格納する。なお、サーバ遅延時間算出部 1210は、 Gテーブル格納 部 1211を参照しな!ヽ場合には、リクエスト頻度格納部 1204とシステム構成データ格 納部 1207を参照することもある。
[0041] さらに層遅延時間算出部 1215は、サーバ遅延時間格納部 1214とシステム構成デ ータ格納部 1207とを参照して層毎の遅延時間を算出し、算出されたデータを層遅 延時間格納部 1216に格納する。システム遅延時間算出部 1217は、層遅延時間格 納部 1216とシステム構成データ格納部 1207とを参照してシステム全体の遅延時間 を算出し、算出したデータをシステム遅延時間格納部 1218に格納する。残余遅延 時間算出部 1219は、遅延実測値格納部 1205とシステム遅延時間格納部 1218とを 参照してサーバ以外の他の装置により消費された残余の遅延時間を算出し、算出さ れたデータを残余遅延時間格納部 1220に格納する。
[0042] また信頼度算出部 1221は、残余遅延時間格納部 1220とシステム構成データ格 納部 1207と遅延実測値格納部 1205とリクエスト頻度格納部 1204と CPU使用率格 納部 1206と層遅延時間格納部 1216とを参照し、サーバ以外の他の装置により消費 された残余の遅延時間が 0未満である場合、各層の遅延時間について信頼度を算 出し、算出された信頼度データを信頼度格納部 1222に格納する。遅延時間補正部 1223は、層遅延時間格納部 1216と信頼度格納部 1222とを参照して層毎の遅延 時間を補正し、補正された遅延時間のデータを補正遅延時間格納部 1224に格納 する。
[0043] 性能予測処理部 1213は、 CPU使用率格納部 1206とシステム構成データ格納部 1207と CPU時間格納部 1209とリクエスト頻度格納部 1204とを用 V、て処理を行う。
[0044] なお、入出力部 121は、遅延分析装置 120内の格納部内のデータを表示装置など に出力することができるようになって!/、る。
[0045] 次に図 5乃至図 16を用いて図 3並びに図 4A及び図 4Bに示したシステムの処理内 容について説明する。まず、リクエスト頻度取得部 1201は、監視対象システム 100の サーバログ 11 laからログデータを取得してログデータ格納部 1203に格納し、 CPU 使用率取得部 1202は監視対象システム 100の CPU使用率取得部 112から CPU使 用率のデータを受信し、 CPU使用率格納部 1206に格納する(図 5:ステップ S 1 )。
[0046] ログデータ格納部 1203に格納されるログデータの一例を以下に示す。
「192.168.164.108 - - [14/Sep/2004:12:27:50 +0900] "GET
/〜! ioge/SSSS/SSSS— 20040816.pdf HTTP/1. ' 200 147067 "」' "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET Cし R 1.1.4322)" 0.053」(Windowsは 登録商標)
[0047] これは、 Apache Webサーバにおいてカスタムログ形式で採取された 1つのログの 一例である。一般的には監視対象システム 100に含まれる Webサーバの
/var/log/httpd/ディレクトリ配下などにサーバログ 11 laとして格納されて!、る。この 第 1項「192.168.164.108」はアクセス元クライアントの IPアドレスを表す。第 2項及び第 3項は省略されている。第 4項「 [14/Sep/2004:12:27:50 +0900]」はアクセス時刻を表 している。第 5項 GET /〜! ioge/SSSS/SSSS— 20040816.pdf HTTP/1. Γ」はアクセス 内容を示す。第 6項「200」はステータス (ここでは正常)を表す。第 7項「147067」は送 受信バイト数を表す。第 8項「' "」はリクエストされた URLノ スを表す。第 9項「 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"」はァク セス元クライアントが使用しているブラウザを表す。第 10項「0.053」は、リクエストを扱 うのにかかった時間(sec)を表す。
[0048] 次に、入出力部 121は、分析対象期間及びビジネス時間帯の設定入力を受け付け 、例えばメインメモリ等の記憶装置に格納する (ステップ S3)。ビジネス時間帯とは、ュ 一ザからのリクエスト以外の処理にサーバが費やす CPU時間が少ない時間帯をいう 。ビジネス時間帯を指定することにより、夜間など、リクエストが少ないときに多量の C PU時間がサーバで消費されることに起因する推定誤差を減らすことができる。
[0049] そして、リクエスト頻度取得部 1201は、ログデータ格納部 1203から指定分析対象 期間及びビジネス時間帯におけるログデータを読み出し、例えば 1時間毎にいくつの リクエストが処理されたかカウントし且つカウント値を 3600秒(= 1時間)で割ることに より 1秒あたりのリクエスト頻度え(req/sec)を算出し、リクエスト頻度格納部 1204に格 納する。また、リクエスト頻度取得部 1201は、例えば 1時間毎に全てのリクエストを取 り扱うのにかかった時間を加算してリクエスト数で除することにより平均遅延実測値を 算出し、遅延実測値格納部 1205に格納する。さらに、 CPU使用率格納部 1206は、 CPU使用率格納部 1206に格納された CPU使用率のデータに基づき、 1時間毎に 各サーバ S の平均 CPU使用率 を算出し、 CPU使用率格納部 1206に格納
(n,m) (n,m)
する(ステップ S5)。 1つのサーバが複数の CPUを有する場合には、その複数の CP Uの平均 CPU使用率を算出して当該サーバの CPU使用率とする。なお、平均 CPU 使用率 p i における iは i番目の単位時間(ここでは 1時間毎)を表す。また、以下「
、n,m)
平均」と 、う文字を省略することもある。
[0050] ここまでの処理結果をまとめると、例えば図 6に示すようになる。図 6の例では、各時 間帯につき、単位時間番号 iと、リクエスト頻度え 1 (req/sec)と、遅延実測値 A1と、 CP U使用率 、 、 、 とが示されている。
(1,1) (1,2) (2,1) (3,1)
[0051] 次に、 CPU時間算出部 1208は、リクエスト頻度格納部 1204と CPU使用率格納部 1206とシステム構成データ格納部 1207とを参照して、 1リクエストあたりの消費 CPU 時間を算出し、 CPU時間格納部 1209に格納する (ステップ S7)。各サーバで発生 する遅延時間を算出するためには、まず、システム全体に対して外部力 入ってくる リクエストえ i(req/sec)に対して、各サーバで 1リクエストあたりどれだけの CPU時間が 消費されているか求める必要がある。しかし、単純に時間 iにおけるサーバ S の CP
、n,m)
U使用率 と CPUの個数 C との積をリクエスト頻度え iで割って、 1リクエストあ
(n,m) 、η,πν
たりの平均消費 CPU時間を
[数 11] (12)
Figure imgf000016_0001
として算出すると、以下のような不都合が生ずる。すなわち、サーバにおいては、通 常、リクエストの処理以外にもシステムの維持等によって若干の CPU時間が消費され ている。リクエスト頻度が極端に小さい場合、このような CPU時間の割合が相対的に 大きくなるため、 1リクエストあたりの消費 CPU時間を大きく見積もってしまい、誤差の 原因となる恐れがある。すなわち、図 7 (a)のように横軸をリクエスト頻度、縦軸を CPU 使用率とすると、(12)式をそのまま解釈するとリクエストがなければ CPU使用率も 0と なるはずである。そこで、原点と各測定点とを結ぶ直線の傾きを 1リクエストあたりの消 費 CPU時間とすると、大きなバラツキが生ずる。
[0052] この問題を解決するために、 1リクエストあたりの消費 CPU時間 1Z
(n,m)が以下の ように表されるものと仮定する。
[数 12] p ,C( , =—^—λ' +α( 、 (13) そして 1リクエストあたりの消費 CPU時間 ΐΖ (n,m)を、回帰分析によって求め、以下 の式で近似するものとする。
[数 13]
F(C( 、 , ' 、
[0053] 図 7 (b)に示すように、回帰計算を行えば、各測定点を結ぶ回帰直線の傾きを、 1リ タエストあたりの消費 CPU時間として算出することができ、より実際に近い値を得るこ とがでさる。
[0054] なお、回帰計算を行う際には、ユーザが指定したビジネス時間帯内のデータのみを 用いる。これは、分析対象期間の全データを利用した場合、リクエストの小さい夜間 にバッチ処理などが実行され、多量の CPU時間が消費されるなどの事象が発生する と、リクエスト数が小さい場合の方が、リクエスト数が多い場合より CPU使用率が高い という現象が発生する。そうすると、回帰計算を用いた 1リクエストあたりの消費 CPU 時間推定において大きな誤差を生じさせる可能性がある。これは図 8に示すように、 夜間バッチ処理による測定点を黒丸で表すと、リクエスト頻度が小さいにもかかわら ず CPU使用率が高くなるため縦軸の上の方にプロットされてしまい、日中のリクエスト 処理についての測定値(白丸で表す)と合わせて回帰計算を行うと、実線のような回 帰直線が得られてしまう場合がある。一方、日中のリクエスト処理についての測定値 のみを用いれば点線のような傾きが正の正しい回帰直線が得られる。従って、ビジネ ス時間帯にデータを絞る必要がある。
[0055] 上で述べた回帰計算をより詳しく述べると、分析対象期間のデータのうち、ユーザ の指定したビジネス時間帯に該当するデータ (CPU使用率 p ,システム構成デー タである CPU個数 C ,リクエスト頻度え i)に対して、(13)式のような直線を引いた 場合に、偏差が最も少なくなるように最小二乗法により傾き 1Z と切片 α を計 算し、 CPU時間格納部 1209に格納する。但し、 a が負となるときは、傾きを過大 に見積もつている可能性が高いので、切片 0として、再度以下の直線として回帰分析 を実施して 1Z を求める。
[数 14]
Figure imgf000017_0001
また、傾き 1Z が負となるときには、そのサーバでの 1リクエストあたりの平均遅 延時間は解析不能であると判断し、解析不能を表すコードを CPU時間格納部 1209 に格納する。このようなコードが格納されると、そのサーバが含まれる層で発生する平 均遅延時間につ ヽても解析不能となる。 図 5の説明に戻って、次にサーバ遅延時間算出部 1210は、 CPU使用率格納部 1 206とシステム構成データ格納部 1207と CPU時間格納部 1209と Gテーブル格納 部 1211とを参照して、各サーバで発生する 1リクエストあたりの平均遅延時間を算出 し、算出された値をサーバ遅延時間格納部 1214に格納する (ステップ S9)。 i番目の 単位時間において、各サーバで発生する 1リクエストあたりの平均遅延時間 T1 は、
(n,m) 以下の式で与えられる。
[数 15]
Figure imgf000018_0001
但し、 ;0 =0のとき、 G (C, 0) = 1とする。
[0058] ここで 1Z は 1リクエストあたりの消費 CPU時間を表している力 これは負荷が
(n,m)
0%のときに発生する平均遅延時間に等しい。そして、負荷が pの時には、遅延が負 荷 0%のときの G (C, p )倍になることを意味している。
[0059] G (C, p )につ!/、ては、(3)式に示したように、サーバの CPU個数と CPU使用率に よって算出される。但し、(3)式をそのまま計算すると比較的時間が力かるので、分析 の粒度が決まっている場合には、サーバの CPU数及び CPU使用率を変動させ、事 前に算出することも可能である。例えば、分析の粒度が、 CPU使用率においては 1 %単位で十分であり、且つ想定される 1サーバあたりの CPUの個数が 50個以下であ る場合、 CPU使用率が 0乃至 99% (1%刻み)において、サーバの CPUが 1乃至 50 個のそれぞれの場合における G (C, を予め算出しておき、それを 100 X 50のマト リクスとして Gテーブル格納部 1211に格納しておく。そうすれば、システム構成デー タ格納部 1207から CPU個数を取得し、 CPU使用率格納部 1206から CPU使用率 を取得し、 Gデーブル格納部 1211から G (C, の値を取得することができる。
[0060] 最終的には、(14)式に従って各サーバで発生する 1リクエストあたりの平均遅延時 間 T1 (以下、略して各サーバの平均遅延時間ともいう)が算出され、サーバ遅延時
(n,m)
間格納部 1214に格納される。
[0061] 次に、層遅延時間算出部 1215は、サーバ遅延時間格納部 1214とシステム構成 データ格納部 1207とを参照して、各層における遅延時間 L1を算出し、層遅延時間 格納部 1216に格納する (ステップ SI 1)。各層における遅延時間 は、各層のサー バの平均遅延時間の和であり、以下のように表される。 Mについてはシステム構成 データ格納部 1207から取得する。
[数 16]
Mn
《 = ^n.m)
[0062] そして、システム遅延時間算出部 1217は、層遅延時間格納部 1216とシステム構 成データ格納部 1207とを参照して、システム全体の遅延時間 D1を算出し、システム 遅延時間格納部 1218に格納する (ステップ S 13)。システム全体の遅延時間 D1は、 各層 nにおける遅延時間 L1の和であり、以下のように表される。 Nについてはシステ ム構成データ格納部 1207から取得する。
[数 17]
N
=∑
[0063] その後、残余遅延時間算出部 1219は、遅延実測値格納部 1205とシステム遅延 時間格納部 1218とを参照して、サーバ以外の箇所で力かる遅延時間 Ε1を算出し、 残余遅延時間格納部 1220に格納する (ステップ S15)。遅延時間 E1は、システム全 体の遅延時間 D1と遅延実測値 A1の差であって、以下のように算出される。
[数 18]
Figure imgf000019_0001
[0064] A1く D1ということは、上で述べたような推定結果が適切ではないということであり、そ のような場合には Ei=0に設定される。
[0065] そして主に ^=0となった場合に遅延時間の補正を行うため、信頼度算出部 1221 は、残余遅延時間格納部 1220と層遅延時間格納部 1216とシステム構成データ格 納部 1207とリクエスト頻度格納部 1204と CPU使用率格納部 1206と遅延実測値格 納部 1205とを参照して、各層の平均遅延時間の信頼度を算出処理を実施し、処理 結果を信頼度格納部 1222に格納する (ステップ S17)。この処理については図 9を 用いて説明する。まず、信頼度算出部 1221は、第 n層の消費 CPU時間の総和 pと リクエスト頻度えとの間の相関係数を各層 nの平均遅延時間の初期信頼度 R1として 算出し、信頼度格納部 1222に格納する (ステップ S31)。 correlを相関係数を求める 関数とすると、以下のような式に従って信頼度 R1を算出する。
[数 19]
Figure imgf000020_0001
(15)式における correl関数の第 1項が第 n層における消費 CPU時間の総和であ る。なお、相関係数も後の計算で用いられるため、各層につき保持しておく。
[0066] そして相関係数 が負である力判断する (ステップ S33)。相関係数く 0であれば 信頼度 Ri =0と設定する (ステップ S37)。消費 CPU時間とリクエスト頻度の間には正 の相関があることを仮定しており、負の相関に意味が無いためである。一方、相関係 数≥0であれば、平均遅延実測値 A1よりシステム全体の推定遅延時間 D1が長 、か判 断する (ステップ S35)。 >^が成り立つ場合には、あり得ない推定がなされており 算出された遅延時間自体の信頼性が低いため、ステップ S37に移行する。すなわち 、信頼度 =0と設定する。一方、 D^A1であれば、ステップ S31で算出された相関 係数をそのまま信頼度として使用する。
[0067] 図 5の説明に戻って、遅延時間補正部 1223は、信頼度格納部 1222と層遅延時間 格納部 1216とを参照して、信頼度に応じた遅延時間の補正を行い、補正遅延時間 格納部 1224に格納する(ステップ S19)。なお、 ≥ であれば、本ステップはスキ ップされる。この処理については図 10を用いて説明する。まず、遅延時間補正部 12 23は、層遅延時間格納部 1216と信頼度格納部 1222とを参照して、各層の遅延時 間を信頼度の高い順にソートし、補正遅延時間格納部 1224に格納する (ステップ S4 D oなお、信頼度が 0の層が複数ある場合は、それらの相関係数の高い順にソートす る。
[0068] そして、ソート結果に従って信頼度の高い順に層の遅延時間を加算し、当該加算 値が平均遅延実測値未満の最大となるような信頼度の順番 Bを特定する (ステップ S 43)。ここで Ρχ=ηを、第 η層の信頼度 の高さが上力も χ番目であるものとする。そう すると、 Ri > が常に成り立つ。そしてステップ S43では以下の式を満たす最大
Px Px+1
の yを求める。これが Bである。
[数 20]
[0069] このようにして求められた信頼度 B番目の層の遅延時間までについては補正は不 要である。従って、信頼度 B+ 1番目の層の遅延時間を以下のように補正する (ステツ プ S45)。すなわち、第 P 層の推定遅延時間 L1 について補正を行い、その結果
B+1 Px+1
を L" とする。補正結果及び補正不要の層(信頼度 B番目までの層)の遅延時間は
Px+1
、補正遅延時間格納部 1224に格納される。
[数 21]
B
L = A L ^ ^p,
x=l
この式は、遅延実測値と、各層の信頼度のうち、信頼度が高い方力 B+ 1番目ま での遅延時間 (推定平均値)の総和とが等しくなるように信頼度 B+ 1番目の層の遅 延時間を補正を行う。
[0070] また、信頼度 B+ 1番目の層の信頼度を以下のように補正する (ステップ S47)。す なわち、第 P
B+1層の信頼度 Px+1について補正を行い、その結果を R"
Px+1とする。補正 結果及び補正不要の層(信頼度 B番目までの層)の信頼度データは、補正遅延時間 格納部 1224に格納される。
[数 22]
t i L! p i
Κ B+l - ~ j ^ この式は、補正前の遅延時間と補正後の遅延時間の差が小さいほど、信頼度が高 くなるように信頼度を補正して 、る。
[0071] さらに、信頼度 Β + 2番目以降の層の遅延時間及び信頼を以下のように補正する( ステップ S49)。補正結果は、補正遅延時間格納部 1224に格納される。 I = 0 (n > B + l)
Figure imgf000022_0001
[0072] このような補正処理の具体例を図 1 1 (a)乃至(c)を用いて説明する。まず、図 1 1 (a )に遅延時間推定結果及び実測結果を示す。本例における監視対象システム 100の 第 1層は Webサーバであり、第 2層はアプリケーションサーバであり、第 3層は DBサ ーバである。ここで、第 1層の推定遅延時間は 150msecであり、相関係数 0. 9で信 頼度 0である。第 2層の推定遅延時間は 60msecであり、相関係数 0. 85で信頼度 0 . 85である。第 3層の推定遅延時間は 30msecであり、相関係数 0. 6で信頼度 0. 6 である。なお、平均遅延実測値が 100msecである。
[0073] そして、ステップ S41でソートすると、図 1 1 (b)に示すように、各層は、第 2層、第 3 層、第 1層の順番に並べられ、システム全体の遅延時間は明らかに平均遅延実測値 を超えており、システム全体の推定遅延時間は第 1層の途中で超えてしまっている。
[0074] 従って、図 1 1 (c)に示すように、第 2層及び第 3層については、遅延時間及び信頼 度についてはそのまま用い、第 1層の推定遅延時間については平均遅延実測値と第 2層及び第 3層の遅延時間の和との差に減らされ、 10msecとなる。また信頼度も 0. 06 ( = 10/ 150)【こネ ΐ正されて ヽる。
[0075] このようにして推定値を実測値に合わせるような補正がなされる。
[0076] 図 5の説明に戻って、入出力部 121は、出力処理を実施する (ステップ S21)。入出 力部 121が出力するデータは、(1)各サーバで発生する遅延時間の推定値 T1 、 (
(n,m)
2)各層で発生する遅延時間の推定値 L1、(3)システム全体で発生する遅延時間の 推定値 、(4)サーバ以外の箇所の遅延時間 、(5)各層の遅延時間の信頼度など である。信頼度の場合、値そのものを出力しても良いし、信頼度 を例えば以下の 3 つのレベルに分類し、分類結果を出力するようにしても良い。すなわち、 > 0. 7で あれば信頼度「高」、 0. 7≥Ri > 0. 3であれば信頼度「中」、 0. 3≥Riであれば信頼 度「低」である。
[0077] 上で述べたような信頼度の高中低の分類は、相関係数における相関の強さの判断 に一般的に用いられている値である。すなわち、一般的に、相関係数の絶対値が 0. 7以上であれば、 2つのパラメータの間に強い相関があると判断され、 0. 3乃至 0. 7 程度であれば、弱い相関があると判断され、 0. 3以下であればほとんど無相関である とされている。これは、相関係数の二乗が変動の説明率であることに起因している。 そして、相関係数が 0. 7のとき、説明率は 0. 49 (約 50%)となる。すなわち、従属変 数の変化のうち、半分程度がその説明変数によって説明可能である。また、相関係 数が 0. 3のときは、説明率は 0. 1 (約 10%)となり、従属変数の変化のうち、説明変 数に起因するものは約 1割程度しかないため、説明変数と従属変数の間にはほとん ど相関が無いとされる。
[0078] 本実施例でも同様に考え、相関係数が 0. 7以上あれば、 CPU使用率とリクエスト 頻度の間に十分に相関があり、正しく 1リクエストあたりの消費 CUP時間を推定するこ とができるため、信頼度が高くなると考えられる。また、この信頼度と予測誤差の関係 の目安を、実験環境における実験結果から求めると、信頼度「高」であれば予測誤差 ± 50%以内程度、信頼度「中」であれば予測誤差 ± 100%以内程度、信頼度「低」 であれば ± 100%以上の可能性が高い。但し、この結果はあくまでも実験結果に基 づく目安であり、上記の精度 (誤差範囲)を保障するものではない。
[0079] このようにすれば以上述べたように、各サーバ、各層、システム全体の遅延時間を、 既に監視対象システム 100に存在する要素を用いて算出することができるようになる 。また、遅延実測値との関係から、遅延時間を補正することも可能であり、さらにその 信頼度をユーザに提示することも可能である。
[0080] 次に、上で述べたようなモデルを用いた性能予測について説明する。
[0081] まず、リクエスト頻度変動時の遅延時間の変化の推定について図 12を用いて説明 する。ここでは、ある時点 iにおいて、リクエスト頻度がえであったとすると、リクエスト頻 度が λ力 λ 'に変化した場合の推定の平均遅延時間を算出するものとする。すなわ ち、入出力部 121から λ 'が入力され、遅延分析装置 120の性能予測処理部 1213 が受け付ける (ステップ S50)。そして、性能予測処理部 1213は、リクエスト頻度の変 更に応じて、全てのサーバ S につ 、て CPU使用率 pを変更し、 CPU使用率格納
(n,m)
部 1206に格納する(ステップ S51)。 CPU使用率 pについては以下のように p 'に変 更する。また、サーバ遅延時間算出部 1210は、変更後の CPU使用率 p 'を用いて、 変更後の各サーバの遅延時間 を算出し、サーバ遅延時間格納部 1214に格納 する(ステップ S53)。ステップ S51及び S53における計算は以下のとおりになる。
[数 23]
Figure imgf000024_0001
[0082] そして、層遅延時間算出部 1215は、サーバ遅延時間格納部 1214に格納された 変更後の各サーバの遅延時間 T" を用いて、変更後の各層における遅延時間を
、n,m)
算出し、層遅延時間格納部 1216に格納する (ステップ S55)。さらに、システム遅延 時間算出部 1217は、層遅延時間格納部 1216に格納された変更後の各層における 遅延時間を用いて、変更後のシステム全体の遅延時間を算出し、システム遅延時間 格納部 1218に格納する(ステップ S 57)。
[0083] その後、入出力部 121は、変更前と変更後の各遅延時間などを出力する (ステップ
S59)。これにより、ユーザは、リクエスト頻度の変動に応じた遅延時間の変化を考察 することがでさるよう〖こなる。
[0084] 次に、 CPU数変動時における性能予測について図 13を用いて説明する。ここでは
、サーバ S の CPU個数を C 力 C' に変化させるものとする。従って、入出力
(n,m) (n,m) 、n,m)
部 121から CPU個数 C' が入力され、遅延分析装置 120の性能予測処理部 1213
、n,m)
が受け付ける (ステップ S61)。そして、性能予測処理部 1213は、 CPU個数の変更 に応じて CPU使用率 pを変更し、 CPU使用率格納部 1206に格納する (ステップ S6 3)。 CPU使用率 pについては、 CPU個数の変更があったサーバについてのみ以 下のように P 'に変更する。また、サーバ遅延時間算出部 1210は、変更後の CPU使 用率 p 'を用いて、 CPU個数が変更された各サーバの遅延時間 T" を算出し、サ
、n,m)
ーバ遅延時間格納部 1214に格納する(ステップ S65)。ステップ S63及び S65にお ける計算は以下のとおりになる。
Figure imgf000025_0001
Figure imgf000025_0002
[0085] そして層遅延時間算出部 1215は、サーバ遅延時間格納部 1214に格納された変 更後のサーバの遅延時間 を用いて、変更に係る層における遅延時間を算出し
、n,m)
、層遅延時間格納部 1216に格納する (ステップ S67)。さらに、システム遅延時間算 出部 1217は、層遅延時間格納部 1216に格納された各層における遅延時間を用い て、変更後のシステム全体の遅延時間を算出し、システム遅延時間格納部 1218に 格納する(ステップ S68)。
[0086] その後、入出力部 121は、変更前と変更後の各遅延時間などを出力する (ステップ S69)。これにより、ユーザは、 CPU個数の変動に応じた遅延時間の変化を考察する ことができるようになる。例えばこの結果を用いて CPU個数を増加させた場合の効果 を検討する。
[0087] 次に、サーバ数変動時における性能予測について図 14を用いて説明する。ここで は、第 n層のサーバ数を M力 M'に変化させたときの推定遅延時間を求めるものと する。従って、入出力部 121から第 n層のサーバ数 M'が入力され、遅延分析装置 1 20の性能予測処理部 1213が受け付ける (ステップ S71)。そして、性能予測処理部 1213は、サーバ数の変更に応じて 1リクエストあたりの消費 CPU時間を補正し、 CP U時間格納部 1209に格納する(ステップ S73)。 1リクエストあたりの消費 CPU時間 1 / H
(n,m)については、以下のように 1Z ' (n,m)に変更する。また、性能予測処理部 121
3は、 1リクエストあたりの消費 CPU時間の補正に応じて、 CPU使用率 pを補正し、 C PU使用率格納部 1206に格納する (ステップ S75)。 CPU使用率 pについては、以 下のように /0 'に変更する。
Figure imgf000026_0001
なお、 α は、 1Ζ を算出する際に求めた切片であり、 CPU時間格納部
、n,nv 、n,m) 120
9に格納されて 、るのでこれを用いる。
次に、サーバ遅延時間算出部 1210は、 CPU使用率格納部 1206に格納された変 更後の CPU使用率 p '及び CPU時間格納部 1209に格納された変更後の 1リクエス トあたりの消費 CPU時間 1Z ' (n,m)を用いて、変更後のサーバ遅延時間を算出し、サ ーバ遅延時間格納部 1214に格納する (ステップ S77)。変更後のサーバ遅延時間 T " 、n,m)は以下のように表される。
[数 26]
Figure imgf000026_0002
そして、層遅延時間算出部 1215は、サーバ遅延時間格納部 1214に格納された 変更後のサーバの遅延時間 を用いて、各層における遅延時間を算出し、層遅
(n,m)
延時間格納部 1216に格納する(ステップ S79)。なお、本ステップにおいても性能予 測処理部 1213からの M'を用いて以下のような計算を行う。
[数 27]
Figure imgf000026_0003
なお、(16)式から L'1は、以下のようにも表わされる。
[数 28]
Figure imgf000027_0001
[0091] さらに、システム遅延時間算出部 1217は、層遅延時間格納部 1216に格納された 各層における遅延時間を用いて、変更後のシステム全体の遅延時間を算出し、シス テム遅延時間格納部 1218に格納する (ステップ S81)。
[0092] その後、入出力部 121は、変更前と変更後の各遅延時間などを出力する (ステップ S83)。これにより、ユーザは、サーバ個数の変動に応じた遅延時間の変化を考察す ることができるようになる。例えばこの結果を用いてサーバ個数を増加させた場合の 効果を検討する。
[0093] 以上本発明の実施例を説明した力 本発明はこれに限定するものではない。例え ば、図 4A及び図 4Bに示した機能ブロック図は一例であって、必ずしも実際のプログ ラム構成に対応しない場合もある。また、出力処理については、数値をそのまま表示 するだけではなぐ図 15に示すようなテーブル(1リクエストあたりの消費 CPU時間、 CPU使用率、サーバ毎の平均遅延時間、各層の平均遅延時間、遅延実測値、サー バ以外の推定遅延時間、各層の遅延時間の信頼度を単位時間 i毎に表示するテー ブル)や、図 16に示すようなグラフ (横軸が時刻、縦軸が遅延時間を表し、 Webサー ノ (第 1層)、アプリケーションサーバ (第 2層)、 DBサーバ (第 3層)、その他について の遅延時間の時間変化を表すグラフ)を生成して、表示させるようにしても良い。なお 、図 16のグラフを見れば、 9時から 12時の通常時には、ほぼ Webサーバの遅延が全 体の半分以上になっており(図 16中の部分 A)、 12時から 15時に DBサーバの一時 的な負荷増大によりレスポンスが著しく低下しており(図 16中の部分 B)、 18時以降 サーバ以外の遅延時間が増加しており、何らかの問題が発生した力もしれないこと( 図 16中の部分 C)などを判断することができるようになる。
[0094] また、上で述べた遅延分析装置 120は、コンピュータ装置であって、図 17に示すよ うに、メモリ 2501 (記憶部)とじ?112503 (処理部)とハードディスク'ドラィブ0¾00) 2 505と表示装置 2509に接続される表示制御部 2507とリムーバブル'ディスク 2511 用のドライブ装置 2513と入力装置 2515とネットワークに接続するための通信制御部 2517とカ ス 2519で接続されて!、る。オペレーティング ·システム(OS: Operating System)及び本実施例における処理を実施するためのアプリケーション ·プログラムは 、 HDD2505に格糸内されており、 CPU2503により実行される際には HDD2505力ら メモリ 2501に読み出される。必要に応じて CPU2503は、表示制御部 2507、通信 制御部 2517、ドライブ装置 2513を制御して、必要な動作を行わせる。また、処理途 中のデータについては、メモリ 2501に格納され、必要があれば HDD2505に格納さ れる。本発明の実施例では、上で述べた処理を実施するためのアプリケーション'プ ログラムはリムーバブル'ディスク 2511に格納されて頒布され、ドライブ装置 2513か ら HDD2505にインストールされる。インターネットなどのネットワーク及び通信制御 部 2517を経由して、 HDD2505にインストールされる場合もある。このようなコンビュ ータ装置は、上で述べた CPU2503、メモリ 2501などのハードウェアと OS及び必要 なアプリケーション 'プログラムとが有機的に協働することにより、上で述べたような各 種機能を実現する。

Claims

請求の範囲
[1] 複数のサーバを含むコンピュータ 'システムのレスポンスに関する分析を行う分析装 置であって、
前記コンピュータ 'システム力 前記複数のサーバの各々の CPU使用率のデータ を取得し、 CPU使用率格納部に格納する手段と、
前記コンピュータ 'システムにおいて生成される処理履歴データを取得し、前記コン ピュータ 'システムのユーザによるリクエスト頻度のデータを生成し、リクエスト頻度デ ータ格納部に格納する手段と、
前記 CPU使用率格納部に格納された各サーバの CPU使用率と前記リクエスト頻 度格納部に格納された前記リクエスト頻度とを用いて、各前記サーバにおける平均遅 延時間を推定し、サーバ遅延時間格納部に格納する推定手段と、
を有する分析装置。
[2] 前記推定手段は、
前記 CPU使用率格納部に格納された各前記サーバの CPU使用率と前記リクエス ト頻度格納部に格納された前記リクエスト頻度と用いて、各前記サーバの 1リクエスト あたりの平均消費 CPU時間を推定し、消費 CPU時間格納部に格納する消費 CPU 時間推定手段と、
前記消費 CPU時間格納部に格納された各前記サーバの 1リクエストあたりの平均 消費 CPU時間と前記 CPU使用率格納部に格納された各サーバの CPU使用率とを 用いて、各前記サーバにおける平均遅延時間を推定し、前記サーバ遅延時間格納 部に格納するサーバ遅延時間推定手段と、
を含む請求項 1記載の分析装置。
[3] 前記消費 CPU時間推定手段が、
予め指定された時間帯における各前記サーバの CPU使用率と前記リクエスト頻度 とを用いて回帰分析を実施することにより、各前記サーバの 1リクエストあたりの平均 消費 CPU時間を推定する
ことを特徴とする請求項 2記載の分析装置。
[4] 前記サーバ遅延時間推定手段が、 前記サーバの 1リクエストあたりの平均消費 CPU時間と当該サーバにおける平均遅 延時間との関係を表す係数値を当該係数値を決定する要素である前記 CPU使用率 の所定単位毎及び CPU個数毎に格納するマトリクス格納部を参照して該当する係 数値を読み出し、当該係数値と前記サーバの 1リクエストあたりの平均消費 CPU時間 とから前記サーバにおける平均遅延時間を算出する
ことを特徴とする請求項 2記載の分析装置。
[5] 前記コンピュータ 'システムに含まれる複数のサーバが、実行する業務種別に応じ てカテゴリ分けされている場合、当該カテゴリ毎に平均遅延時間を推定する手段 をさらに含む請求項 1記載の分析装置。
[6] 前記サーバ遅延時間格納部に格納されたデータを用いて、前記コンピュータ 'シス テム全体の平均遅延時間を推定し、システム遅延時間格納部に格納する手段 をさらに含む請求項 1記載の分析装置。
[7] 前記コンピュータ 'システムにおける、ユーザによるリクエストに対するレスポンス時 間の平均実測値を取得し、平均実測値格納部に格納する手段と、
前記平均実測値格納部に格納された平均実測値と前記システム遅延時間格納部 に格納された前記コンピュータ 'システム全体の平均遅延時間との差により、サーバ 以外の箇所で発生した遅延時間を推定する手段と、
をさらに含む請求項 6記載の分析装置。
[8] 前記カテゴリ毎に、平均消費 CPU時間の総和とリクエスト頻度との相関係数を算出 し、当該相関係数に基づき前記カテゴリ毎の平均遅延時間の信頼度を決定し、信頼 度データ格納部に格納する手段と、
前記信頼度データ格納部に格納された前記カテゴリ毎の平均遅延時間の信頼度 に基づき、前記カテゴリ毎の平均遅延時間を補正し、記憶装置に格納する補正手段 と、
をさらに含む請求項 7記載の分析装置。
[9] 前記補正手段が、
前記カテゴリ毎の平均遅延時間を信頼度の高い順にソートする手段と、 前記信頼度の高い順に前記カテゴリ毎の平均遅延時間を累積してゆき、累積され た平均遅延時間が前記遅延実測値未満であって最大の値を有することとなる信頼度 の順番を特定する手段と、
特定された前記信頼度の順番の次の順番の遅延時間を、前記遅延実測値と前記 信頼度の高い順に前記カテゴリ毎の平均遅延時間を特定された前記信頼度の順番 まで累積することにより得られる値との差に補正する手段と、
を含む請求項 8記載の分析装置。
[10] リクエスト頻度が変更された場合、当該変更後のリクエスト頻度に応じて各前記サー バの CPU使用率を変更し、記憶装置に格納する手段と、
前記記憶装置に格納された変更後の各前記サーバの CPU使用率を用いて、各前 記サーバにおける平均遅延時間を推定し、記憶装置に格納する手段と、
前記サーバ遅延時間格納部及び前記記憶装置に格納された変更前後の各前記 サーバの平均遅延時間を比較可能な態様で出力する手段と、
をさらに含む請求項 1記載の分析装置。
[11] CPU数が変更された場合、当該変更後の CPU数に応じて各前記サーバの CPU 使用率を変更し、記憶装置に格納する手段と、
前記記憶装置に格納された変更後の各前記サーバの CPU使用率と前記変更後 の CPU数とを用いて、各前記サーバにおける平均遅延時間を推定し、記憶装置に 格納する手段と、
前記サーバ遅延時間格納部及び前記記憶装置に格納された変更前後の各前記 サーバの平均遅延時間を比較可能な態様で出力する手段と、
をさらに含む請求項 1記載の分析装置。
[12] サーバ数が変更された場合、当該変更後のサーバ数に応じて各前記サーバの 1リ タエストあたりの平均消費 CPU時間を算出し、記憶装置に格納する手段と、
CPU個数と前記記憶装置に格納された変更後の各前記サーバの 1リクエストあたり の平均消費 CPU時間とを用いて、変更後における各前記サーバの CPU使用率を 算出し、記憶装置に格納する手段と、
前記記憶装置に格納された変更後の各前記サーバの 1リクエストあたりの平均消費 CPU時間と前記変更後における各前記サーバの CPU使用率とを用いて、変更後に おける各前記サーバの平均遅延時間を推定し、記憶装置に格納する手段と、 をさらに含む請求項 2記載の分析装置。
[13] 前記記憶装置に格納された前記変更後における各前記サーバの平均遅延時間と 変更後のサーバ数とを用いて、前記コンピュータ 'システムに含まれる前記複数のサ ーバを実行する業務種別に応じて分けることにより規定されるカテゴリ毎の平均遅延 時間を推定し、記憶装置に格納する手段
をさらに含む請求項 12記載の分析装置。
[14] 請求項 1乃至 13のいずれか 1つ記載の分析装置における各手段をコンピュータに 実現させるためのプログラム。
[15] 複数のサーバを含むコンピュータ 'システムのレスポンスに関する分析を行う分析方 法であって、
前記コンピュータ 'システム力 前記複数のサーバの各々の CPU使用率のデータ を取得し、 CPU使用率格納部に格納するステップと、
前記コンピュータ 'システムにおいて生成される処理履歴データを取得し、前記コン ピュータ 'システムのユーザによるリクエスト頻度のデータを生成し、リクエスト頻度デ ータ格納部に格納するステップと、
前記 CPU使用率格納部に格納された各サーバの CPU使用率と前記リクエスト頻 度格納部に格納された前記リクエスト頻度とを用いて、各前記サーバにおける平均遅 延時間を推定し、サーバ遅延時間格納部に格納する推定ステップと、
を含み、コンピュータにより実行される分析方法。
PCT/JP2004/016051 2004-10-28 2004-10-28 分析方法及び装置 WO2006046297A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006542174A JP4180638B2 (ja) 2004-10-28 2004-10-28 分析方法及び装置
EP04793159.7A EP1806658B1 (en) 2004-10-28 2004-10-28 Analyzing method and device
PCT/JP2004/016051 WO2006046297A1 (ja) 2004-10-28 2004-10-28 分析方法及び装置
US11/739,946 US8560667B2 (en) 2004-10-28 2007-04-25 Analysis method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2004/016051 WO2006046297A1 (ja) 2004-10-28 2004-10-28 分析方法及び装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/739,946 Continuation US20100231444A1 (en) 2007-10-26 2007-04-26 Positioning receiver and positioning method

Publications (1)

Publication Number Publication Date
WO2006046297A1 true WO2006046297A1 (ja) 2006-05-04

Family

ID=36227549

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/016051 WO2006046297A1 (ja) 2004-10-28 2004-10-28 分析方法及び装置

Country Status (4)

Country Link
US (1) US8560667B2 (ja)
EP (1) EP1806658B1 (ja)
JP (1) JP4180638B2 (ja)
WO (1) WO2006046297A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310836A (ja) * 2006-05-22 2007-11-29 Daiwa Securities Group Inc 評価装置及び設計装置、評価方法及び設計方法、評価用プログラム及び設計用プログラム並びに情報記録媒体
JP2011154483A (ja) * 2010-01-26 2011-08-11 Fujitsu Ltd 異常検出装置、プログラム、及び異常検出方法
JP4900881B2 (ja) * 2006-07-10 2012-03-21 日本電気株式会社 コンピュータシステム、管理装置、及びコンピュータプログラム
WO2012086443A1 (ja) * 2010-12-24 2012-06-28 日本電気株式会社 監視データ分析装置、監視データ分析方法および監視データ分析プログラム
WO2012086444A1 (ja) * 2010-12-24 2012-06-28 日本電気株式会社 監視データ分析装置、監視データ分析方法および監視データ分析プログラム
US8924551B2 (en) 2012-03-15 2014-12-30 Fujitsu, Limited Analysis method and information processing apparatus
US9921861B2 (en) 2013-06-26 2018-03-20 Fujitsu Limited Virtual machine management method and information processing apparatus
JP2018156553A (ja) * 2017-03-21 2018-10-04 株式会社エヌ・ティ・ティ・データ 識別情報付与システム及び識別情報付与方法
US10169059B2 (en) 2013-06-26 2019-01-01 Fujitsu Limited Analysis support method, analysis supporting device, and recording medium

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4711672B2 (ja) * 2004-12-24 2011-06-29 富士通株式会社 情報処理方法及びプログラム
US20070136302A1 (en) * 2005-12-12 2007-06-14 Microsoft Corporation Automated device blog creation
US8914774B1 (en) 2007-11-15 2014-12-16 Appcelerator, Inc. System and method for tagging code to determine where the code runs
US8954989B1 (en) 2007-11-19 2015-02-10 Appcelerator, Inc. Flexible, event-driven JavaScript server architecture
US8260845B1 (en) 2007-11-21 2012-09-04 Appcelerator, Inc. System and method for auto-generating JavaScript proxies and meta-proxies
US8566807B1 (en) 2007-11-23 2013-10-22 Appcelerator, Inc. System and method for accessibility of document object model and JavaScript by other platforms
US8719451B1 (en) 2007-11-23 2014-05-06 Appcelerator, Inc. System and method for on-the-fly, post-processing document object model manipulation
US8806431B1 (en) 2007-12-03 2014-08-12 Appecelerator, Inc. Aspect oriented programming
US8819539B1 (en) 2007-12-03 2014-08-26 Appcelerator, Inc. On-the-fly rewriting of uniform resource locators in a web-page
US8756579B1 (en) 2007-12-03 2014-06-17 Appcelerator, Inc. Client-side and server-side unified validation
US8938491B1 (en) 2007-12-04 2015-01-20 Appcelerator, Inc. System and method for secure binding of client calls and server functions
US8527860B1 (en) 2007-12-04 2013-09-03 Appcelerator, Inc. System and method for exposing the dynamic web server-side
US8639743B1 (en) 2007-12-05 2014-01-28 Appcelerator, Inc. System and method for on-the-fly rewriting of JavaScript
US8335982B1 (en) 2007-12-05 2012-12-18 Appcelerator, Inc. System and method for binding a document object model through JavaScript callbacks
US8285813B1 (en) 2007-12-05 2012-10-09 Appcelerator, Inc. System and method for emulating different user agents on a server
US20090217282A1 (en) * 2008-02-26 2009-08-27 Vikram Rai Predicting cpu availability for short to medium time frames on time shared systems
US8224624B2 (en) * 2008-04-25 2012-07-17 Hewlett-Packard Development Company, L.P. Using application performance signatures for characterizing application updates
US8291079B1 (en) 2008-06-04 2012-10-16 Appcelerator, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8880678B1 (en) * 2008-06-05 2014-11-04 Appcelerator, Inc. System and method for managing and monitoring a web application using multiple cloud providers
US20090307347A1 (en) * 2008-06-08 2009-12-10 Ludmila Cherkasova Using Transaction Latency Profiles For Characterizing Application Updates
US7596620B1 (en) 2008-11-04 2009-09-29 Aptana, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8019858B2 (en) * 2008-09-09 2011-09-13 International Business Machines Corporation System and method for utilizing system lag to send facts to an end user
US7925748B2 (en) * 2008-10-24 2011-04-12 International Business Machines Corporation System and method for managing system resources in a network environment
US7930395B2 (en) * 2008-12-01 2011-04-19 International Business Machines Corporation System and method for managing system resources in a network environment
US20110153828A1 (en) * 2009-12-17 2011-06-23 Korea Advanced Institute Of Science And Technology Load balancing apparatus and method for regulating load using the same
PL3367252T3 (pl) 2010-07-26 2020-05-18 Seven Networks, Llc Zarządzanie ruchem z uwzględnieniem kontekstu w celu zaoszczędzenia zasobów w sieci bezprzewodowej
EP3651028A1 (en) * 2010-07-26 2020-05-13 Seven Networks, LLC Mobile network traffic coordination across multiple applications
CN103404193B (zh) 2010-11-22 2018-06-05 七网络有限责任公司 调校数据传输以优化为通过无线网络的传输建立的连接
CN103116524A (zh) * 2011-11-16 2013-05-22 鸿富锦精密工业(深圳)有限公司 Cpu使用率调整系统及方法
US9537740B2 (en) 2014-07-31 2017-01-03 International Business Machines Corporation Monitoring device usage
US9998347B2 (en) 2014-07-31 2018-06-12 International Business Machines Corporation Monitoring device usage
US10169182B2 (en) 2014-07-31 2019-01-01 International Business Machines Corporation Monitoring levels of utilization of device
US10102103B2 (en) 2015-11-11 2018-10-16 International Business Machines Corporation System resource component utilization
US10649876B2 (en) 2017-04-20 2020-05-12 International Business Machines Corporation Maintaining manageable utilization in a system to prevent excessive queuing of system requests
US10394643B2 (en) * 2017-08-16 2019-08-27 National Instruments Corporation Distributed run-time auto-calculation of measurement uncertainty
US11023280B2 (en) 2017-09-15 2021-06-01 Splunk Inc. Processing data streams received from instrumented software using incremental finite window double exponential smoothing

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6237763A (ja) * 1985-08-12 1987-02-18 Fujitsu Ltd キヤパシテイプランニングにおける捕捉率自動算出方式
JPH05324358A (ja) * 1992-05-20 1993-12-07 Hitachi Ltd 性能予測装置
JPH05334102A (ja) * 1992-05-28 1993-12-17 Nec Corp ジョブ実行状況予測装置
JPH0695931A (ja) * 1992-09-14 1994-04-08 Toshiba Corp システム実行性能評価支援装置
WO1994009429A1 (en) 1992-10-13 1994-04-28 Zitel Corporation Method and system for computer performance evaluation
JPH11282695A (ja) * 1998-03-11 1999-10-15 Internatl Business Mach Corp <Ibm> 多重システム・クラスタ内のサ―バの数を制御する方法及び装置
JP2000092052A (ja) * 1998-09-08 2000-03-31 Fujitsu Ltd ネットワークサーバ負荷検出装置、割当装置および方法
JP2000172537A (ja) * 1998-12-04 2000-06-23 Nippon Steel Corp 性能予測装置および方法、記録媒体
JP2000298593A (ja) * 1999-04-14 2000-10-24 Nec Corp マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体
JP2002099448A (ja) * 2000-09-21 2002-04-05 Ntt Data Corp 性能監視装置、及びその方法
US20020082807A1 (en) 2000-12-23 2002-06-27 Turicchi Thomas Edwin Method for service level estimation in an operating computer system
JP2002268922A (ja) 2001-03-09 2002-09-20 Ntt Data Corp Wwwサイトの性能監視装置
JP2002342182A (ja) * 2001-05-21 2002-11-29 Hitachi Ltd ネットワークシステムにおける運用管理の支援システム
JP2003178040A (ja) * 2001-12-10 2003-06-27 Hitachi Information Systems Ltd ウェブサイトの構成決定支援方法
JP2003263342A (ja) * 2002-03-07 2003-09-19 Telecommunication Advancement Organization Of Japan 情報処理装置の監視装置および監視方法並びにそのプログラム
US20030236878A1 (en) 2002-06-19 2003-12-25 Masashi Egi Statistical method for estimating the performances of computer systems
JP2004005135A (ja) * 2002-05-31 2004-01-08 Nippon Telegr & Teleph Corp <Ntt> サーバ性能推定方法およびサーバ性能推定装置
JP2004046734A (ja) * 2002-07-15 2004-02-12 Fuji Electric Holdings Co Ltd Webシステム性能予測装置、Webシステム性能予測方法、及びプログラム
JP2004193816A (ja) * 2002-12-10 2004-07-08 Hitachi Ltd ネットワーク評価システム
JP2004272582A (ja) * 2003-03-07 2004-09-30 Toshiba Corp 計算機システムの性能予測プログラムおよび設計支援システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5255350A (en) 1975-10-30 1977-05-06 Nec Corp System recomposition control unit
JPS5851362A (ja) 1981-09-24 1983-03-26 Hitachi Ltd 計算機システムの性能予測方式
JPH09305417A (ja) 1996-05-13 1997-11-28 Nec Corp Cpu使用率最適化方式
US6243105B1 (en) * 1998-11-19 2001-06-05 Ncr Corporation Drill-down method to historical data in a performance monitor using a platform independent program
US6557035B1 (en) * 1999-03-30 2003-04-29 International Business Machines Corporation Rules-based method of and system for optimizing server hardware capacity and performance
JP2001109638A (ja) 1999-10-06 2001-04-20 Nec Corp 推定伸長率に基づくトランザクション負荷分散方法及び方式並びにコンピュータ可読記録媒体
JP2002132543A (ja) 2000-10-25 2002-05-10 Hitachi Ltd 計算機システムの管理方法
JP2003032306A (ja) 2001-07-19 2003-01-31 Hitachi Electronics Service Co Ltd Webサーバの回線毎の応答性能予測システム
US6792393B1 (en) * 2001-12-03 2004-09-14 At&T Corp. System and method for diagnosing computer system operational behavior
US7222245B2 (en) * 2002-04-26 2007-05-22 Hewlett-Packard Development Company, L.P. Managing system power based on utilization statistics

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6237763A (ja) * 1985-08-12 1987-02-18 Fujitsu Ltd キヤパシテイプランニングにおける捕捉率自動算出方式
JPH05324358A (ja) * 1992-05-20 1993-12-07 Hitachi Ltd 性能予測装置
JPH05334102A (ja) * 1992-05-28 1993-12-17 Nec Corp ジョブ実行状況予測装置
JPH0695931A (ja) * 1992-09-14 1994-04-08 Toshiba Corp システム実行性能評価支援装置
WO1994009429A1 (en) 1992-10-13 1994-04-28 Zitel Corporation Method and system for computer performance evaluation
JPH11282695A (ja) * 1998-03-11 1999-10-15 Internatl Business Mach Corp <Ibm> 多重システム・クラスタ内のサ―バの数を制御する方法及び装置
JP2000092052A (ja) * 1998-09-08 2000-03-31 Fujitsu Ltd ネットワークサーバ負荷検出装置、割当装置および方法
JP2000172537A (ja) * 1998-12-04 2000-06-23 Nippon Steel Corp 性能予測装置および方法、記録媒体
JP2000298593A (ja) * 1999-04-14 2000-10-24 Nec Corp マルチタスクシステムの性能予測システム及び予測方法並びにその方法プログラムを記録した記録媒体
JP2002099448A (ja) * 2000-09-21 2002-04-05 Ntt Data Corp 性能監視装置、及びその方法
US20020082807A1 (en) 2000-12-23 2002-06-27 Turicchi Thomas Edwin Method for service level estimation in an operating computer system
JP2002268922A (ja) 2001-03-09 2002-09-20 Ntt Data Corp Wwwサイトの性能監視装置
JP2002342182A (ja) * 2001-05-21 2002-11-29 Hitachi Ltd ネットワークシステムにおける運用管理の支援システム
JP2003178040A (ja) * 2001-12-10 2003-06-27 Hitachi Information Systems Ltd ウェブサイトの構成決定支援方法
JP2003263342A (ja) * 2002-03-07 2003-09-19 Telecommunication Advancement Organization Of Japan 情報処理装置の監視装置および監視方法並びにそのプログラム
JP2004005135A (ja) * 2002-05-31 2004-01-08 Nippon Telegr & Teleph Corp <Ntt> サーバ性能推定方法およびサーバ性能推定装置
US20030236878A1 (en) 2002-06-19 2003-12-25 Masashi Egi Statistical method for estimating the performances of computer systems
JP2004021756A (ja) * 2002-06-19 2004-01-22 Hitachi Ltd 情報システム性能の統計的予測方法
JP2004046734A (ja) * 2002-07-15 2004-02-12 Fuji Electric Holdings Co Ltd Webシステム性能予測装置、Webシステム性能予測方法、及びプログラム
JP2004193816A (ja) * 2002-12-10 2004-07-08 Hitachi Ltd ネットワーク評価システム
JP2004272582A (ja) * 2003-03-07 2004-09-30 Toshiba Corp 計算機システムの性能予測プログラムおよび設計支援システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1806658A4 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310836A (ja) * 2006-05-22 2007-11-29 Daiwa Securities Group Inc 評価装置及び設計装置、評価方法及び設計方法、評価用プログラム及び設計用プログラム並びに情報記録媒体
JP4900881B2 (ja) * 2006-07-10 2012-03-21 日本電気株式会社 コンピュータシステム、管理装置、及びコンピュータプログラム
US8171133B2 (en) 2006-07-10 2012-05-01 Nec Corporation Management apparatus and management method for computer system
JP2011154483A (ja) * 2010-01-26 2011-08-11 Fujitsu Ltd 異常検出装置、プログラム、及び異常検出方法
JPWO2012086443A1 (ja) * 2010-12-24 2014-05-22 日本電気株式会社 監視データ分析装置、監視データ分析方法および監視データ分析プログラム
WO2012086444A1 (ja) * 2010-12-24 2012-06-28 日本電気株式会社 監視データ分析装置、監視データ分析方法および監視データ分析プログラム
WO2012086443A1 (ja) * 2010-12-24 2012-06-28 日本電気株式会社 監視データ分析装置、監視データ分析方法および監視データ分析プログラム
US9111227B2 (en) 2010-12-24 2015-08-18 Nec Corporation Monitoring data analyzing apparatus, monitoring data analyzing method, and monitoring data analyzing program
JP5871193B2 (ja) * 2010-12-24 2016-03-01 日本電気株式会社 監視データ分析装置、監視データ分析方法および監視データ分析プログラム
JP5871192B2 (ja) * 2010-12-24 2016-03-01 日本電気株式会社 監視データ分析装置、監視データ分析方法および監視データ分析プログラム
US9465713B2 (en) 2010-12-24 2016-10-11 Nec Corporation Monitoring data analyzing apparatus, monitoring data analyzing method, and monitoring data analyzing program
US8924551B2 (en) 2012-03-15 2014-12-30 Fujitsu, Limited Analysis method and information processing apparatus
US9921861B2 (en) 2013-06-26 2018-03-20 Fujitsu Limited Virtual machine management method and information processing apparatus
US10169059B2 (en) 2013-06-26 2019-01-01 Fujitsu Limited Analysis support method, analysis supporting device, and recording medium
JP2018156553A (ja) * 2017-03-21 2018-10-04 株式会社エヌ・ティ・ティ・データ 識別情報付与システム及び識別情報付与方法

Also Published As

Publication number Publication date
EP1806658B1 (en) 2016-04-13
US20070214261A1 (en) 2007-09-13
EP1806658A4 (en) 2009-07-29
JPWO2006046297A1 (ja) 2008-05-22
JP4180638B2 (ja) 2008-11-12
EP1806658A1 (en) 2007-07-11
US8560667B2 (en) 2013-10-15

Similar Documents

Publication Publication Date Title
WO2006046297A1 (ja) 分析方法及び装置
US7133808B2 (en) System and method for analyzing data streams
US8037042B2 (en) Automated analysis of user search behavior
US8078913B2 (en) Automated identification of performance crisis
EP2278502A1 (en) Deleting data stream overload
US8494806B2 (en) Method, program and apparatus for optimizing configuration parameter set of system
EP2177993A1 (en) Computer system, management device, and computer system management method
CN110083518B (zh) 一种基于AdaBoost-Elman的虚拟机软件老化预测方法
US10956214B2 (en) Time frame bounded execution of computational algorithms
JP2003178040A (ja) ウェブサイトの構成決定支援方法
Davis et al. Failuresim: a system for predicting hardware failures in cloud data centers using neural networks
WO2022222906A1 (zh) 带宽预测器的设置、服务调整方法及装置
WO2017131669A1 (en) Recommendations based on the impact of code changes
CN112527448A (zh) 基于openstack的动态负载调整方法及其系统
US20050096877A1 (en) System and method for determination of load monitoring condition and load monitoring program
US8214693B2 (en) Damaged software system detection
US20090313282A1 (en) Automatic request categorization for internet applications
US11157348B1 (en) Cognitive control of runtime resource monitoring scope
JP2022028611A (ja) 情報処理に用いられる方法、装置、デバイス及び記憶媒体
JP4843379B2 (ja) 計算機システムの開発プログラム
CN111274112A (zh) 应用程序压测方法、装置、计算机设备和存储介质
CN115860856A (zh) 一种数据处理方法、装置、电子设备及存储介质
Rahman et al. Predicting the performance of GridFTP transfers
Subair et al. Receiver Operating Characteristic Curves in Binary Classification of Protein Secondary Structure Data
Casale et al. Versatile models of systems using map queueing networks

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BW BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE EG ES FI GB GD GE GM HR HU ID IL IN IS JP KE KG KP KZ LC LK LR LS LT LU LV MA MD MK MN MW MX MZ NA NI NO NZ PG PH PL PT RO RU SC SD SE SG SK SY TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SZ TZ UG ZM ZW AM AZ BY KG MD RU TJ TM AT BE BG CH CY DE DK EE ES FI FR GB GR HU IE IT MC NL PL PT RO SE SI SK TR BF CF CG CI CM GA GN GQ GW ML MR SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006542174

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 11739946

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2004793159

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2004793159

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 11739946

Country of ref document: US