WO2019175985A1 - Performance evaluation device, performance evaluation method, and performance evaluation program - Google Patents
Performance evaluation device, performance evaluation method, and performance evaluation program Download PDFInfo
- Publication number
- WO2019175985A1 WO2019175985A1 PCT/JP2018/009802 JP2018009802W WO2019175985A1 WO 2019175985 A1 WO2019175985 A1 WO 2019175985A1 JP 2018009802 W JP2018009802 W JP 2018009802W WO 2019175985 A1 WO2019175985 A1 WO 2019175985A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pattern
- server
- arrival
- probability distribution
- processing time
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
Definitions
- the present invention relates to a performance evaluation apparatus, a performance evaluation method, and a performance evaluation program.
- the present invention aims to improve both the accuracy and efficiency of the performance test.
- a performance evaluation apparatus Calculates the probability distribution of processing time from the start of processing according to each request in the server when the server that executes processing by repeatedly receiving requests is operated, and records the probability distribution of processing time in the memory
- a distribution recording unit A pattern recording unit that records, in the memory, a second pattern that is an arrival pattern different from a first pattern that is an arrival pattern of a request in the server when the server is operated;
- An evaluation unit that calculates a probability distribution of response time from arrival of each request in the server from the probability distribution recorded by the distribution recording unit and the second pattern recorded by the pattern recording unit;
- the probability distribution of the response time is calculated from the probability distribution of the processing time when the server is operated and the arrival pattern different from the arrival pattern of the request when the server is operated. Therefore, it is possible to perform a performance test in consideration of the influence of the arrival pattern without reproducing the arrival pattern. Therefore, according to the present invention, both the accuracy and efficiency of the performance test are improved.
- FIG. 1 is a block diagram showing an overall configuration of a system according to a first embodiment.
- FIG. 2 is a block diagram showing a hardware configuration of a server and a performance evaluation device according to the first embodiment.
- FIG. 2 is a block diagram showing a functional configuration of a server and a performance evaluation device according to the first embodiment.
- 5 is a flowchart showing operations of the server and the performance evaluation device according to the first embodiment.
- movement of step S150 of FIG. The figure which shows the example of processing time data.
- movement of step S170 of FIG. 5 is a flowchart showing a detailed operation of step S190 in FIG.
- FIG. 4 is a block diagram showing functional configurations of a server and a performance evaluation device according to Embodiment 2.
- 9 is a flowchart showing operations of a server and a performance evaluation device according to Embodiment 2.
- movement of step S250 of FIG. The figure which shows the example of processing time data.
- Embodiment 1 FIG. This embodiment will be described with reference to FIGS.
- the server 100 is a computer that is a target of a performance test, that is, an evaluation target.
- the server 100 includes an execution unit 110 and a measurement unit 120.
- the execution unit 110 is an element that executes a process that is a target of a performance test.
- the measurement unit 120 is an element that receives an execution command from the performance evaluation apparatus 200 and measures the characteristics of the execution unit 110.
- the performance evaluation apparatus 200 is a computer that performs a performance test.
- the performance evaluation device 200 is connected to the input device 300 and the output device 400.
- the input device 300 is a device that receives input from the user and transmits the input to the performance evaluation device 200.
- the output device 400 is a device that outputs data received from the performance evaluation device 200 to a user.
- the performance evaluation apparatus 200 issues an execution command to the measurement unit 120 and receives the arrival time data 500 from the measurement unit 120.
- the performance evaluation apparatus 200 transmits a request 600 to the execution unit 110 and receives processing time data 700 from the measurement unit 120.
- the performance evaluation device 200 transmits the result calculated based on the received data to the output device 400.
- the server 100 and the performance evaluation apparatus 200 can be replaced with a virtual machine.
- the server 100 may be composed of a plurality of computers when there are a plurality of execution units 110.
- each computer includes an execution unit 110 and a measurement unit 120.
- the performance evaluation apparatus 200 may be the same computer as the server 100, but is preferably a separate computer so as not to affect the processing performance of the execution unit 110.
- the input device 300 and the output device 400 are not essential components, but are useful for enhancing the effects of the present embodiment.
- the configuration of the server 100 will be described with reference to FIG. 2 and FIG.
- the server 100 includes a processor 101 and other hardware such as a memory 102, an auxiliary storage device 103, and a network interface 104.
- the processor 101 is connected to other hardware via a signal line, and controls these other hardware.
- the server 100 includes an execution unit 110 and a measurement unit 120 as functional elements.
- the measurement unit 120 includes a first measurement unit 121 and a second measurement unit 122.
- the functions of the execution unit 110 and the measurement unit 120 are realized by software.
- the processor 101 is a device that executes a server program.
- the server program is a program that realizes the functions of the execution unit 110 and the measurement unit 120.
- the processor 101 is a CPU, for example. “CPU” is an abbreviation for Central Processing Unit.
- the memory 102 and the auxiliary storage device 103 are devices that store server programs.
- the memory 102 is, for example, RAM, flash memory, or a combination thereof.
- RAM is an abbreviation for Random Access Memory.
- the auxiliary storage device 103 is, for example, an HDD, a flash memory, or a combination thereof.
- HDD is an abbreviation for Hard Disk Drive.
- the auxiliary storage device 103 can be replaced with an external disk. In that case, the external disk is connected to the server 100 by the network interface 104.
- the network interface 104 includes a receiver that receives data input to the server program and a transmitter that transmits data output from the server program.
- the network interface 104 is, for example, a communication chip or a NIC.
- NIC is an abbreviation for Network Interface Card.
- the server program is loaded from the auxiliary storage device 103 to the memory 102 and executed by the processor 101.
- the server 100 may include a plurality of processors that replace the processor 101.
- the plurality of processors share the execution of the server program.
- Each processor is, for example, a CPU.
- Data, information, signal values, and variable values used, processed, or output by the server program are stored in the memory 102, the auxiliary storage device 103, or a register or cache memory in the processor 101.
- Such data includes arrival time data 500, request 600, and processing time data 700.
- the server program is a program that causes a computer to execute the procedures performed by the execution unit 110 and the measurement unit 120 as an execution procedure and a measurement procedure, respectively.
- the server program may be provided by being recorded on a computer-readable medium, may be provided by being stored in a recording medium, or may be provided as a program product.
- the server 100 may be composed of one computer or a plurality of computers.
- the execution unit 110 may be provided in at least one computer, but the measurement unit 120 is provided in each computer.
- the configuration of the performance evaluation apparatus 200 will be described with reference to FIGS.
- the performance evaluation apparatus 200 includes a processor 201 and other hardware such as a memory 202, an auxiliary storage device 203, a network interface 204, an input interface 205, and an output interface 206.
- the processor 201 is connected to other hardware via a signal line, and controls these other hardware.
- the performance evaluation apparatus 200 includes an input unit 210, a pattern recording unit 220, a distribution recording unit 230, an evaluation unit 240, and an output unit 250 as functional elements.
- the pattern recording unit 220 includes a calculation unit 221 and a correction unit 223.
- the distribution recording unit 230 includes a transmission unit 231 and a calculation unit 232.
- the evaluation unit 240 includes a first calculation unit 241 and a second calculation unit 243.
- the functions of the input unit 210, pattern recording unit 220, distribution recording unit 230, evaluation unit 240, and output unit 250 are realized by software.
- the processor 201 is a device that executes a performance evaluation program.
- the performance evaluation program is a program that realizes the functions of the input unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250.
- the processor 201 is, for example, a CPU.
- the memory 202 and the auxiliary storage device 203 are devices for storing a performance evaluation program.
- the memory 202 is, for example, RAM, flash memory, or a combination thereof.
- the auxiliary storage device 203 is, for example, an HDD, a flash memory, or a combination thereof.
- the auxiliary storage device 203 can be replaced with an external disk. In that case, the external disk is connected to the performance evaluation apparatus 200 via the network interface 204.
- the network interface 204 includes a receiver that receives data input to the performance evaluation program and a transmitter that transmits data output from the performance evaluation program.
- the network interface 204 is, for example, a communication chip or a NIC.
- the input interface 205 is an interface connected to the input device 300.
- the input interface 205 is a USB port, for example.
- USB is an abbreviation for Universal Serial Bus.
- the input device 300 is operated by a user to input data to the performance evaluation program.
- the input device 300 is, for example, a mouse, a keyboard, a touch panel, or some or all of these.
- the output interface 206 is an interface connected to the output device 400.
- the output interface 206 is, for example, a USB port.
- the output device 400 presents data output from the performance evaluation program to the user.
- the output device 400 is, for example, a display such as an LCD, a printer, or a combination thereof. “LCD” is an abbreviation for Liquid Crystal Display.
- the performance evaluation program is loaded from the auxiliary storage device 203 to the memory 202 and executed by the processor 201.
- the performance evaluation apparatus 200 may include a plurality of processors that replace the processor 201.
- the plurality of processors share the execution of the performance evaluation program.
- Each processor is, for example, a CPU.
- Data, information, signal values, and variable values used, processed, or output by the performance evaluation program are stored in the memory 202, the auxiliary storage device 203, or a register or cache memory in the processor 201.
- Such data includes arrival time data 500, request 600 and processing time data 700, as well as arrival pattern data 222, processing time distribution data 233, response time distribution data 242, performance characteristic value 244 and performance requirement data 260. is there.
- the performance evaluation program is a computer in which the procedures performed by the input unit 210, pattern recording unit 220, distribution recording unit 230, evaluation unit 240, and output unit 250 are input procedure, pattern recording procedure, distribution recording procedure, evaluation procedure, and output procedure, respectively This is a program to be executed.
- the performance evaluation program may be provided by being recorded on a computer-readable medium, may be provided by being stored in a recording medium, or may be provided as a program product.
- the performance evaluation apparatus 200 may be composed of a single computer or a plurality of computers.
- the functions of the input unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 are realized by being distributed to each computer. May be.
- the server 100 and the performance evaluation apparatus 200 are connected by respective network interfaces 104 and 204.
- step S110 the input device 300 confirms whether or not there is an execution command related to the arrival pattern recording to the performance evaluation device 200.
- step S120 the pattern recording unit 220 of the performance evaluation apparatus 200 records the arrival pattern of the request 600 received by the execution unit 110 of the server 100 during operation as a probability distribution.
- the pattern recording unit 220 has an arrival pattern different from the first pattern that is the arrival pattern of the request 600 in the server 100 when the server 100 that repeatedly receives the request 600 and executes the process is operated.
- a second pattern is recorded in the memory 202 as arrival pattern data 222.
- any method may be used, but in the present embodiment, a method for determining the second pattern by calculating the first pattern and correcting the calculation result is used. .
- the pattern recording unit 220 calculates the probability distribution of the arrival time intervals of the requests 600 in the server 100 from the data indicating the arrival times of the requests 600 in the server 100 as the first pattern. Then, the pattern recording unit 220 calculates, as the second pattern, a probability distribution having different characteristics such as average or variance from the calculated probability distribution of arrival time intervals.
- a method for determining the second pattern a method of accepting an input of the second pattern via the input interface 205 is selectively used in the present embodiment.
- the arrival time data 500 is used as follows.
- the first measurement unit 121 of the measurement unit 120 receives an execution command from the input unit 210, measures the time when the request 600 arrives at the execution unit 110, and transmits the measurement result as arrival time data 500.
- the calculation unit 221 of the pattern recording unit 220 receives the arrival time data 500 from the first measurement unit 121, calculates an arrival pattern based on the received data, and stores it in the memory 202 as arrival pattern data 222.
- the correction unit 223 of the pattern recording unit 220 corrects the arrival pattern data 222 based on the information received from the input unit 210 or stores the information received from the input unit 210 in the memory 202 as the arrival pattern data 222. .
- the input unit 210 converts information input from the user via the input device 300 into elements in the measurement unit 120, elements in the pattern recording unit 220, elements in the distribution recording unit 230, and information in the evaluation unit 240. It distributes to the elements of and transmits.
- step S130 the input device 300 confirms to the performance evaluation device 200 whether there is an execution command related to recording of the processing time distribution.
- step S140 it is confirmed whether or not the performance evaluation apparatus 200 has already stored the result of measuring the processing time of the execution unit 110 of the server 100. If the result has already been saved, step S150 is skipped.
- step S150 the distribution recording unit 230 of the performance evaluation apparatus 200 calculates and records the probability distribution of the time required for the execution unit 110 of the server 100 to execute the process.
- the distribution recording unit 230 receives the request 600 repeatedly and operates the server 100 that executes the process.
- the probability distribution of the processing time from the start of the process according to each request 600 in the server 100 Is calculated. Then, the distribution recording unit 230 records the calculated probability distribution of the processing time in the memory 202 as the processing time distribution data 233.
- An arbitrary method may be used as a method for calculating the processing time probability distribution, but in the present embodiment, a method for calculating the processing time probability distribution from the processing time measurement result in the server 100 is used. .
- processing time data 700 is used as follows.
- the transmission unit 231 of the distribution recording unit 230 receives the execution command from the input unit 210 and transmits the request 600 to the execution unit 110. Each time the execution unit 110 receives a request 600, the execution unit 110 executes a process that is a target of a performance test.
- the second measurement unit 122 of the measurement unit 120 receives an execution command from the input unit 210, measures the time required for executing the process by the execution unit 110, and transmits the measurement result as processing time data 700.
- the second measurement unit 122 receives an execution instruction from the input unit 210, acquires information for calculating the time required to execute the process in the execution unit 110, such as a start time and an end time of the process, The acquired information is transmitted as processing time data 700.
- the calculation unit 232 of the distribution recording unit 230 receives the processing time data 700 from the second measurement unit 122, calculates the processing time distribution based on the received data, and stores the processing time distribution data 233 in the memory 202.
- step S160 the input device 300 confirms whether or not there is an execution command regarding the calculation of the response time distribution and the performance characteristic value 244 to the performance evaluation device 200.
- step S170 the evaluation unit 240 of the performance evaluation apparatus 200 calculates a response time obtained by adding a waiting time to the processing time from the arrival pattern of the request 600 stored in step S120 and the processing time distribution stored in step S150.
- the distribution and the performance characteristic value 244 representing the response time characteristic are calculated, and the calculation result is stored.
- the evaluation unit 240 determines the response from the arrival of each request 600 in the server 100 from the probability distribution of the processing time recorded by the distribution recording unit 230 and the second pattern recorded by the pattern recording unit 220. Calculate the probability distribution of time. Then, the evaluation unit 240 records the calculated probability distribution of response time in the memory 202 as response time distribution data 242.
- the server 100 calculates the probability distribution of the waiting time from the arrival of each request 600 and the processing time A method of calculating the probability distribution of the response time from the probability distribution and the probability distribution of the waiting time is used.
- the waiting time is calculated from the probability distribution of the processing time and the second pattern using a queuing model.
- the evaluation unit 240 further calculates an index value of the performance of the server 100 from the calculated probability distribution of response time. Then, the evaluation unit 240 records the calculated index value in the memory 202 as the performance characteristic value 244.
- the first calculation unit 241 of the evaluation unit 240 receives an execution command from the input unit 210, reads the arrival pattern data 222 and the processing time distribution data 233, and executes the execution unit 110 based on the read data.
- Response time distribution is calculated and stored in the memory 202 as response time distribution data 242.
- the second calculation unit 243 of the evaluation unit 240 reads the response time distribution data 242, calculates a performance characteristic value 244 such as an average or maximum response time based on the read data, and stores it in the memory 202.
- step S180 it is confirmed from the input device 300 to the performance evaluation device 200 whether a performance test result output execution command for an arrival pattern other than the arrival pattern of the request 600 stored in step S120 is issued. If such an execution instruction has been issued, step S110 and subsequent steps are repeated.
- step S190 the output unit 250 of the performance evaluation apparatus 200 outputs necessary items among the performance test results determined based on the response time distribution and the performance characteristic value 244 stored in step S170. .
- the output unit 250 outputs the performance index value of the server 100 calculated from the probability distribution of response time.
- the output unit 250 performs a performance test result determined based on the response time distribution data 242, the performance characteristic value 244, the response time distribution data 242, the performance characteristic value 244, and the performance requirement data 260. Are converted into a format that can be output by the output device 400 and presented to the user via the output device 400.
- the first measuring unit 121 can be omitted when the arrival pattern input through the input device 300 is stored in the memory 202 as the arrival pattern data 222.
- step S120 in FIG. 4 The detailed operation of step S120 in FIG. 4 will be described with reference to FIG.
- step S121 the input unit 210 determines whether the arrival pattern of the request 600 received by the execution unit 110 during operation can be measured. If measurement is not possible, steps S122 to S125 are skipped.
- step S122 the first measurement unit 121 measures the arrival time of the request 600 received by the execution unit 110 during operation, and adds the measurement result to the arrival time data 500.
- the arrival time data 500 is data representing the arrival time of the request 600 received by the execution unit 110 during operation in a format as shown in FIG.
- step S123 the first measurement unit 121 confirms whether the arrival time data 500 is sufficient for calculating the probability distribution of the arrival time interval that is the arrival pattern. If not, step S122 is repeated.
- step S124 the first measuring unit 121 transmits the arrival time data 500 to the calculating unit 221.
- step S125 the calculation unit 221 reads the time described in the arrival time data 500, calculates the difference from the previous time, and uses the difference as the arrival time interval to discretely calculate the probability distribution of the arrival time interval. calculate. Then, the calculation unit 221 stores the calculation result as arrival pattern data 222 in the memory 202. This calculation result corresponds to the first pattern.
- the arrival pattern data 222 is data representing a discrete probability distribution of arrival time intervals in a format as shown in FIG. When there are a plurality of arrival patterns, data in the format shown in FIG. 7 is stored in the memory 202 for each arrival pattern.
- step S126 the input unit 210 determines from the input received from the input device 300 whether the arrival pattern needs to be corrected or input. When correction is necessary, the input unit 210 converts the input received from the input device 300 and transmits the converted input to the correction unit 223. If correction or input is necessary, that is, if an arrival pattern correction is instructed by the user or an arrival pattern is input by the user, step S127 is the next step. In other cases, the operation of step S120 ends.
- step S127 the correction unit 223 determines whether to correct the arrival pattern data 222 or to add data to the arrival pattern data 222 based on the information received from the input unit 210.
- step S128 is the next step.
- step S129 becomes the next step.
- step S128, the correction unit 223 corrects the arrival pattern data 222 according to the information received from the input unit 210.
- Step 1 The probability that the arrival time interval corresponds to 0 or 1 is set to 0.
- Step 3 Let the probability that the arrival time interval corresponds to n be the probability that the original arrival time interval corresponds to n-2.
- Step 4 Increase n by 1.
- Step 5 Repeat Step 3 and Step 4 until n-2 reaches the maximum value of the original arrival time interval.
- a correction that increases dispersion may be performed. Regardless of what correction is performed, the value of the arrival time interval is limited to 0 or more, so correction that gives a negative value is avoided.
- the corrected probability distribution of arrival time intervals corresponds to the second pattern.
- step S129 the correction unit 223 adds the information received from the input unit 210 to the arrival pattern data 222.
- step S150 in FIG. 4 the detailed operation of step S150 in FIG. 4 will be described.
- step S151 the transmission unit 231 transmits the request 600 to the execution unit 110.
- step S152 the second measurement unit 122 measures the time required for the execution unit 110 to process one request 600 and adds it to the processing time data 700 as the processing time.
- the processing time data 700 is data representing the time required for the execution unit 110 to process one request 600 in a format as shown in FIG.
- step S153 the second measurement unit 122 confirms whether or not the processing time data 700 is sufficient for calculating the probability distribution of the processing time. If not, step S151 and subsequent steps are repeated.
- step S154 the second measurement unit 122 transmits the processing time data 700 to the calculation unit 232.
- step S155 the calculation unit 232 discretely calculates the processing time probability distribution from the processing time data 700. Then, the calculation unit 232 stores the calculation result as processing time distribution data 233 in the memory 202.
- the processing time distribution data 233 is data representing a discrete probability distribution of processing time required for the execution unit 110 to process one request 600 in a format as shown in FIG.
- step S170 in FIG. 4 The detailed operation of step S170 in FIG. 4 will be described with reference to FIG.
- step S171 the first calculation unit 241 reads the arrival pattern data 222 and the processing time distribution data 233.
- step S172 the first calculation unit 241 calculates a response time distribution using the read data, and stores the calculation result in the memory 202 as response time distribution data 242.
- the response time distribution data 242 is a similar format to the processing time distribution data 233, showing a discrete probability distribution of response time required for the execution unit 110 to respond after receiving one request 600. It is data represented by.
- the calculation of the response time distribution may be performed by an arbitrary method, but in the present embodiment, it is performed by the following method.
- Step 1 Considering the behavior of the execution unit 110 as G / G / 1 in the Kendall notation, the distribution of the waiting time is calculated using the Wiener-Hopf method and the Lindley equation.
- Step 2 Utilizing the fact that the response time is the sum of the processing time and the waiting time, a response time distribution is calculated by a composite product of random variables.
- step S173 the second calculation unit 243 reads the response time distribution data 242.
- step S174 the second calculation unit 243 uses the read data to calculate a numerical value described in the performance requirement such as an average or maximum response time as the performance characteristic value 244. Then, the second calculation unit 243 stores the calculation result in the memory 202.
- step S190 in FIG. 4 The detailed operation of step S190 in FIG. 4 will be described with reference to FIG.
- step S191 the output unit 250 reads the performance characteristic value 244 and the performance requirement data 260 stored in the memory 202 in advance.
- the performance requirement data 260 is data indicating performance requirements.
- step S 192 the output unit 250 determines the performance test result using the performance characteristic value 244 and the performance requirement data 260.
- step S193 the output unit 250 converts the performance characteristic value 244 and the performance test result into a format that can be output by the output device 400, and transmits the conversion result to the output device 400. Then, the output device 400 outputs the information received from the output unit 250.
- the probability distribution of response time is calculated from the probability distribution of processing time when the server 100 is operated and the arrival pattern different from the arrival pattern of the request 600 when the server 100 is operated. The Therefore, it is possible to perform a performance test in consideration of the influence of the arrival pattern without reproducing the arrival pattern. Therefore, according to the present embodiment, both the accuracy and efficiency of the performance test are improved.
- the request 600 is determined from the processing time information measured by transmitting the request 600 in an arbitrary arrival pattern to the execution unit 110 and the specific arrival pattern information recorded in the arrival pattern data 222.
- the performance characteristic value 244 in the specific arrival pattern is calculated without being generated in the specific arrival pattern. Therefore, it is possible to efficiently obtain a performance test result considering the influence of the specific arrival pattern.
- the conventional method can perform performance tests. Although it is impossible, the performance test can be performed according to this embodiment.
- the conventional method requires many measurements, but one measurement is sufficient according to the present invention.
- the distribution characteristic such as the maximum value of the response time or the percentile value required for the performance test can be calculated and output.
- the functions of the input unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 of the performance evaluation apparatus 200 are realized by software.
- the functions of 210, pattern recording unit 220, distribution recording unit 230, evaluation unit 240, and output unit 250 may be realized by a combination of software and hardware. That is, some of the functions of the input unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 may be realized by dedicated hardware, and the rest may be realized by software.
- the dedicated hardware is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an FPGA, an ASIC, or some or all of these.
- IC is an abbreviation for Integrated Circuit.
- GA is an abbreviation for Gate Array.
- FPGA is an abbreviation for Field-Programmable Gate Array.
- ASIC is an abbreviation for Application Specific Integrated Circuit.
- Both the processor 201 and the dedicated hardware are processing circuits. That is, regardless of whether the functions of the input unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 are realized by software or a combination of software and hardware. Operations of the unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 are performed by a processing circuit.
- Embodiment 2 FIG. In the present embodiment, differences from the first embodiment will be mainly described with reference to FIGS.
- the configuration of the performance evaluation device 200 is almost the same as that of the first embodiment, but in this embodiment, the performance evaluation device 200 is stored in the memory 202, the auxiliary storage device 203, or a register or cache memory in the processor 201. As data, there is processing time pattern data 234.
- the time required for the execution unit 110 to process the request 600 that is, the processing time is measured.
- the resource consumption rate of the execution unit 110 is measured, and the processing time is calculated from the measurement result using the technique described in Patent Document 2.
- Patent Document 2 discloses a method for simply predicting performance by regarding the arrival process of a request as a Poisson process.
- the technique described in Patent Document 2 can be handled when the arrival pattern of the request is an arbitrary pattern.
- step S210 to step S240 Since the operation from step S210 to step S240 is the same as the operation from step S110 to step S140 in the first embodiment, description thereof will be omitted.
- step S250 the distribution recording unit 230 of the performance evaluation apparatus 200 calculates an average value of the processing time from the resource usage rate and the request arrival rate of the execution unit 110 of the server 100, and the calculated average value of the processing time and the advance
- the processing time distribution is calculated from the processing time pattern data 234 stored in, and recorded.
- the distribution recording unit 230 calculates the average processing time from the resource usage rate of the server 100 and the arrival rate of the request 600 in the server 100, and the processing time probability distribution from the average processing time. Determine the parameters. Then, the distribution recording unit 230 calculates the probability distribution of the processing time using the determined parameter, and records the calculated probability distribution of the processing time in the memory 202 as the processing time distribution data 233.
- a queue model is used to calculate the average processing time for each resource of the server 100 from the usage rate of the plurality of resources of the server 100 and the arrival rate of the request 600 in the server 100.
- a method of calculating and summing the calculated averages is used.
- Processing time pattern data 234 is used as follows when determining the parameter of the processing time probability distribution from the total of processing time averages.
- the transmission unit 231 of the distribution recording unit 230 receives the execution command from the input unit 210 and transmits the request 600 to the execution unit 110. Each time the execution unit 110 receives a request 600, the execution unit 110 executes a process that is a target of a performance test.
- the second measurement unit 122 of the measurement unit 120 receives an execution command from the input unit 210, measures the resource usage rate and the request arrival rate of the execution unit 110, and transmits the measurement result as processing time data 700.
- the resource usage rate a CPU usage rate and an I / O usage rate per unit time are measured.
- the request arrival rate the number of request arrivals per unit time is measured.
- the calculation unit 232 of the distribution recording unit 230 receives the processing time data 700 from the second measurement unit 122, calculates the processing time distribution based on the received data and the processing time pattern data 234, and the processing time distribution data 233. Stored in the memory 202.
- the processing time probability distribution has one parameter, specifically, the processing time average, but there may be two or more processing time probability distribution parameters.
- the function of the probability distribution and the relational expression between the parameters are combined and defined by the processing time pattern data 234.
- step S260 to step S290 Since the operation from step S260 to step S290 is the same as the operation from step S160 to step S190 in the first embodiment, the description thereof will be omitted.
- step S250 in FIG. 14 The detailed operation of step S250 in FIG. 14 will be described with reference to FIG.
- step S251 the transmission unit 231 transmits the request 600 to the execution unit 110.
- the second measurement unit 122 measures the resource usage rate and the request arrival rate of the execution unit 110, and adds the measurement result to the processing time data 700.
- the resource usage rate is a rate at which resources are used per unit time.
- the request arrival rate is the number of requests 600 that arrive per unit time.
- the processing time data 700 is data representing the resource usage rate and request arrival rate of the execution unit 110 in a format as shown in FIG.
- step S253 the second measurement unit 122 confirms whether or not the processing time data 700 is sufficient to calculate the average resource usage per process. If not, step S251 and subsequent steps are repeated.
- step S254 the second measurement unit 122 transmits the processing time data 700 to the calculation unit 232.
- step S ⁇ b> 255 the calculation unit 232 uses the processing time data 700 to calculate an average resource usage time, which is a time during which resources are used on average for each process, for each resource.
- an average resource usage time which is a time during which resources are used on average for each process, for each resource.
- step S256 the calculation unit 232 calculates an average value of virtual response times in each resource using the average resource usage time calculated in step S255. Specifically, the calculation unit 232 regards the CPU processing as the M / M / c model in Kendall's notation and the I / O processing as the M / M / 1 model, and the virtual response time in each resource The average value of is calculated.
- the original process is executed by combining a number of fine CPU processes and I / O processes, but for convenience, a single CPU process and a fine I / O process are grouped together for each request.
- the response time when approximated to one I / O process is a virtual response time.
- the average value of the virtual response time in each resource corresponds to the average of the processing time for each resource.
- TRcpu ((Tcpu ⁇ ( ⁇ ⁇ Tcpu) n ) / ((n ⁇ 1)! ⁇ (n ⁇ ⁇ Tcpu) 2 )) ⁇ P + Tcpu
- TRio Tio / (1- ⁇ ⁇ Tio)
- step S257 the calculation unit 232 calculates an average value T of processing times.
- the average value T of the processing time is obtained by the following equation using the virtual average response time TRcpu of the CPU processing obtained earlier and the virtual average response time TRio of the I / O processing.
- T TRcpu + TRIo
- step S258 the calculation unit 232 reads the processing time pattern data 234 stored in advance.
- the processing time pattern data 234 is data representing a distribution shape of processing time per processing, such as an exponential distribution.
- step S259 the calculation unit 232 discretely calculates the processing time distribution from the average value of the processing time and the processing time pattern defined in the read processing time pattern data 234. Then, the calculation unit 232 stores the calculation result as processing time distribution data 233 in the memory 202.
- the resource usage rate and the request arrival rate of the execution unit 110 are measured, and the processing time is estimated from the measurement result, thereby eliminating the need for the execution unit 110 to measure the time required for processing the request 600. .
- 100 server 101 processor, 102 memory, 103 auxiliary storage device, 104 network interface, 110 execution unit, 120 measurement unit, 121 first measurement unit, 122 second measurement unit, 200 performance evaluation device, 201 processor, 202 memory, 203 Auxiliary storage device, 204 network interface, 205 input interface, 206 output interface, 210 input unit, 220 pattern recording unit, 221 calculation unit, 222 arrival pattern data, 223 correction unit, 230 distribution recording unit, 231 transmission unit, 232 calculation unit 233 processing time distribution data, 234 processing time pattern data, 240 evaluation unit, 241 first calculation unit, 242 response time distribution data, 243 second calculation unit, 244 performance characteristics Value, 250 output unit, 260 performance requirements data, 300 input device, 400 output unit, 500 the arrival time data, 600 requests 700 processing time data.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
A performance evaluation device (200), wherein a distribution recording unit (230) calculates the probability distribution of a processing time from the start of a process that corresponds to each request (600) in a server (100) when the server (100) is actuated. A pattern recording unit (220) records a second pattern different from a first pattern that is the arrival pattern of a request (600) in the server (100) when the server (100) is actuated. An evaluation unit (240) calculates, from the probability distribution of the processing time calculated by the distribution recording unit (230) and the second pattern recorded by the pattern recording unit (220), the probability distribution of a response time from the arrival of each request (600) in the server (100).
Description
本発明は、性能評価装置、性能評価方法および性能評価プログラムに関するものである。
The present invention relates to a performance evaluation apparatus, a performance evaluation method, and a performance evaluation program.
特許文献1に記載の技術では、運用時のサーバに対するアクセスパターンが記録される。その後、アクセス頻度が増加するように、記録されたアクセスパターンに基づく負荷が再生され、それと同時に測定される応答時間が、要求される応答時間を超えたときのアクセス頻度が、サーバの限界性能値として記録される。
In the technique described in Patent Document 1, an access pattern to the server during operation is recorded. After that, the load based on the recorded access pattern is replayed so that the access frequency increases, and the access frequency when the response time measured at the same time exceeds the required response time is the limit performance value of the server. As recorded.
一般に、単位時間当たりのリクエストの平均到着率が等しい場合でも、リクエストの到着パターンによって、リクエストに対する応答時間は変化する。そのため、評価対象の情報システムが性能要件を満たしているかどうかを確認する性能試験では、試験精度の向上のために、到着パターンの影響を考慮する必要がある。
Generally, even when the average arrival rate of requests per unit time is equal, the response time for the request varies depending on the arrival pattern of the request. For this reason, in the performance test for confirming whether the information system to be evaluated satisfies the performance requirement, it is necessary to consider the influence of the arrival pattern in order to improve the test accuracy.
特許文献1に記載の技術のように、運用時の到着パターンに基づく負荷を再生する方法を用いた場合、性能試験の実施時にリクエストの到着パターンを再現しなければならず、試験効率が悪い。再現できないリクエストの到着パターンについては、性能試験を実施することもできない。
When using a method of regenerating the load based on the arrival pattern during operation as in the technique described in Patent Document 1, the arrival pattern of the request must be reproduced when performing the performance test, and the test efficiency is poor. Performance tests cannot be performed on arrival patterns of requests that cannot be reproduced.
本発明は、性能試験の精度および効率の両方を向上させることを目的とする。
The present invention aims to improve both the accuracy and efficiency of the performance test.
本発明の一態様に係る性能評価装置は、
リクエストを繰り返し受信して処理を実行するサーバを動作させたときの、前記サーバにおける各リクエストに応じた処理の開始からの処理時間の確率分布を算出し、前記処理時間の確率分布をメモリに記録する分布記録部と、
前記サーバを動作させたときの、前記サーバにおけるリクエストの到着パターンである第1パターンとは異なる到着パターンである第2パターンを前記メモリに記録するパターン記録部と、
前記分布記録部により記録された確率分布と、前記パターン記録部により記録された第2パターンとから、前記サーバにおける各リクエストの到着からの応答時間の確率分布を算出する評価部と
を備える。 A performance evaluation apparatus according to an aspect of the present invention is provided.
Calculates the probability distribution of processing time from the start of processing according to each request in the server when the server that executes processing by repeatedly receiving requests is operated, and records the probability distribution of processing time in the memory A distribution recording unit,
A pattern recording unit that records, in the memory, a second pattern that is an arrival pattern different from a first pattern that is an arrival pattern of a request in the server when the server is operated;
An evaluation unit that calculates a probability distribution of response time from arrival of each request in the server from the probability distribution recorded by the distribution recording unit and the second pattern recorded by the pattern recording unit;
リクエストを繰り返し受信して処理を実行するサーバを動作させたときの、前記サーバにおける各リクエストに応じた処理の開始からの処理時間の確率分布を算出し、前記処理時間の確率分布をメモリに記録する分布記録部と、
前記サーバを動作させたときの、前記サーバにおけるリクエストの到着パターンである第1パターンとは異なる到着パターンである第2パターンを前記メモリに記録するパターン記録部と、
前記分布記録部により記録された確率分布と、前記パターン記録部により記録された第2パターンとから、前記サーバにおける各リクエストの到着からの応答時間の確率分布を算出する評価部と
を備える。 A performance evaluation apparatus according to an aspect of the present invention is provided.
Calculates the probability distribution of processing time from the start of processing according to each request in the server when the server that executes processing by repeatedly receiving requests is operated, and records the probability distribution of processing time in the memory A distribution recording unit,
A pattern recording unit that records, in the memory, a second pattern that is an arrival pattern different from a first pattern that is an arrival pattern of a request in the server when the server is operated;
An evaluation unit that calculates a probability distribution of response time from arrival of each request in the server from the probability distribution recorded by the distribution recording unit and the second pattern recorded by the pattern recording unit;
本発明では、サーバを動作させたときの処理時間の確率分布と、サーバを動作させたときのリクエストの到着パターンとは異なる到着パターンとから、応答時間の確率分布が算出される。そのため、到着パターンを再現せずに、その到着パターンの影響を考慮した性能試験を実施することができる。よって、本発明によれば、性能試験の精度および効率の両方が向上する。
In the present invention, the probability distribution of the response time is calculated from the probability distribution of the processing time when the server is operated and the arrival pattern different from the arrival pattern of the request when the server is operated. Therefore, it is possible to perform a performance test in consideration of the influence of the arrival pattern without reproducing the arrival pattern. Therefore, according to the present invention, both the accuracy and efficiency of the performance test are improved.
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、2つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、1つの実施の形態または2つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals. In the description of the embodiments, the description of the same or corresponding parts will be omitted or simplified as appropriate. The present invention is not limited to the embodiments described below, and various modifications can be made as necessary. For example, two or more embodiments among the embodiments described below may be combined and executed. Alternatively, among the embodiments described below, one embodiment or a combination of two or more embodiments may be partially implemented.
実施の形態1.
本実施の形態について、図1から図12を用いて説明する。Embodiment 1 FIG.
This embodiment will be described with reference to FIGS.
本実施の形態について、図1から図12を用いて説明する。
This embodiment will be described with reference to FIGS.
***構成の説明***
図1を参照して、本実施の形態に係るシステムの全体構成を説明する。 *** Explanation of configuration ***
With reference to FIG. 1, the overall configuration of the system according to the present embodiment will be described.
図1を参照して、本実施の形態に係るシステムの全体構成を説明する。 *** Explanation of configuration ***
With reference to FIG. 1, the overall configuration of the system according to the present embodiment will be described.
サーバ100は、性能試験の対象、すなわち、評価対象となるコンピュータである。サーバ100は、実行部110と、測定部120とを備える。
The server 100 is a computer that is a target of a performance test, that is, an evaluation target. The server 100 includes an execution unit 110 and a measurement unit 120.
実行部110は、性能試験の対象となる処理を実行する要素である。測定部120は、性能評価装置200からの実行命令を受け、実行部110の特性を測定する要素である。
The execution unit 110 is an element that executes a process that is a target of a performance test. The measurement unit 120 is an element that receives an execution command from the performance evaluation apparatus 200 and measures the characteristics of the execution unit 110.
性能評価装置200は、性能試験を実施するコンピュータである。性能評価装置200は、入力装置300および出力装置400と接続される。
The performance evaluation apparatus 200 is a computer that performs a performance test. The performance evaluation device 200 is connected to the input device 300 and the output device 400.
入力装置300は、ユーザによる入力を受け付け、性能評価装置200に伝達する装置である。出力装置400は、性能評価装置200から受け取ったデータをユーザへ出力する装置である。
The input device 300 is a device that receives input from the user and transmits the input to the performance evaluation device 200. The output device 400 is a device that outputs data received from the performance evaluation device 200 to a user.
性能評価装置200は、測定部120に実行命令を出し、測定部120から到着時刻データ500を受け取る。性能評価装置200は、実行部110へリクエスト600を送信し、測定部120から処理時間データ700を受け取る。性能評価装置200は、受け取ったデータをもとに算出した結果を、出力装置400へ伝達する。
The performance evaluation apparatus 200 issues an execution command to the measurement unit 120 and receives the arrival time data 500 from the measurement unit 120. The performance evaluation apparatus 200 transmits a request 600 to the execution unit 110 and receives processing time data 700 from the measurement unit 120. The performance evaluation device 200 transmits the result calculated based on the received data to the output device 400.
サーバ100および性能評価装置200は、仮想計算機で代用することも可能である。
The server 100 and the performance evaluation apparatus 200 can be replaced with a virtual machine.
サーバ100は、実行部110が複数ある場合、複数のコンピュータで構成されてもよい。その場合、各コンピュータが実行部110および測定部120を備える。
The server 100 may be composed of a plurality of computers when there are a plurality of execution units 110. In that case, each computer includes an execution unit 110 and a measurement unit 120.
性能評価装置200は、サーバ100と同一のコンピュータとすることも可能であるが、実行部110の処理性能に影響を及ぼさないために、別のコンピュータとすることが望ましい。
The performance evaluation apparatus 200 may be the same computer as the server 100, but is preferably a separate computer so as not to affect the processing performance of the execution unit 110.
入力装置300および出力装置400は、必須の構成要素ではないが、本実施の形態の効果を高めるために有用である。
The input device 300 and the output device 400 are not essential components, but are useful for enhancing the effects of the present embodiment.
図2および図3を参照して、サーバ100の構成を説明する。
The configuration of the server 100 will be described with reference to FIG. 2 and FIG.
サーバ100は、プロセッサ101を備えるとともに、メモリ102、補助記憶装置103およびネットワークインタフェース104といった他のハードウェアを備える。プロセッサ101は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
The server 100 includes a processor 101 and other hardware such as a memory 102, an auxiliary storage device 103, and a network interface 104. The processor 101 is connected to other hardware via a signal line, and controls these other hardware.
サーバ100は、機能要素として、実行部110と、測定部120とを備える。測定部120は、第1測定部121と、第2測定部122とを備える。実行部110および測定部120の機能は、ソフトウェアにより実現される。
The server 100 includes an execution unit 110 and a measurement unit 120 as functional elements. The measurement unit 120 includes a first measurement unit 121 and a second measurement unit 122. The functions of the execution unit 110 and the measurement unit 120 are realized by software.
プロセッサ101は、サーバプログラムを実行する装置である。サーバプログラムは、実行部110および測定部120の機能を実現するプログラムである。プロセッサ101は、例えば、CPUである。「CPU」は、Central Processing Unitの略語である。
The processor 101 is a device that executes a server program. The server program is a program that realizes the functions of the execution unit 110 and the measurement unit 120. The processor 101 is a CPU, for example. “CPU” is an abbreviation for Central Processing Unit.
メモリ102および補助記憶装置103は、サーバプログラムを記憶する装置である。メモリ102は、例えば、RAM、フラッシュメモリまたはこれらの組み合わせである。「RAM」は、Random Access Memoryの略語である。補助記憶装置103は、例えば、HDD、フラッシュメモリまたはこれらの組み合わせである。「HDD」は、Hard Disk Driveの略語である。なお、補助記憶装置103は、外部ディスクで代用することも可能である。その場合、外部ディスクは、ネットワークインタフェース104によってサーバ100と接続される。
The memory 102 and the auxiliary storage device 103 are devices that store server programs. The memory 102 is, for example, RAM, flash memory, or a combination thereof. “RAM” is an abbreviation for Random Access Memory. The auxiliary storage device 103 is, for example, an HDD, a flash memory, or a combination thereof. “HDD” is an abbreviation for Hard Disk Drive. The auxiliary storage device 103 can be replaced with an external disk. In that case, the external disk is connected to the server 100 by the network interface 104.
ネットワークインタフェース104は、サーバプログラムに入力されるデータを受信するレシーバと、サーバプログラムから出力されるデータを送信するトランスミッタとを含む。ネットワークインタフェース104は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。
The network interface 104 includes a receiver that receives data input to the server program and a transmitter that transmits data output from the server program. The network interface 104 is, for example, a communication chip or a NIC. “NIC” is an abbreviation for Network Interface Card.
サーバプログラムは、補助記憶装置103からメモリ102にロードされ、プロセッサ101によって実行される。
The server program is loaded from the auxiliary storage device 103 to the memory 102 and executed by the processor 101.
サーバ100は、プロセッサ101を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、サーバプログラムの実行を分担する。それぞれのプロセッサは、例えば、CPUである。
The server 100 may include a plurality of processors that replace the processor 101. The plurality of processors share the execution of the server program. Each processor is, for example, a CPU.
サーバプログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ102、補助記憶装置103、または、プロセッサ101内のレジスタまたはキャッシュメモリに記憶される。そのようなデータとしては、到着時刻データ500、リクエスト600および処理時間データ700がある。
Data, information, signal values, and variable values used, processed, or output by the server program are stored in the memory 102, the auxiliary storage device 103, or a register or cache memory in the processor 101. Such data includes arrival time data 500, request 600, and processing time data 700.
サーバプログラムは、実行部110および測定部120により行われる手順をそれぞれ実行手順および測定手順としてコンピュータに実行させるプログラムである。サーバプログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
The server program is a program that causes a computer to execute the procedures performed by the execution unit 110 and the measurement unit 120 as an execution procedure and a measurement procedure, respectively. The server program may be provided by being recorded on a computer-readable medium, may be provided by being stored in a recording medium, or may be provided as a program product.
サーバ100は、1台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。サーバ100が複数台のコンピュータで構成されている場合、実行部110は、少なくとも1台のコンピュータに備えられていればよいが、測定部120は、各コンピュータに備えられる。
The server 100 may be composed of one computer or a plurality of computers. When the server 100 is configured by a plurality of computers, the execution unit 110 may be provided in at least one computer, but the measurement unit 120 is provided in each computer.
図2および図3を参照して、性能評価装置200の構成を説明する。
The configuration of the performance evaluation apparatus 200 will be described with reference to FIGS.
性能評価装置200は、プロセッサ201を備えるとともに、メモリ202、補助記憶装置203、ネットワークインタフェース204、入力インタフェース205および出力インタフェース206といった他のハードウェアを備える。プロセッサ201は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
The performance evaluation apparatus 200 includes a processor 201 and other hardware such as a memory 202, an auxiliary storage device 203, a network interface 204, an input interface 205, and an output interface 206. The processor 201 is connected to other hardware via a signal line, and controls these other hardware.
性能評価装置200は、機能要素として、入力部210と、パターン記録部220と、分布記録部230と、評価部240と、出力部250とを備える。パターン記録部220は、算出部221と、補正部223とを備える。分布記録部230は、送信部231と、算出部232とを備える。評価部240は、第1算出部241と、第2算出部243とを備える。入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能は、ソフトウェアにより実現される。
The performance evaluation apparatus 200 includes an input unit 210, a pattern recording unit 220, a distribution recording unit 230, an evaluation unit 240, and an output unit 250 as functional elements. The pattern recording unit 220 includes a calculation unit 221 and a correction unit 223. The distribution recording unit 230 includes a transmission unit 231 and a calculation unit 232. The evaluation unit 240 includes a first calculation unit 241 and a second calculation unit 243. The functions of the input unit 210, pattern recording unit 220, distribution recording unit 230, evaluation unit 240, and output unit 250 are realized by software.
プロセッサ201は、性能評価プログラムを実行する装置である。性能評価プログラムは、入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能を実現するプログラムである。プロセッサ201は、例えば、CPUである。
The processor 201 is a device that executes a performance evaluation program. The performance evaluation program is a program that realizes the functions of the input unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250. The processor 201 is, for example, a CPU.
メモリ202および補助記憶装置203は、性能評価プログラムを記憶する装置である。メモリ202は、例えば、RAM、フラッシュメモリまたはこれらの組み合わせである。補助記憶装置203は、例えば、HDD、フラッシュメモリまたはこれらの組み合わせである。なお、補助記憶装置203は、外部ディスクで代用することも可能である。その場合、外部ディスクは、ネットワークインタフェース204によって性能評価装置200と接続される。
The memory 202 and the auxiliary storage device 203 are devices for storing a performance evaluation program. The memory 202 is, for example, RAM, flash memory, or a combination thereof. The auxiliary storage device 203 is, for example, an HDD, a flash memory, or a combination thereof. The auxiliary storage device 203 can be replaced with an external disk. In that case, the external disk is connected to the performance evaluation apparatus 200 via the network interface 204.
ネットワークインタフェース204は、性能評価プログラムに入力されるデータを受信するレシーバと、性能評価プログラムから出力されるデータを送信するトランスミッタとを含む。ネットワークインタフェース204は、例えば、通信チップまたはNICである。
The network interface 204 includes a receiver that receives data input to the performance evaluation program and a transmitter that transmits data output from the performance evaluation program. The network interface 204 is, for example, a communication chip or a NIC.
入力インタフェース205は、入力装置300と接続されるインタフェースである。入力インタフェース205は、例えば、USBポートである。「USB」は、Universal Serial Busの略語である。入力装置300は、性能評価プログラムへのデータの入力のためにユーザにより操作される。入力装置300は、例えば、マウス、キーボード、タッチパネル、または、これらのうちいくつか、もしくは、すべての組み合わせである。
The input interface 205 is an interface connected to the input device 300. The input interface 205 is a USB port, for example. “USB” is an abbreviation for Universal Serial Bus. The input device 300 is operated by a user to input data to the performance evaluation program. The input device 300 is, for example, a mouse, a keyboard, a touch panel, or some or all of these.
出力インタフェース206は、出力装置400と接続されるインタフェースである。出力インタフェース206は、例えば、USBポートである。出力装置400は、性能評価プログラムから出力されるデータをユーザに提示する。出力装置400は、例えば、LCD等のディスプレイ、プリンタまたはこれらの組み合わせである。「LCD」は、Liquid Crystal Displayの略語である。
The output interface 206 is an interface connected to the output device 400. The output interface 206 is, for example, a USB port. The output device 400 presents data output from the performance evaluation program to the user. The output device 400 is, for example, a display such as an LCD, a printer, or a combination thereof. “LCD” is an abbreviation for Liquid Crystal Display.
性能評価プログラムは、補助記憶装置203からメモリ202にロードされ、プロセッサ201によって実行される。
The performance evaluation program is loaded from the auxiliary storage device 203 to the memory 202 and executed by the processor 201.
性能評価装置200は、プロセッサ201を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、性能評価プログラムの実行を分担する。それぞれのプロセッサは、例えば、CPUである。
The performance evaluation apparatus 200 may include a plurality of processors that replace the processor 201. The plurality of processors share the execution of the performance evaluation program. Each processor is, for example, a CPU.
性能評価プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ202、補助記憶装置203、または、プロセッサ201内のレジスタまたはキャッシュメモリに記憶される。そのようなデータとしては、到着時刻データ500、リクエスト600および処理時間データ700のほかに、到着パターンデータ222、処理時間分布データ233、応答時間分布データ242、性能特性値244および性能要件データ260がある。
Data, information, signal values, and variable values used, processed, or output by the performance evaluation program are stored in the memory 202, the auxiliary storage device 203, or a register or cache memory in the processor 201. Such data includes arrival time data 500, request 600 and processing time data 700, as well as arrival pattern data 222, processing time distribution data 233, response time distribution data 242, performance characteristic value 244 and performance requirement data 260. is there.
性能評価プログラムは、入力部210、パターン記録部220、分布記録部230、評価部240および出力部250により行われる手順をそれぞれ入力手順、パターン記録手順、分布記録手順、評価手順および出力手順としてコンピュータに実行させるプログラムである。性能評価プログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
The performance evaluation program is a computer in which the procedures performed by the input unit 210, pattern recording unit 220, distribution recording unit 230, evaluation unit 240, and output unit 250 are input procedure, pattern recording procedure, distribution recording procedure, evaluation procedure, and output procedure, respectively This is a program to be executed. The performance evaluation program may be provided by being recorded on a computer-readable medium, may be provided by being stored in a recording medium, or may be provided as a program product.
性能評価装置200は、1台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。性能評価装置200が複数台のコンピュータで構成されている場合は、入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能が、各コンピュータに分散されて実現されてもよい。
The performance evaluation apparatus 200 may be composed of a single computer or a plurality of computers. When the performance evaluation apparatus 200 is configured by a plurality of computers, the functions of the input unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 are realized by being distributed to each computer. May be.
サーバ100と性能評価装置200は、それぞれのネットワークインタフェース104,204によって接続される。
The server 100 and the performance evaluation apparatus 200 are connected by respective network interfaces 104 and 204.
***動作の説明***
主に図4を参照して、本実施の形態に係るサーバ100および性能評価装置200の動作を説明する。サーバ100および性能評価装置200の動作は、本実施の形態に係る性能評価方法に相当する。 *** Explanation of operation ***
The operations of theserver 100 and the performance evaluation device 200 according to the present embodiment will be described mainly with reference to FIG. The operations of the server 100 and the performance evaluation apparatus 200 correspond to the performance evaluation method according to the present embodiment.
主に図4を参照して、本実施の形態に係るサーバ100および性能評価装置200の動作を説明する。サーバ100および性能評価装置200の動作は、本実施の形態に係る性能評価方法に相当する。 *** Explanation of operation ***
The operations of the
ステップS110では、入力装置300から性能評価装置200に対して、到着パターンの記録に関する実行命令があるかの確認が行われる。
In step S110, the input device 300 confirms whether or not there is an execution command related to the arrival pattern recording to the performance evaluation device 200.
ステップS120では、性能評価装置200のパターン記録部220が、サーバ100の実行部110が運用時に受けるリクエスト600の到着パターンを確率分布として記録する。
In step S120, the pattern recording unit 220 of the performance evaluation apparatus 200 records the arrival pattern of the request 600 received by the execution unit 110 of the server 100 during operation as a probability distribution.
具体的には、パターン記録部220は、リクエスト600を繰り返し受信して処理を実行するサーバ100を動作させたときの、サーバ100におけるリクエスト600の到着パターンである第1パターンとは異なる到着パターンである第2パターンを到着パターンデータ222としてメモリ202に記録する。
Specifically, the pattern recording unit 220 has an arrival pattern different from the first pattern that is the arrival pattern of the request 600 in the server 100 when the server 100 that repeatedly receives the request 600 and executes the process is operated. A second pattern is recorded in the memory 202 as arrival pattern data 222.
第2パターンを決定する方法としては、任意の方法が用いられてよいが、本実施の形態では、第1パターンを算出し、算出結果を補正することで第2パターンを決定する方法が用いられる。
As a method for determining the second pattern, any method may be used, but in the present embodiment, a method for determining the second pattern by calculating the first pattern and correcting the calculation result is used. .
本実施の形態では、パターン記録部220は、サーバ100における各リクエスト600の到着時刻を示すデータから、サーバ100におけるリクエスト600の到着時間間隔の確率分布を第1パターンとして算出する。そして、パターン記録部220は、算出した到着時間間隔の確率分布から、平均または分散等の特性が異なる確率分布を第2パターンとして算出する。
In the present embodiment, the pattern recording unit 220 calculates the probability distribution of the arrival time intervals of the requests 600 in the server 100 from the data indicating the arrival times of the requests 600 in the server 100 as the first pattern. Then, the pattern recording unit 220 calculates, as the second pattern, a probability distribution having different characteristics such as average or variance from the calculated probability distribution of arrival time intervals.
第2パターンを決定する方法として、本実施の形態では、入力インタフェース205を介して第2パターンの入力を受け付ける方法も選択的に用いられる。
As a method for determining the second pattern, a method of accepting an input of the second pattern via the input interface 205 is selectively used in the present embodiment.
サーバ100における各リクエスト600の到着時刻を示すデータとしては、到着時刻データ500が次のように用いられる。
As the data indicating the arrival time of each request 600 in the server 100, the arrival time data 500 is used as follows.
測定部120の第1測定部121は、入力部210から実行命令を受け、実行部110にリクエスト600が到着した時刻を測定し、測定結果を到着時刻データ500として送信する。パターン記録部220の算出部221は、第1測定部121から到着時刻データ500を受け取り、受け取ったデータをもとに到着パターンを算出し、到着パターンデータ222としてメモリ202に格納する。パターン記録部220の補正部223は、入力部210から受け取った情報をもとに到着パターンデータ222を補正するか、あるいは、入力部210から受け取った情報を到着パターンデータ222としてメモリ202に格納する。なお、入力部210は、入力装置300を介してユーザから入力された情報を、測定部120内の要素、パターン記録部220内の要素、分布記録部230内の要素、および、評価部240内の要素に振り分けて伝達する。
The first measurement unit 121 of the measurement unit 120 receives an execution command from the input unit 210, measures the time when the request 600 arrives at the execution unit 110, and transmits the measurement result as arrival time data 500. The calculation unit 221 of the pattern recording unit 220 receives the arrival time data 500 from the first measurement unit 121, calculates an arrival pattern based on the received data, and stores it in the memory 202 as arrival pattern data 222. The correction unit 223 of the pattern recording unit 220 corrects the arrival pattern data 222 based on the information received from the input unit 210 or stores the information received from the input unit 210 in the memory 202 as the arrival pattern data 222. . Note that the input unit 210 converts information input from the user via the input device 300 into elements in the measurement unit 120, elements in the pattern recording unit 220, elements in the distribution recording unit 230, and information in the evaluation unit 240. It distributes to the elements of and transmits.
ステップS130では、入力装置300から性能評価装置200に対して、処理時間分布の記録に関する実行命令があるかの確認が行われる。
In step S130, the input device 300 confirms to the performance evaluation device 200 whether there is an execution command related to recording of the processing time distribution.
ステップS140では、性能評価装置200がすでにサーバ100の実行部110の処理時間を測定した結果を保存しているかどうかの確認が行われる。すでに結果が保存されている場合は、ステップS150がスキップされる。
In step S140, it is confirmed whether or not the performance evaluation apparatus 200 has already stored the result of measuring the processing time of the execution unit 110 of the server 100. If the result has already been saved, step S150 is skipped.
ステップS150では、性能評価装置200の分布記録部230が、サーバ100の実行部110が処理を実行するのに要する時間の確率分布を算出し、記録する。
In step S150, the distribution recording unit 230 of the performance evaluation apparatus 200 calculates and records the probability distribution of the time required for the execution unit 110 of the server 100 to execute the process.
具体的には、分布記録部230は、リクエスト600を繰り返し受信して処理を実行するサーバ100を動作させたときの、サーバ100における各リクエスト600に応じた処理の開始からの処理時間の確率分布を算出する。そして、分布記録部230は、算出した処理時間の確率分布を処理時間分布データ233としてメモリ202に記録する。
Specifically, the distribution recording unit 230 receives the request 600 repeatedly and operates the server 100 that executes the process. The probability distribution of the processing time from the start of the process according to each request 600 in the server 100 Is calculated. Then, the distribution recording unit 230 records the calculated probability distribution of the processing time in the memory 202 as the processing time distribution data 233.
処理時間の確率分布を算出する方法としては、任意の方法が用いられてよいが、本実施の形態では、サーバ100における処理時間の測定結果から、処理時間の確率分布を算出する方法が用いられる。
An arbitrary method may be used as a method for calculating the processing time probability distribution, but in the present embodiment, a method for calculating the processing time probability distribution from the processing time measurement result in the server 100 is used. .
サーバ100における処理時間の測定結果を示すデータとしては、次のように処理時間データ700が用いられる。
As the data indicating the measurement result of the processing time in the server 100, processing time data 700 is used as follows.
分布記録部230の送信部231は、入力部210から実行命令を受け、実行部110へリクエスト600を送信する。実行部110は、リクエスト600を受信する度に、性能試験の対象となる処理を実行する。測定部120の第2測定部122は、入力部210から実行命令を受け、実行部110で処理を実行するのに要した時間を測定し、測定結果を処理時間データ700として送信する。あるいは、第2測定部122は、入力部210から実行命令を受け、処理の開始時刻および終了時刻等、実行部110で処理を実行するのに要した時間を算出するための情報を取得し、取得した情報を処理時間データ700として送信する。分布記録部230の算出部232は、第2測定部122から処理時間データ700を受け取り、受け取ったデータをもとに処理時間分布を算出し、処理時間分布データ233としてメモリ202に格納する。
The transmission unit 231 of the distribution recording unit 230 receives the execution command from the input unit 210 and transmits the request 600 to the execution unit 110. Each time the execution unit 110 receives a request 600, the execution unit 110 executes a process that is a target of a performance test. The second measurement unit 122 of the measurement unit 120 receives an execution command from the input unit 210, measures the time required for executing the process by the execution unit 110, and transmits the measurement result as processing time data 700. Alternatively, the second measurement unit 122 receives an execution instruction from the input unit 210, acquires information for calculating the time required to execute the process in the execution unit 110, such as a start time and an end time of the process, The acquired information is transmitted as processing time data 700. The calculation unit 232 of the distribution recording unit 230 receives the processing time data 700 from the second measurement unit 122, calculates the processing time distribution based on the received data, and stores the processing time distribution data 233 in the memory 202.
ステップS160では、入力装置300から性能評価装置200に対して、応答時間分布および性能特性値244の算出に関する実行命令があるかの確認が行われる。
In step S160, the input device 300 confirms whether or not there is an execution command regarding the calculation of the response time distribution and the performance characteristic value 244 to the performance evaluation device 200.
ステップS170では、性能評価装置200の評価部240が、ステップS120で保存されたリクエスト600の到着パターンと、ステップS150で保存された処理時間分布とから、処理時間に待ち時間を加えた応答時間の分布と、応答時間の特性を表す性能特性値244とを算出し、算出結果を保存する。
In step S170, the evaluation unit 240 of the performance evaluation apparatus 200 calculates a response time obtained by adding a waiting time to the processing time from the arrival pattern of the request 600 stored in step S120 and the processing time distribution stored in step S150. The distribution and the performance characteristic value 244 representing the response time characteristic are calculated, and the calculation result is stored.
具体的には、評価部240は、分布記録部230により記録された処理時間の確率分布と、パターン記録部220により記録された第2パターンとから、サーバ100における各リクエスト600の到着からの応答時間の確率分布を算出する。そして、評価部240は、算出した応答時間の確率分布を応答時間分布データ242としてメモリ202に記録する。
Specifically, the evaluation unit 240 determines the response from the arrival of each request 600 in the server 100 from the probability distribution of the processing time recorded by the distribution recording unit 230 and the second pattern recorded by the pattern recording unit 220. Calculate the probability distribution of time. Then, the evaluation unit 240 records the calculated probability distribution of response time in the memory 202 as response time distribution data 242.
応答時間の確率分布を算出する方法としては、任意の方法が用いられてよいが、本実施の形態では、サーバ100における各リクエスト600の到着からの待ち時間の確率分布を算出し、処理時間の確率分布と、待ち時間の確率分布とから、応答時間の確率分布を算出する方法が用いられる。待ち時間は、待ち行列モデルを用いて、処理時間の確率分布と、第2パターンとから算出される。
Any method may be used as the method for calculating the response time probability distribution. In this embodiment, the server 100 calculates the probability distribution of the waiting time from the arrival of each request 600 and the processing time A method of calculating the probability distribution of the response time from the probability distribution and the probability distribution of the waiting time is used. The waiting time is calculated from the probability distribution of the processing time and the second pattern using a queuing model.
本実施の形態では、評価部240は、さらに、算出した応答時間の確率分布から、サーバ100の性能の指標値を算出する。そして、評価部240は、算出した指標値を性能特性値244としてメモリ202に記録する。
In the present embodiment, the evaluation unit 240 further calculates an index value of the performance of the server 100 from the calculated probability distribution of response time. Then, the evaluation unit 240 records the calculated index value in the memory 202 as the performance characteristic value 244.
より具体的には、評価部240の第1算出部241は、入力部210から実行命令を受け取り、到着パターンデータ222および処理時間分布データ233を読み込み、読み込んだデータをもとに実行部110の応答時間分布を算出し、応答時間分布データ242としてメモリ202に格納する。評価部240の第2算出部243は、応答時間分布データ242を読み込み、読み込んだデータをもとに応答時間の平均または最大値等の性能特性値244を算出し、メモリ202に格納する。
More specifically, the first calculation unit 241 of the evaluation unit 240 receives an execution command from the input unit 210, reads the arrival pattern data 222 and the processing time distribution data 233, and executes the execution unit 110 based on the read data. Response time distribution is calculated and stored in the memory 202 as response time distribution data 242. The second calculation unit 243 of the evaluation unit 240 reads the response time distribution data 242, calculates a performance characteristic value 244 such as an average or maximum response time based on the read data, and stores it in the memory 202.
ステップS180では、入力装置300から性能評価装置200に対して、ステップS120で保存されたリクエスト600の到着パターン以外の到着パターンに対する性能試験結果出力の実行命令が出ているかどうかの確認が行われる。そのような実行命令が出ている場合は、ステップS110以降が繰り返される。
In step S180, it is confirmed from the input device 300 to the performance evaluation device 200 whether a performance test result output execution command for an arrival pattern other than the arrival pattern of the request 600 stored in step S120 is issued. If such an execution instruction has been issued, step S110 and subsequent steps are repeated.
ステップS190では、性能評価装置200の出力部250が、ステップS170で保存された応答時間分布および性能特性値244に加え、それらをもとに判断した性能試験結果のうち、必要な項目を出力する。
In step S190, the output unit 250 of the performance evaluation apparatus 200 outputs necessary items among the performance test results determined based on the response time distribution and the performance characteristic value 244 stored in step S170. .
このように、本実施の形態では、出力部250は、応答時間の確率分布から算出される、サーバ100の性能の指標値を出力する。
Thus, in this embodiment, the output unit 250 outputs the performance index value of the server 100 calculated from the probability distribution of response time.
具体的には、出力部250は、応答時間分布データ242と、性能特性値244と、応答時間分布データ242および性能特性値244と性能要件データ260とをもとに判断される性能試験の結果とを、出力装置400で出力できる形式に変換し、出力装置400を介してユーザに提示する。
Specifically, the output unit 250 performs a performance test result determined based on the response time distribution data 242, the performance characteristic value 244, the response time distribution data 242, the performance characteristic value 244, and the performance requirement data 260. Are converted into a format that can be output by the output device 400 and presented to the user via the output device 400.
なお、第1測定部121は、入力装置300を通して入力された到着パターンが到着パターンデータ222としてメモリ202に格納される場合、省略可能である。
The first measuring unit 121 can be omitted when the arrival pattern input through the input device 300 is stored in the memory 202 as the arrival pattern data 222.
図5を参照して、図4のステップS120の詳細な動作を説明する。
The detailed operation of step S120 in FIG. 4 will be described with reference to FIG.
ステップS121では、入力部210が、実行部110が運用時に受けるリクエスト600の到着パターンが測定可能であるかどうかを判断する。測定可能でない場合は、ステップS122からステップS125がスキップされる。
In step S121, the input unit 210 determines whether the arrival pattern of the request 600 received by the execution unit 110 during operation can be measured. If measurement is not possible, steps S122 to S125 are skipped.
ステップS122では、第1測定部121が、実行部110が運用時に受けるリクエスト600の到着時刻を測定し、測定結果を到着時刻データ500に追加する。到着時刻データ500は、実行部110が運用時に受け取ったリクエスト600の到着時刻を、図6に示すような形式で表すデータである。
In step S122, the first measurement unit 121 measures the arrival time of the request 600 received by the execution unit 110 during operation, and adds the measurement result to the arrival time data 500. The arrival time data 500 is data representing the arrival time of the request 600 received by the execution unit 110 during operation in a format as shown in FIG.
ステップS123では、第1測定部121が、到着時刻データ500が到着パターンである到着時間間隔の確率分布を算出するために十分であるかどうかを確認する。十分でない場合は、ステップS122が繰り返される。
In step S123, the first measurement unit 121 confirms whether the arrival time data 500 is sufficient for calculating the probability distribution of the arrival time interval that is the arrival pattern. If not, step S122 is repeated.
ステップS124では、第1測定部121が、到着時刻データ500を算出部221に送信する。
In step S124, the first measuring unit 121 transmits the arrival time data 500 to the calculating unit 221.
ステップS125では、算出部221が、到着時刻データ500に記載されている時刻を読み込み、直前の時刻との差を算出し、その差を到着時間間隔として、到着時間間隔の確率分布を離散的に算出する。そして、算出部221が、算出結果を到着パターンデータ222としてメモリ202に格納する。この算出結果は第1パターンに相当する。到着パターンデータ222は、到着時間間隔の離散的な確率分布を、図7に示すような形式で表すデータである。到着パターンが複数存在する場合、到着パターンごとに、図7に示すような形式のデータがメモリ202に格納される。
In step S125, the calculation unit 221 reads the time described in the arrival time data 500, calculates the difference from the previous time, and uses the difference as the arrival time interval to discretely calculate the probability distribution of the arrival time interval. calculate. Then, the calculation unit 221 stores the calculation result as arrival pattern data 222 in the memory 202. This calculation result corresponds to the first pattern. The arrival pattern data 222 is data representing a discrete probability distribution of arrival time intervals in a format as shown in FIG. When there are a plurality of arrival patterns, data in the format shown in FIG. 7 is stored in the memory 202 for each arrival pattern.
ステップS126では、入力部210が、入力装置300から受け取った入力から、到着パターンの補正または入力が必要であるかどうかを判断する。補正が必要である場合は、入力部210が、入力装置300から受け取った入力を変換して補正部223へ伝達する。補正または入力が必要である場合、すなわち、ユーザより到着パターンの補正が指示されるか、または、ユーザより到着パターンが入力された場合は、ステップS127が次のステップとなる。それ以外の場合は、ステップS120の動作が終了する。
In step S126, the input unit 210 determines from the input received from the input device 300 whether the arrival pattern needs to be corrected or input. When correction is necessary, the input unit 210 converts the input received from the input device 300 and transmits the converted input to the correction unit 223. If correction or input is necessary, that is, if an arrival pattern correction is instructed by the user or an arrival pattern is input by the user, step S127 is the next step. In other cases, the operation of step S120 ends.
ステップS127では、補正部223が、入力部210から受け取った情報をもとに、到着パターンデータ222を補正するか、到着パターンデータ222にデータを追加するかを判断する。補正の場合は、ステップS128が次のステップとなる。追加の場合は、ステップS129が次のステップとなる。
In step S127, the correction unit 223 determines whether to correct the arrival pattern data 222 or to add data to the arrival pattern data 222 based on the information received from the input unit 210. In the case of correction, step S128 is the next step. In the case of addition, step S129 becomes the next step.
ステップS128では、補正部223が、入力部210から受け取った情報に従って、到着パターンデータ222を補正する。
In step S128, the correction unit 223 corrects the arrival pattern data 222 according to the information received from the input unit 210.
補正としては、任意の補正が行われてよいが、本実施の形態では、到着時間間隔の確率分布の平均を増加させる補正が行われる。具体例として、離散幅が1であり、平均を2増加させる場合、以下の処理が実行される。
ステップ1:到着時間間隔が0または1に対応する確率を0とする。
ステップ2:n=2とする。
ステップ3:到着時間間隔がnに対応する確率を、元の到着時間間隔がn-2に対応する確率とする。
ステップ4:nを1増加させる。
ステップ5:n-2が元の到着時間間隔の最大値となるまで、ステップ3およびステップ4を繰り返す。 As the correction, arbitrary correction may be performed, but in the present embodiment, correction for increasing the average of the probability distribution of arrival time intervals is performed. As a specific example, when the discrete width is 1 and the average is increased by 2, the following processing is executed.
Step 1: The probability that the arrival time interval corresponds to 0 or 1 is set to 0.
Step 2: Set n = 2.
Step 3: Let the probability that the arrival time interval corresponds to n be the probability that the original arrival time interval corresponds to n-2.
Step 4: Increase n by 1.
Step 5:Repeat Step 3 and Step 4 until n-2 reaches the maximum value of the original arrival time interval.
ステップ1:到着時間間隔が0または1に対応する確率を0とする。
ステップ2:n=2とする。
ステップ3:到着時間間隔がnに対応する確率を、元の到着時間間隔がn-2に対応する確率とする。
ステップ4:nを1増加させる。
ステップ5:n-2が元の到着時間間隔の最大値となるまで、ステップ3およびステップ4を繰り返す。 As the correction, arbitrary correction may be performed, but in the present embodiment, correction for increasing the average of the probability distribution of arrival time intervals is performed. As a specific example, when the discrete width is 1 and the average is increased by 2, the following processing is executed.
Step 1: The probability that the arrival time interval corresponds to 0 or 1 is set to 0.
Step 2: Set n = 2.
Step 3: Let the probability that the arrival time interval corresponds to n be the probability that the original arrival time interval corresponds to n-2.
Step 4: Increase n by 1.
Step 5:
他の補正として、分散を増加させる補正が行われてもよい。どのような補正を行うにしても、到着時間間隔の値は0以上という制限があるため、負の値を付与する補正は避ける。補正後の到着時間間隔の確率分布は第2パターンに相当する。
As another correction, a correction that increases dispersion may be performed. Regardless of what correction is performed, the value of the arrival time interval is limited to 0 or more, so correction that gives a negative value is avoided. The corrected probability distribution of arrival time intervals corresponds to the second pattern.
ステップS129では、補正部223が、入力部210から受け取った情報を到着パターンデータ222に追加する。
In step S129, the correction unit 223 adds the information received from the input unit 210 to the arrival pattern data 222.
図8を参照して、図4のステップS150の詳細な動作を説明する。
Referring to FIG. 8, the detailed operation of step S150 in FIG. 4 will be described.
ステップS151では、送信部231が、実行部110に、リクエスト600を送信する。
In step S151, the transmission unit 231 transmits the request 600 to the execution unit 110.
ステップS152では、第2測定部122が、実行部110が1件のリクエスト600を処理するのに要する時間を測定し、処理時間として処理時間データ700に追加する。処理時間データ700は、実行部110が1件のリクエスト600を処理するのに要する時間を、図9に示すような形式で表すデータである。
In step S152, the second measurement unit 122 measures the time required for the execution unit 110 to process one request 600 and adds it to the processing time data 700 as the processing time. The processing time data 700 is data representing the time required for the execution unit 110 to process one request 600 in a format as shown in FIG.
ステップS153では、第2測定部122が、処理時間データ700が処理時間の確率分布を算出するために十分であるかどうかを確認する。十分でない場合は、ステップS151以降が繰り返される。
In step S153, the second measurement unit 122 confirms whether or not the processing time data 700 is sufficient for calculating the probability distribution of the processing time. If not, step S151 and subsequent steps are repeated.
ステップS154では、第2測定部122が、処理時間データ700を算出部232に送信する。
In step S154, the second measurement unit 122 transmits the processing time data 700 to the calculation unit 232.
ステップS155では、算出部232が、処理時間データ700から処理時間の確率分布を離散的に算出する。そして、算出部232が、算出結果を処理時間分布データ233としてメモリ202に格納する。処理時間分布データ233は、実行部110が1件のリクエスト600を処理するのに要する処理時間の離散的な確率分布を、図10に示すような形式で表すデータである。
In step S155, the calculation unit 232 discretely calculates the processing time probability distribution from the processing time data 700. Then, the calculation unit 232 stores the calculation result as processing time distribution data 233 in the memory 202. The processing time distribution data 233 is data representing a discrete probability distribution of processing time required for the execution unit 110 to process one request 600 in a format as shown in FIG.
図11を参照して、図4のステップS170の詳細な動作を説明する。
The detailed operation of step S170 in FIG. 4 will be described with reference to FIG.
ステップS171では、第1算出部241が、到着パターンデータ222と、処理時間分布データ233とを読み込む。
In step S171, the first calculation unit 241 reads the arrival pattern data 222 and the processing time distribution data 233.
ステップS172では、第1算出部241が、読み込んだデータを用いて応答時間分布を算出し、算出結果を応答時間分布データ242としてメモリ202に格納する。図示していないが、応答時間分布データ242は、実行部110が1件のリクエスト600を受けてから応答するまでに要する応答時間の離散的な確率分布を、処理時間分布データ233と同様の形式で表すデータである。
In step S172, the first calculation unit 241 calculates a response time distribution using the read data, and stores the calculation result in the memory 202 as response time distribution data 242. Although not shown, the response time distribution data 242 is a similar format to the processing time distribution data 233, showing a discrete probability distribution of response time required for the execution unit 110 to respond after receiving one request 600. It is data represented by.
応答時間分布の算出は、任意の方法で行われてよいが、本実施の形態では、以下の方法で行われる。
ステップ1:実行部110の挙動を、ケンドールの記法でいうところのG/G/1とみなして、Wiener-Hopf法およびLindleyの方程式を用いて、待ち時間の分布を算出する。待ち時間の分布の算出方法としては、例えば、非特許文献1に記載の方法がある。
ステップ2:応答時間が処理時間と待ち時間との和であることを利用して、確率変数の合成積により、応答時間の分布を算出する。 The calculation of the response time distribution may be performed by an arbitrary method, but in the present embodiment, it is performed by the following method.
Step 1: Considering the behavior of theexecution unit 110 as G / G / 1 in the Kendall notation, the distribution of the waiting time is calculated using the Wiener-Hopf method and the Lindley equation. As a method for calculating the distribution of waiting time, for example, there is a method described in Non-Patent Document 1.
Step 2: Utilizing the fact that the response time is the sum of the processing time and the waiting time, a response time distribution is calculated by a composite product of random variables.
ステップ1:実行部110の挙動を、ケンドールの記法でいうところのG/G/1とみなして、Wiener-Hopf法およびLindleyの方程式を用いて、待ち時間の分布を算出する。待ち時間の分布の算出方法としては、例えば、非特許文献1に記載の方法がある。
ステップ2:応答時間が処理時間と待ち時間との和であることを利用して、確率変数の合成積により、応答時間の分布を算出する。 The calculation of the response time distribution may be performed by an arbitrary method, but in the present embodiment, it is performed by the following method.
Step 1: Considering the behavior of the
Step 2: Utilizing the fact that the response time is the sum of the processing time and the waiting time, a response time distribution is calculated by a composite product of random variables.
ステップS173では、第2算出部243が、応答時間分布データ242を読み込む。
In step S173, the second calculation unit 243 reads the response time distribution data 242.
ステップS174では、第2算出部243が、読み込んだデータを用いて、性能特性値244として、応答時間の平均または最大値等の性能要件に記載のある数値を算出する。そして、第2算出部243が、算出結果をメモリ202に格納する。
In step S174, the second calculation unit 243 uses the read data to calculate a numerical value described in the performance requirement such as an average or maximum response time as the performance characteristic value 244. Then, the second calculation unit 243 stores the calculation result in the memory 202.
図12を参照して、図4のステップS190の詳細な動作を説明する。
The detailed operation of step S190 in FIG. 4 will be described with reference to FIG.
ステップS191では、出力部250が、性能特性値244と、あらかじめメモリ202に格納された性能要件データ260を読み込む。性能要件データ260は、性能要件を示すデータである。
In step S191, the output unit 250 reads the performance characteristic value 244 and the performance requirement data 260 stored in the memory 202 in advance. The performance requirement data 260 is data indicating performance requirements.
ステップS192では、出力部250が、性能特性値244と性能要件データ260とを用いて、性能試験結果を判断する。
In step S 192, the output unit 250 determines the performance test result using the performance characteristic value 244 and the performance requirement data 260.
ステップS193では、出力部250が、性能特性値244と性能試験結果とを出力装置400が出力可能な形式に変換し、変換結果を出力装置400に伝達する。そして、出力装置400が、出力部250から受け取った情報を出力する。
In step S193, the output unit 250 converts the performance characteristic value 244 and the performance test result into a format that can be output by the output device 400, and transmits the conversion result to the output device 400. Then, the output device 400 outputs the information received from the output unit 250.
***実施の形態の効果の説明***
本実施の形態では、サーバ100を動作させたときの処理時間の確率分布と、サーバ100を動作させたときのリクエスト600の到着パターンとは異なる到着パターンとから、応答時間の確率分布が算出される。そのため、到着パターンを再現せずに、その到着パターンの影響を考慮した性能試験を実施することができる。よって、本実施の形態によれば、性能試験の精度および効率の両方が向上する。 *** Explanation of the effect of the embodiment ***
In this embodiment, the probability distribution of response time is calculated from the probability distribution of processing time when theserver 100 is operated and the arrival pattern different from the arrival pattern of the request 600 when the server 100 is operated. The Therefore, it is possible to perform a performance test in consideration of the influence of the arrival pattern without reproducing the arrival pattern. Therefore, according to the present embodiment, both the accuracy and efficiency of the performance test are improved.
本実施の形態では、サーバ100を動作させたときの処理時間の確率分布と、サーバ100を動作させたときのリクエスト600の到着パターンとは異なる到着パターンとから、応答時間の確率分布が算出される。そのため、到着パターンを再現せずに、その到着パターンの影響を考慮した性能試験を実施することができる。よって、本実施の形態によれば、性能試験の精度および効率の両方が向上する。 *** Explanation of the effect of the embodiment ***
In this embodiment, the probability distribution of response time is calculated from the probability distribution of processing time when the
本実施の形態では、実行部110に任意の到着パターンでリクエスト600を送信して測定した処理時間の情報と、到着パターンデータ222に記録された特定の到着パターンの情報とから、リクエスト600を当該特定の到着パターンで発生させることなく、当該特定の到着パターンにおける性能特性値244が算出される。よって、当該特定の到着パターンの影響を考慮した性能試験結果を効率良く得ることができる。
In the present embodiment, the request 600 is determined from the processing time information measured by transmitting the request 600 in an arbitrary arrival pattern to the execution unit 110 and the specific arrival pattern information recorded in the arrival pattern data 222. The performance characteristic value 244 in the specific arrival pattern is calculated without being generated in the specific arrival pattern. Therefore, it is possible to efficiently obtain a performance test result considering the influence of the specific arrival pattern.
性能要件で挙げられた到着パターンが非常に密である等、限られたリソースで発生可能な範囲を逸脱する場合、または、事前に到着パターンが記録できない場合、従来の方法では性能試験の実施が不可能であるが、本実施の形態によって性能試験の実施が可能となる。
If the arrival patterns listed in the performance requirements deviate from the range that can be generated with limited resources, or if the arrival patterns cannot be recorded in advance, the conventional method can perform performance tests. Although it is impossible, the performance test can be performed according to this embodiment.
性能要件が多数あり、多数の到着パターンにおける応答時間を確かめる場合、従来の方法では何回も測定が必要となるが、本発明によって1回の測定で十分となる。
When there are many performance requirements and the response time in a large number of arrival patterns is to be confirmed, the conventional method requires many measurements, but one measurement is sufficient according to the present invention.
本実施の形態によれば、応答時間の平均値を算出するだけでなく、性能試験で必要な応答時間の最大値またはパーセンタイル値等の分布特性を算出および出力することができる。
According to this embodiment, not only the average value of the response time can be calculated, but also the distribution characteristic such as the maximum value of the response time or the percentile value required for the performance test can be calculated and output.
***他の構成***
本実施の形態では、性能評価装置200の入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能がソフトウェアにより実現されるが、別の変形例として、入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。 *** Other configurations ***
In the present embodiment, the functions of theinput unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 of the performance evaluation apparatus 200 are realized by software. The functions of 210, pattern recording unit 220, distribution recording unit 230, evaluation unit 240, and output unit 250 may be realized by a combination of software and hardware. That is, some of the functions of the input unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 may be realized by dedicated hardware, and the rest may be realized by software.
本実施の形態では、性能評価装置200の入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能がソフトウェアにより実現されるが、別の変形例として、入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。 *** Other configurations ***
In the present embodiment, the functions of the
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGA、ASIC、または、これらのうちいくつか、もしくは、すべての組み合わせである。「IC」は、Integrated Circuitの略語である。「GA」は、Gate Arrayの略語である。「FPGA」は、Field-Programmable Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
The dedicated hardware is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an FPGA, an ASIC, or some or all of these. . “IC” is an abbreviation for Integrated Circuit. “GA” is an abbreviation for Gate Array. “FPGA” is an abbreviation for Field-Programmable Gate Array. “ASIC” is an abbreviation for Application Specific Integrated Circuit.
プロセッサ201および専用のハードウェアは、いずれも処理回路である。すなわち、入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、入力部210、パターン記録部220、分布記録部230、評価部240および出力部250の動作は、処理回路により行われる。
Both the processor 201 and the dedicated hardware are processing circuits. That is, regardless of whether the functions of the input unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 are realized by software or a combination of software and hardware. Operations of the unit 210, the pattern recording unit 220, the distribution recording unit 230, the evaluation unit 240, and the output unit 250 are performed by a processing circuit.
実施の形態2.
本実施の形態について、主に実施の形態1との差異を、図13から図16を用いて説明する。Embodiment 2. FIG.
In the present embodiment, differences from the first embodiment will be mainly described with reference to FIGS.
本実施の形態について、主に実施の形態1との差異を、図13から図16を用いて説明する。
In the present embodiment, differences from the first embodiment will be mainly described with reference to FIGS.
***構成の説明***
本実施の形態に係るシステムの全体構成については、実施の形態1のものと同じであるため、説明を省略する。 *** Explanation of configuration ***
Since the overall configuration of the system according to the present embodiment is the same as that of the first embodiment, description thereof is omitted.
本実施の形態に係るシステムの全体構成については、実施の形態1のものと同じであるため、説明を省略する。 *** Explanation of configuration ***
Since the overall configuration of the system according to the present embodiment is the same as that of the first embodiment, description thereof is omitted.
サーバ100の構成については、実施の形態1のものと同じであるため、説明を省略する。
Since the configuration of the server 100 is the same as that of the first embodiment, description thereof is omitted.
図13を参照して、本実施の形態に係る性能評価装置200の構成を説明する。
With reference to FIG. 13, the configuration of the performance evaluation apparatus 200 according to the present embodiment will be described.
性能評価装置200の構成についても、実施の形態1のものとほとんど同じであるが、本実施の形態では、メモリ202、補助記憶装置203、または、プロセッサ201内のレジスタまたはキャッシュメモリに記憶されるデータとして、処理時間パターンデータ234がある。
The configuration of the performance evaluation device 200 is almost the same as that of the first embodiment, but in this embodiment, the performance evaluation device 200 is stored in the memory 202, the auxiliary storage device 203, or a register or cache memory in the processor 201. As data, there is processing time pattern data 234.
***動作の説明***
主に図14を参照して、本実施の形態に係るサーバ100および性能評価装置200の動作を説明する。サーバ100および性能評価装置200の動作は、本実施の形態に係る性能評価方法に相当する。 *** Explanation of operation ***
Operations of theserver 100 and the performance evaluation apparatus 200 according to the present embodiment will be mainly described with reference to FIG. The operations of the server 100 and the performance evaluation apparatus 200 correspond to the performance evaluation method according to the present embodiment.
主に図14を参照して、本実施の形態に係るサーバ100および性能評価装置200の動作を説明する。サーバ100および性能評価装置200の動作は、本実施の形態に係る性能評価方法に相当する。 *** Explanation of operation ***
Operations of the
実施の形態1では、実行部110がリクエスト600の処理に要する時間、すなわち、処理時間が測定される。本実施の形態では、処理時間が測定される代わりに、実行部110のリソース消費率が測定され、測定結果から、特許文献2に記載の技術を活用して処理時間が算出される。
In Embodiment 1, the time required for the execution unit 110 to process the request 600, that is, the processing time is measured. In the present embodiment, instead of measuring the processing time, the resource consumption rate of the execution unit 110 is measured, and the processing time is calculated from the measurement result using the technique described in Patent Document 2.
特許文献2には、リクエストの到着過程がポアソン過程であるとみなして簡易に性能を予測する方法が示されている。本実施の形態では、使用する数式を変更することで、特許文献2に記載の技術を、リクエストの到着パターンが任意のパターンである場合に対応可能にする。
Patent Document 2 discloses a method for simply predicting performance by regarding the arrival process of a request as a Poisson process. In the present embodiment, by changing the mathematical expression to be used, the technique described in Patent Document 2 can be handled when the arrival pattern of the request is an arbitrary pattern.
ステップS210からステップS240の動作については、実施の形態1におけるステップS110からステップS140の動作と同じであるため、説明を省略する。
Since the operation from step S210 to step S240 is the same as the operation from step S110 to step S140 in the first embodiment, description thereof will be omitted.
ステップS250では、性能評価装置200の分布記録部230が、サーバ100の実行部110のリソース使用率とリクエスト到着率とから、処理時間の平均値を算出し、算出した処理時間の平均値と事前に格納された処理時間パターンデータ234とから、処理時間分布を算出し、記録する。
In step S250, the distribution recording unit 230 of the performance evaluation apparatus 200 calculates an average value of the processing time from the resource usage rate and the request arrival rate of the execution unit 110 of the server 100, and the calculated average value of the processing time and the advance The processing time distribution is calculated from the processing time pattern data 234 stored in, and recorded.
具体的には、分布記録部230は、サーバ100のリソースの使用率と、サーバ100におけるリクエスト600の到着率とから、処理時間の平均を算出し、処理時間の平均から、処理時間の確率分布のパラメータを決定する。そして、分布記録部230は、決定したパラメータを用いて処理時間の確率分布を算出し、算出した処理時間の確率分布を処理時間分布データ233としてメモリ202に記録する。
Specifically, the distribution recording unit 230 calculates the average processing time from the resource usage rate of the server 100 and the arrival rate of the request 600 in the server 100, and the processing time probability distribution from the average processing time. Determine the parameters. Then, the distribution recording unit 230 calculates the probability distribution of the processing time using the determined parameter, and records the calculated probability distribution of the processing time in the memory 202 as the processing time distribution data 233.
処理時間の平均を算出する方法としては、待ち行列モデルを用いて、サーバ100の複数リソースの使用率と、サーバ100におけるリクエスト600の到着率とから、サーバ100のリソースごとの処理時間の平均を算出し、算出した平均を合計する方法が用いられる。
As a method for calculating the average processing time, a queue model is used to calculate the average processing time for each resource of the server 100 from the usage rate of the plurality of resources of the server 100 and the arrival rate of the request 600 in the server 100. A method of calculating and summing the calculated averages is used.
処理時間の平均の合計から、処理時間の確率分布のパラメータを決定する際には、次のように処理時間パターンデータ234が用いられる。
Processing time pattern data 234 is used as follows when determining the parameter of the processing time probability distribution from the total of processing time averages.
分布記録部230の送信部231は、入力部210から実行命令を受け、実行部110へリクエスト600を送信する。実行部110は、リクエスト600を受信する度に、性能試験の対象となる処理を実行する。測定部120の第2測定部122は、入力部210から実行命令を受け、実行部110のリソース使用率およびリクエスト到着率を測定し、測定結果を処理時間データ700として送信する。本実施の形態では、リソース使用率としては、単位時間当たりのCPU使用率およびI/O使用率が測定される。リクエスト到着率としては、単位時間当たりのリクエスト到着件数が測定される。分布記録部230の算出部232は、第2測定部122から処理時間データ700を受け取り、受け取ったデータと、処理時間パターンデータ234とをもとに処理時間分布を算出し、処理時間分布データ233としてメモリ202に格納する。なお、本実施の形態では、処理時間の確率分布のパラメータは1つであり、具体的には、処理時間の平均であるが、処理時間の確率分布のパラメータは2つ以上あってもよい。その場合、確率分布の関数とパラメータ間の関係式とを合わせて、処理時間パターンデータ234で定義する。例えば、正規分布の場合、パラメータは平均と分散との2つである。その場合、処理時間パターンデータ234は、正規分布の関数および分散=平均×a等の関係式を定義するデータとなる。
The transmission unit 231 of the distribution recording unit 230 receives the execution command from the input unit 210 and transmits the request 600 to the execution unit 110. Each time the execution unit 110 receives a request 600, the execution unit 110 executes a process that is a target of a performance test. The second measurement unit 122 of the measurement unit 120 receives an execution command from the input unit 210, measures the resource usage rate and the request arrival rate of the execution unit 110, and transmits the measurement result as processing time data 700. In the present embodiment, as the resource usage rate, a CPU usage rate and an I / O usage rate per unit time are measured. As the request arrival rate, the number of request arrivals per unit time is measured. The calculation unit 232 of the distribution recording unit 230 receives the processing time data 700 from the second measurement unit 122, calculates the processing time distribution based on the received data and the processing time pattern data 234, and the processing time distribution data 233. Stored in the memory 202. In the present embodiment, the processing time probability distribution has one parameter, specifically, the processing time average, but there may be two or more processing time probability distribution parameters. In that case, the function of the probability distribution and the relational expression between the parameters are combined and defined by the processing time pattern data 234. For example, in the case of normal distribution, there are two parameters, average and variance. In this case, the processing time pattern data 234 is data defining a relational expression such as a normal distribution function and variance = average × a.
ステップS260からステップS290の動作については、実施の形態1におけるステップS160からステップS190の動作と同じであるため、説明を省略する。
Since the operation from step S260 to step S290 is the same as the operation from step S160 to step S190 in the first embodiment, the description thereof will be omitted.
図15を参照して、図14のステップS250の詳細な動作を説明する。
The detailed operation of step S250 in FIG. 14 will be described with reference to FIG.
ステップS251では、送信部231が、実行部110に、リクエスト600を送信する。
In step S251, the transmission unit 231 transmits the request 600 to the execution unit 110.
ステップS252では、第2測定部122が、実行部110のリソース使用率とリクエスト到着率とを測定し、測定結果を処理時間データ700に追加する。リソース使用率は、単位時間当たりにリソースが使用された割合である。リクエスト到着率は、単位時間当たりに到着したリクエスト600の件数である。処理時間データ700は、実行部110のリソース使用率とリクエスト到着率とを、図16に示すような形式で表すデータである。
In step S252, the second measurement unit 122 measures the resource usage rate and the request arrival rate of the execution unit 110, and adds the measurement result to the processing time data 700. The resource usage rate is a rate at which resources are used per unit time. The request arrival rate is the number of requests 600 that arrive per unit time. The processing time data 700 is data representing the resource usage rate and request arrival rate of the execution unit 110 in a format as shown in FIG.
ステップS253では、第2測定部122が、処理時間データ700が処理1件当たりのリソース使用量の平均を算出するために十分であるかどうかを確認する。十分でない場合は、ステップS251以降が繰り返される。
In step S253, the second measurement unit 122 confirms whether or not the processing time data 700 is sufficient to calculate the average resource usage per process. If not, step S251 and subsequent steps are repeated.
ステップS254では、第2測定部122が、処理時間データ700を算出部232に送信する。
In step S254, the second measurement unit 122 transmits the processing time data 700 to the calculation unit 232.
ステップS255では、算出部232が、処理時間データ700を用いて、リソースごとに、処理1件当たりにリソースが平均で使用される時間である平均リソース使用時間を算出する。リクエスト600の到着率をλ、CPUのコア数をn、CPU消費率をUcpu、平均CPU使用時間をTcpu、I/O消費率をUio、平均I/O使用時間をTioとすると、平均CPU使用時間Tcpuおよび平均I/O使用時間Tioは次式によって求められる。
Tcpu=n×Ucpu/λ
Tio=Uio/λ
なお、CPUのコア数nは、算出部232が既知情報として保持しているものとする。 In step S <b> 255, thecalculation unit 232 uses the processing time data 700 to calculate an average resource usage time, which is a time during which resources are used on average for each process, for each resource. If the arrival rate of the request 600 is λ, the number of CPU cores is n, the CPU consumption rate is Ucpu, the average CPU usage time is Tcpu, the I / O consumption rate is Uio, and the average I / O usage time is Tio, the average CPU usage The time Tcpu and the average I / O usage time Tio are obtained by the following equations.
Tcpu = n × Ucpu / λ
Tio = Uio / λ
The CPU core number n is assumed to be held as known information by thecalculation unit 232.
Tcpu=n×Ucpu/λ
Tio=Uio/λ
なお、CPUのコア数nは、算出部232が既知情報として保持しているものとする。 In step S <b> 255, the
Tcpu = n × Ucpu / λ
Tio = Uio / λ
The CPU core number n is assumed to be held as known information by the
ステップS256では、算出部232が、ステップS255で算出した平均リソース使用時間を用いて、それぞれのリソースにおける仮想的な応答時間の平均値を算出する。具体的には、算出部232が、CPU処理をケンドールの記法でいうところのM/M/cモデル、I/O処理をM/M/1モデルとみなし、それぞれのリソースにおける仮想的な応答時間の平均値を算出する。本来の処理は、細かいCPU処理とI/O処理とがいくつもあわさって実行されるが、便宜的に、リクエスト単位で、細かいCPU処理をまとめて1つのCPU処理、細かいI/O処理をまとめて1つのI/O処理と近似したときの応答時間が、仮想的な応答時間である。それぞれのリソースにおける仮想的な応答時間の平均値は、リソースごとの処理時間の平均に相当する。CPU処理の仮想的な平均応答時間TRcpuは次式で求められる。
TRcpu=((Tcpu×(λ×Tcpu)n)/((n-1)!×(n-λ×Tcpu)2))×P+Tcpu
I/O処理の仮想的な平均応答時間TRioは次式で求められる。
TRio=Tio/(1-λ×Tio) In step S256, thecalculation unit 232 calculates an average value of virtual response times in each resource using the average resource usage time calculated in step S255. Specifically, the calculation unit 232 regards the CPU processing as the M / M / c model in Kendall's notation and the I / O processing as the M / M / 1 model, and the virtual response time in each resource The average value of is calculated. The original process is executed by combining a number of fine CPU processes and I / O processes, but for convenience, a single CPU process and a fine I / O process are grouped together for each request. The response time when approximated to one I / O process is a virtual response time. The average value of the virtual response time in each resource corresponds to the average of the processing time for each resource. The virtual average response time TRcpu for CPU processing is obtained by the following equation.
TRcpu = ((Tcpu × (λ × Tcpu) n ) / ((n−1)! × (n−λ × Tcpu) 2 )) × P + Tcpu
The virtual average response time TRio of the I / O processing is obtained by the following equation.
TRio = Tio / (1-λ × Tio)
TRcpu=((Tcpu×(λ×Tcpu)n)/((n-1)!×(n-λ×Tcpu)2))×P+Tcpu
TRio=Tio/(1-λ×Tio) In step S256, the
TRcpu = ((Tcpu × (λ × Tcpu) n ) / ((n−1)! × (n−λ × Tcpu) 2 )) × P + Tcpu
TRio = Tio / (1-λ × Tio)
ステップS257では、算出部232が、処理時間の平均値Tを算出する。処理時間の平均値Tは、先に求めたCPU処理の仮想的な平均応答時間TRcpuと、I/O処理の仮想的な平均応答時間TRioとを用いて、次式で求められる。
T=TRcpu+TRio In step S257, thecalculation unit 232 calculates an average value T of processing times. The average value T of the processing time is obtained by the following equation using the virtual average response time TRcpu of the CPU processing obtained earlier and the virtual average response time TRio of the I / O processing.
T = TRcpu + TRIo
T=TRcpu+TRio In step S257, the
T = TRcpu + TRIo
ステップS258では、算出部232が、事前に格納された処理時間パターンデータ234を読み込む。処理時間パターンデータ234は、指数分布等の、処理1件当たりの処理時間の分布の形状を表すデータである。
In step S258, the calculation unit 232 reads the processing time pattern data 234 stored in advance. The processing time pattern data 234 is data representing a distribution shape of processing time per processing, such as an exponential distribution.
ステップS259では、算出部232が、処理時間の平均値と、読み込んだ処理時間パターンデータ234に定義されている処理時間パターンとから、処理時間分布を離散的に算出する。そして、算出部232が、算出結果を処理時間分布データ233としてメモリ202に格納する。
In step S259, the calculation unit 232 discretely calculates the processing time distribution from the average value of the processing time and the processing time pattern defined in the read processing time pattern data 234. Then, the calculation unit 232 stores the calculation result as processing time distribution data 233 in the memory 202.
***実施の形態の効果の説明***
本実施の形態では、実行部110のリソース使用率とリクエスト到着率とを測定し、測定結果から処理時間を推定することで、実行部110がリクエスト600の処理に要する時間を測定する必要がなくなる。 *** Explanation of the effect of the embodiment ***
In the present embodiment, the resource usage rate and the request arrival rate of theexecution unit 110 are measured, and the processing time is estimated from the measurement result, thereby eliminating the need for the execution unit 110 to measure the time required for processing the request 600. .
本実施の形態では、実行部110のリソース使用率とリクエスト到着率とを測定し、測定結果から処理時間を推定することで、実行部110がリクエスト600の処理に要する時間を測定する必要がなくなる。 *** Explanation of the effect of the embodiment ***
In the present embodiment, the resource usage rate and the request arrival rate of the
100 サーバ、101 プロセッサ、102 メモリ、103 補助記憶装置、104 ネットワークインタフェース、110 実行部、120 測定部、121 第1測定部、122 第2測定部、200 性能評価装置、201 プロセッサ、202 メモリ、203 補助記憶装置、204 ネットワークインタフェース、205 入力インタフェース、206 出力インタフェース、210 入力部、220 パターン記録部、221 算出部、222 到着パターンデータ、223 補正部、230 分布記録部、231 送信部、232 算出部、233 処理時間分布データ、234 処理時間パターンデータ、240 評価部、241 第1算出部、242 応答時間分布データ、243 第2算出部、244 性能特性値、250 出力部、260 性能要件データ、300 入力装置、400 出力装置、500 到着時刻データ、600 リクエスト、700 処理時間データ。
100 server, 101 processor, 102 memory, 103 auxiliary storage device, 104 network interface, 110 execution unit, 120 measurement unit, 121 first measurement unit, 122 second measurement unit, 200 performance evaluation device, 201 processor, 202 memory, 203 Auxiliary storage device, 204 network interface, 205 input interface, 206 output interface, 210 input unit, 220 pattern recording unit, 221 calculation unit, 222 arrival pattern data, 223 correction unit, 230 distribution recording unit, 231 transmission unit, 232 calculation unit 233 processing time distribution data, 234 processing time pattern data, 240 evaluation unit, 241 first calculation unit, 242 response time distribution data, 243 second calculation unit, 244 performance characteristics Value, 250 output unit, 260 performance requirements data, 300 input device, 400 output unit, 500 the arrival time data, 600 requests 700 processing time data.
Claims (12)
- リクエストを繰り返し受信して処理を実行するサーバを動作させたときの、前記サーバにおける各リクエストに応じた処理の開始からの処理時間の確率分布を算出し、前記処理時間の確率分布をメモリに記録する分布記録部と、
前記サーバを動作させたときの、前記サーバにおけるリクエストの到着パターンである第1パターンとは異なる到着パターンである第2パターンを前記メモリに記録するパターン記録部と、
前記分布記録部により記録された確率分布と、前記パターン記録部により記録された第2パターンとから、前記サーバにおける各リクエストの到着からの応答時間の確率分布を算出する評価部と
を備える性能評価装置。 Calculates the probability distribution of processing time from the start of processing according to each request in the server when the server that executes processing by repeatedly receiving requests is operated, and records the probability distribution of processing time in the memory A distribution recording unit,
A pattern recording unit that records, in the memory, a second pattern that is an arrival pattern different from a first pattern that is an arrival pattern of a request in the server when the server is operated;
A performance evaluation comprising: an evaluation unit that calculates a probability distribution of response time from arrival of each request in the server from the probability distribution recorded by the distribution recording unit and the second pattern recorded by the pattern recording unit apparatus. - 前記パターン記録部は、前記第1パターンを算出し、算出結果を補正することで前記第2パターンを決定する請求項1に記載の性能評価装置。 The performance evaluation apparatus according to claim 1, wherein the pattern recording unit calculates the first pattern and determines the second pattern by correcting the calculation result.
- 前記パターン記録部は、前記サーバにおける各リクエストの到着時刻を示すデータから、前記サーバにおけるリクエストの到着時間間隔の確率分布を前記第1パターンとして算出する請求項2に記載の性能評価装置。 3. The performance evaluation device according to claim 2, wherein the pattern recording unit calculates a probability distribution of request arrival time intervals at the server as the first pattern from data indicating an arrival time of each request at the server.
- 前記パターン記録部は、前記到着時間間隔の確率分布から、特性が異なる確率分布を前記第2パターンとして算出する請求項3に記載の性能評価装置。 4. The performance evaluation apparatus according to claim 3, wherein the pattern recording unit calculates a probability distribution having different characteristics as the second pattern from the probability distribution of the arrival time intervals.
- 前記パターン記録部は、入力インタフェースを介して前記第2パターンの入力を受け付ける請求項1に記載の性能評価装置。 The performance evaluation apparatus according to claim 1, wherein the pattern recording unit receives an input of the second pattern via an input interface.
- 前記評価部は、待ち行列モデルを用いて、前記処理時間の確率分布と、前記第2パターンとから、前記サーバにおける各リクエストの到着からの待ち時間の確率分布を算出し、前記処理時間の確率分布と、前記待ち時間の確率分布とから、前記応答時間の確率分布を算出する請求項1から5のいずれか1項に記載の性能評価装置。 The evaluation unit calculates a probability distribution of waiting time from the arrival of each request in the server from the probability distribution of the processing time and the second pattern using a queue model, and the probability of the processing time The performance evaluation apparatus according to claim 1, wherein the probability distribution of the response time is calculated from the distribution and the probability distribution of the waiting time.
- 前記分布記録部は、前記サーバにおける前記処理時間の測定結果から、前記処理時間の確率分布を算出する請求項1から6のいずれか1項に記載の性能評価装置。 The performance evaluation apparatus according to any one of claims 1 to 6, wherein the distribution recording unit calculates a probability distribution of the processing time from a measurement result of the processing time in the server.
- 前記分布記録部は、前記サーバのリソースの使用率と、前記サーバにおけるリクエストの到着率とから、前記処理時間の平均を算出し、前記処理時間の平均から、前記処理時間の確率分布のパラメータを決定する請求項1から6のいずれか1項に記載の性能評価装置。 The distribution recording unit calculates an average of the processing time from a resource usage rate of the server and an arrival rate of a request at the server, and calculates a probability distribution parameter of the processing time from the average of the processing time. The performance evaluation apparatus according to claim 1, wherein the performance evaluation apparatus is determined.
- 前記分布記録部は、待ち行列モデルを用いて、前記サーバの複数リソースの使用率と、前記サーバにおけるリクエストの到着率とから、前記サーバのリソースごとの前記処理時間の平均を算出し、算出した平均の合計から、前記処理時間の確率分布のパラメータを決定する請求項8に記載の性能評価装置。 The distribution recording unit calculates an average of the processing time for each resource of the server from a use rate of a plurality of resources of the server and an arrival rate of requests in the server using a queuing model. The performance evaluation apparatus according to claim 8, wherein a parameter of the probability distribution of the processing time is determined from an average sum.
- 前記応答時間の確率分布から算出される、前記サーバの性能の指標値を出力する出力部をさらに備える請求項1から9のいずれか1項に記載の性能評価装置。 10. The performance evaluation device according to claim 1, further comprising an output unit that outputs an index value of the server performance calculated from the probability distribution of the response time.
- サーバが、リクエストを繰り返し受信して処理を実行し、
性能評価装置が、前記サーバを動作させたときの、前記サーバにおける各リクエストに応じた処理の開始からの処理時間の確率分布を算出し、前記処理時間の確率分布をメモリに記録し、
前記性能評価装置が、前記サーバを動作させたときの、前記サーバにおけるリクエストの到着パターンである第1パターンとは異なる到着パターンである第2パターンを前記メモリに記録し、
前記性能評価装置が、前記処理時間の確率分布と、前記第2パターンとから、前記サーバにおける各リクエストの到着からの応答時間の確率分布を算出する性能評価方法。 The server receives the request repeatedly and executes the process.
The performance evaluation device calculates a probability distribution of processing time from the start of processing according to each request in the server when the server is operated, and records the probability distribution of processing time in a memory,
When the performance evaluation device operates the server, the second pattern that is different from the first pattern that is the arrival pattern of the request in the server is recorded in the memory;
The performance evaluation method, wherein the performance evaluation device calculates a probability distribution of response time from arrival of each request in the server from the probability distribution of processing time and the second pattern. - コンピュータに、
リクエストを繰り返し受信して処理を実行するサーバを動作させたときの、前記サーバにおける各リクエストに応じた処理の開始からの処理時間の確率分布を算出し、前記処理時間の確率分布をメモリに記録する分布記録手順と、
前記サーバを動作させたときの、前記サーバにおけるリクエストの到着パターンである第1パターンとは異なる到着パターンである第2パターンを前記メモリに記録するパターン記録手順と、
前記分布記録手順により記録された確率分布と、前記パターン記録手順により記録された第2パターンとから、前記サーバにおける各リクエストの到着からの応答時間の確率分布を算出する評価手順と
を実行させる性能評価プログラム。 On the computer,
Calculates the probability distribution of processing time from the start of processing according to each request in the server when the server that executes processing by repeatedly receiving requests is operated, and records the probability distribution of processing time in the memory Distribution recording procedure to
A pattern recording procedure for recording, in the memory, a second pattern that is an arrival pattern different from the first pattern that is an arrival pattern of a request at the server when the server is operated;
Performance for executing an evaluation procedure for calculating a probability distribution of response time from arrival of each request in the server from the probability distribution recorded by the distribution recording procedure and the second pattern recorded by the pattern recording procedure Evaluation program.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/009802 WO2019175985A1 (en) | 2018-03-13 | 2018-03-13 | Performance evaluation device, performance evaluation method, and performance evaluation program |
JP2018541244A JPWO2019175985A1 (en) | 2018-03-13 | 2018-03-13 | Performance evaluation device, performance evaluation method, and performance evaluation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/009802 WO2019175985A1 (en) | 2018-03-13 | 2018-03-13 | Performance evaluation device, performance evaluation method, and performance evaluation program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019175985A1 true WO2019175985A1 (en) | 2019-09-19 |
Family
ID=67907373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/009802 WO2019175985A1 (en) | 2018-03-13 | 2018-03-13 | Performance evaluation device, performance evaluation method, and performance evaluation program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2019175985A1 (en) |
WO (1) | WO2019175985A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08340339A (en) * | 1995-04-11 | 1996-12-24 | Nippon Telegr & Teleph Corp <Ntt> | Atm call reception control method |
US7831325B1 (en) * | 2005-04-18 | 2010-11-09 | Hewlett-Packard Development Company, L.P. | Computing estimated performance of a software application in a target system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4570527B2 (en) * | 2005-07-20 | 2010-10-27 | 富士通株式会社 | System performance monitoring program and system performance monitoring method |
JP5373870B2 (en) * | 2010-10-25 | 2013-12-18 | 株式会社三菱東京Ufj銀行 | Prediction device, prediction method, and program |
-
2018
- 2018-03-13 JP JP2018541244A patent/JPWO2019175985A1/en active Pending
- 2018-03-13 WO PCT/JP2018/009802 patent/WO2019175985A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08340339A (en) * | 1995-04-11 | 1996-12-24 | Nippon Telegr & Teleph Corp <Ntt> | Atm call reception control method |
US7831325B1 (en) * | 2005-04-18 | 2010-11-09 | Hewlett-Packard Development Company, L.P. | Computing estimated performance of a software application in a target system |
Non-Patent Citations (3)
Title |
---|
IKEDA, MASAAKI ET AL., SYSTEM ENGINEERING-METHOD OF PLANNING AND ANALYSIS, 15 August 2011 (2011-08-15), pages 99 - 115 * |
KOMODA, NORIHISA ET AL., SIMULATION OF BUSINESS SYSTEM, 28 December 2007 (2007-12-28), pages 82 - 89 * |
TAKAHASHI, MANA, EASY APPLIED INFORMATION ENGINEER LECTURE, 5 December 2015 (2015-12-05), pages 371 - 376 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019175985A1 (en) | 2020-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090326869A1 (en) | Performance evaluating apparatus | |
TW201609432A (en) | Method and apparatus for validity determination of a data dividing operation | |
CN112600919B (en) | Equipment computing power evaluation method and system based on PoW consensus mechanism | |
US10404676B2 (en) | Method and apparatus to coordinate and authenticate requests for data | |
US20160117199A1 (en) | Computing system with thermal mechanism and method of operation thereof | |
JP2019168753A (en) | Source code analysis device and source code analysis program | |
CN115981980A (en) | System performance testing method, apparatus, device, medium, and program product | |
CN113342671B (en) | Method, device, electronic equipment and medium for verifying operation module | |
WO2019175985A1 (en) | Performance evaluation device, performance evaluation method, and performance evaluation program | |
US20180217875A1 (en) | Data processing system and data processing method | |
Zinner et al. | A discrete-time model for optimizing the processing time of virtualized network functions | |
US9529688B2 (en) | Performance evaluation device and performance evaluation method | |
JP2012128771A (en) | Information processing apparatus and program | |
JP6239195B2 (en) | Performance evaluation apparatus and performance evaluation program | |
US8966483B2 (en) | Method and device for optimizing execution of software applications in a multiprocessor architecture comprising several input/output controllers and secondary computing units | |
US20220050614A1 (en) | System and method for approximating replication completion time | |
EP1355230A2 (en) | Arithmetic processing unit and semiconductor device | |
JP2004272582A (en) | Performance prediction program and design support system for computer system | |
JP2715904B2 (en) | Computer system performance evaluation device | |
US20240201986A1 (en) | Accelerator control system, accelerator control method and accelerator control program | |
JP6271090B2 (en) | Performance calculation system, performance calculation apparatus, performance calculation method, and performance calculation program | |
JP2019008470A (en) | Management device, simulation system, and simulation method | |
WO2018167940A1 (en) | Information processing device, information processing method, and information processing program | |
EP4050480A1 (en) | Controlling system load based on memory bandwidth | |
JP2013175065A (en) | Performance evaluation method, information processing device and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2018541244 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18909926 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18909926 Country of ref document: EP Kind code of ref document: A1 |