[go: up one dir, main page]

WO2005041038A1 - 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体 - Google Patents

情報システム、負荷制御方法、負荷制御プログラム及び記録媒体 Download PDF

Info

Publication number
WO2005041038A1
WO2005041038A1 PCT/JP2004/015902 JP2004015902W WO2005041038A1 WO 2005041038 A1 WO2005041038 A1 WO 2005041038A1 JP 2004015902 W JP2004015902 W JP 2004015902W WO 2005041038 A1 WO2005041038 A1 WO 2005041038A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
load control
bottleneck
server
processing time
Prior art date
Application number
PCT/JP2004/015902
Other languages
English (en)
French (fr)
Inventor
Masashi Inoue
Original Assignee
Ibm Japan, Ltd.
International Business Machines Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm Japan, Ltd., International Business Machines Corporation filed Critical Ibm Japan, Ltd.
Priority to BRPI0416101-7A priority Critical patent/BRPI0416101A/pt
Priority to US10/577,174 priority patent/US7480719B2/en
Priority to JP2005515011A priority patent/JP4205103B2/ja
Priority to MXPA06004071A priority patent/MXPA06004071A/es
Priority to EP04793014A priority patent/EP1679595A4/en
Priority to CA2541576A priority patent/CA2541576C/en
Publication of WO2005041038A1 publication Critical patent/WO2005041038A1/ja
Priority to IL174874A priority patent/IL174874A0/en
Priority to US12/351,277 priority patent/US8386611B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Definitions

  • the present invention relates to an information system, a load control method, a load control program, and a recording medium.
  • the present invention comprises a plurality of application servers and database servers.
  • the present invention relates to an information system for performing load control, a load control method thereof, a load control program, and a recording medium.
  • Japanese Patent Application Laid-Open No. 2000-268012 discloses that, in a client-server system including a LAN-connected load distribution device and a server computer, when the load on the server computer exceeds a threshold value, the load distribution device has a terminal capacity. Techniques for interrupting transaction acceptance are disclosed.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2001-160040
  • Patent Document 2 JP-A-2000-268012
  • a large-scale information system includes a plurality of application servers and one or multiplexed database server.
  • the application server depends on the user
  • the application associated with the Web page is executed, and the Web page data including the execution result is returned to the terminal.
  • the database server accesses the database in response to a database access request from the application server.
  • the above technology aims to keep the load on the server program or server computer below a certain level, and cannot perform control based on the response time of the transaction. It was not possible to perform load control processing suitable for each database server.
  • an object of the present invention is to provide an information system, a load control method, a load control program, and a recording medium that can solve the above problems. This object is achieved by a combination of features described in the independent claims within the scope of the patent claim. The dependent claims define further advantageous embodiments of the present invention.
  • a plurality of application servers each executing an application program in accordance with a received transaction, and accessing a database based on respective requests of the plurality of application servers
  • a processing time monitoring unit that monitors, for each of the plurality of application servers, a processing time for the application program to process the transaction received by the application server; and Based on the result of monitoring the processing time for each of the plurality of application servers, if the processing time is not within a predetermined allowable range, a bottleneck occurs in the application server.
  • Bottleneck to identify A load control unit that reduces the multiplicity of executing the application program on the application server identified as having a bottleneck, a load control method and a load control method for the information system.
  • a control program and a recording medium are provided.
  • FIG. 1 shows a configuration of an information system 10 according to the present embodiment.
  • the information system 10 monitors the transaction processing time in each of the plurality of application servers 120 and the processing load of the plurality of application servers 120 and the database server 150, and based on the monitoring results, the application server 120 Alternatively, appropriate load control that can eliminate the bottleneck of the database server 150 is performed.
  • the information system 10 according to the present embodiment integrates and operates a plurality of types of application programs corresponding to a plurality of types of tasks, the performance degradation factor that has occurred in a certain application program may cause another performance degradation. Appropriate load control can be performed without affecting the processing performance of the application program.
  • the information system 10 is a server computer system connected to a plurality of terminals 100 used by users of the information system 10 via a network 110 such as the Internet or an intranet. It has a WAS: Web Application Server (120), a database server (DBS: Database Server) 150, and a load control server 160.
  • WAS Web Application Server
  • DBS Database Server
  • Each of the plurality of WASs 120 is a server computer that executes an application program such as a Java (registered trademark) servlet or a JSP (Java Server Pages) in response to a transaction such as an HTTP request received from the terminal 100.
  • WAS 120 also returns a Web page including the execution result to terminal 100.
  • the WAS 120 requests the DBS 150 to access the database (DB) 152 based on an instruction from the application program.
  • DBS 150 accesses DB 152 based on the request of each of a plurality of WASs 120, This is a server computer that returns an access result to the requesting WAS 120.
  • the load control server 160 monitors the transaction processing time in each of the plurality of WASs 120 and the processing loads of the plurality of WASs 120 and the DBS 150, and controls the load of the information system 10 based on the monitoring results.
  • Each of the plurality of WASs 120 includes an HTTP server unit 125, a WEB application server unit 130, a processing time obtaining unit 140, a processing load obtaining unit 142, and a server load control unit 144.
  • the HTTP server unit 125 receives the transaction from the terminal 100, and returns a Web page corresponding to the transaction to the terminal 100.
  • the HTTP server unit 125 may be operated on a server that is physically different from the server, and the server may be !!
  • the WEB application server section 130 executes the application program 134 in accordance with the transaction received from the terminal 100.
  • the WEB application server unit 130 in each of the plurality of WASs 120 includes a plurality of types of application programs 134, and corresponds to the type of transaction received from the terminal 100 among the plurality of types of application programs 134.
  • the application program 134 to be executed is executed.
  • the priorities to be executed on the WAS 120 are set for the plurality of types of application programs 134, respectively. More specifically, the plurality of types of application programs 134 are classified into a plurality of groups according to the priority, and are executed with the priority specified by the group to which each application program 134 belongs.
  • the WEB application server unit 130 includes a multiplicity control unit 132, a DB access control unit 136, and a DB connection pool 138.
  • the multiplicity control unit 132 controls the multiplicity at which each of the plural types of application programs 134 is to be executed.
  • the multiplicity at which the application program 134 is executed is the maximum value of the number of concurrently operating application programs 134 corresponding to each transaction when a plurality of transactions of the same type are received.
  • the DB access control unit 136 processes the access request of the DB 152 by each of the plural types of application programs 134 together.
  • the DB access control unit 136 limits the number of access requests issued to the DBS 150 for each application program 134.
  • a DB connection 139 is allocated so that the priority of each of a plurality of types of application programs 134 can be specified within the DBS 150. More specifically, the DB access control unit 136 can specify the priority of the access request inside the DBS 150 by connecting to the DBS 150 using a different user ID for each priority.
  • the DB connection pool 138 includes a plurality of DB connections 139.
  • Each DB connection 139 is a connection point that connects to the DBS 150 to issue a DB 152 access request.
  • the multiplicity control unit 132 and the DB access control unit 136 described above include class functions and the like that implement a framework for integrating and operating multiple types of application programs 134 on one WAS 120 efficiently. It may be realized by executing on WAS120.
  • the processing time acquisition unit 140 acquires the processing time of each transaction and the database processing time from the multiplicity control unit 132 and the DB access control unit 136, and processes the processing time and database processing time for each application program 134. Take statistics such as Here, the processing time for the application program 134 to process the transaction received from the terminal 100 is also called the transaction response time.
  • the processing time acquisition unit 140 sends a service level decrease event indicating that the service level of the application program 134 has decreased to the load control server. Notify 160.
  • the processing time acquisition unit 140 may notify the load control server 160 of the service level reduction event including information such as the database processing time.
  • the processing load acquisition unit 142 determines the usage of one or more application server resources, which are resources used by the application program 134, of the WAS 120, for example, by a performance monitoring function of an operating system operating on the WAS 120. Etc., and obtain statistics on the usage of the application server resources.
  • the processing load acquisition unit 142 sends a system resource high load event indicating that the processing load of the application server resource is high, to the load control server. Notify 160.
  • the processing load acquisition unit 142 acquires the usage amount of the application server resource for each application program 134, and sends a system resource high load event to the load control server 160 when the usage amount by the application program 134 is not within the allowable range. Instead, the processing load acquisition unit 142 acquires the total usage of the application server resources by all the application programs 134, and if the usage is not within the allowable range, the system load acquisition unit 142 Notify the resource high load event to the load control server 160.
  • the server load control unit 144 performs load control in the WAS 120 in accordance with the load control processing executed by the load control server 160.
  • the load control unit 144 in the server according to the present embodiment changes the multiplicity of executing each application program 134 as load control in the WAS 120.
  • the DBS 150 includes a DB 152, a DB processing request iZF unit 153, a DB engine 154, a processing load acquisition unit 156, and a server load control unit 158.
  • the DB 152 stores data accessed by each of the plurality of application programs 134.
  • Each of the plurality of DB processing request IZF units 153 is provided corresponding to each of the plurality of DB connections 139, and serves as a connection point for the WAS 120 to issue an access request to the DB 152.
  • the WAS 120 connects to the DB processing request IZF unit 153 corresponding to a different user ID according to the priority of each of the plurality of application programs 134. Therefore, the DBS 150 can identify the priority of the application program 134 that has issued the access request based on the user ID.
  • the DB engine 154 accesses the DB 152 based on an access request such as an SQL command issued by each of the plurality of WASs 120 based on the instruction of each of the plurality of application programs 134.
  • the processing load acquisition unit 156 calculates the usage amount of one or a plurality of database server resources, which are resources used when the application program 134 accesses the DB 152, of the DBS 150, for example, an operating system operating on the DBS 150. Obtain statistics from the database server resource usage obtained from the performance monitor function of the database. Then, when the usage amount of one database server resource is not within the allowable range, the processing load obtaining unit 156 processes the database server resource.
  • the load control server 160 is notified of a system resource high load event indicating that the physical load is high.
  • the processing load acquisition unit 156 acquires the usage amount of the database server resource for each DB processing request IZF unit 153, and loads the system resource high load event when the usage amount by the corresponding application program 134 is not within the allowable range.
  • the processing load acquisition unit 156 may notify the control server 160.
  • the processing load acquisition unit 156 acquires the total usage of the database server resources by all the DB processing requests IZF unit 153, and the usage is not within the allowable range. In this case, the system resource high load event may be notified to the load control server 160.
  • the load control unit 158 in the server performs load control in the DBS 150 in accordance with the load control process executed by the load control server 160.
  • the in-server load control unit 158 according to the present embodiment, as load control in the in-server load control unit 158, changes the priority of the process in which the DB processing request IZF unit 153 accesses the DB 152.
  • the load control server 160 has a processing time monitoring unit 165, a bottleneck identification unit 170, a processing load monitoring unit 190, and a load control unit 175.
  • the processing time monitoring unit 165 monitors, for each of the plurality of WASs 120, the processing time in which the application program 134 processes the transaction received by the WAS 120.
  • the processing time monitoring unit 165 monitors the processing time of the transaction for each application program 134 for each of the plurality of WASs 120.
  • the processing time monitoring unit 165 detects that the processing time of the transaction for each application program 134 is out of the allowable range based on the service level reduction event notified from each of the plurality of WASs 120.
  • the bottleneck specifying unit 170 determines a bottleneck in at least one WAS 120 or DBS 150 of the plurality of WASs 120 and DBS 150 based on the monitoring result of the processing time for each of the plurality of WASs 120. Identify that there is.
  • the processing load monitoring unit 190 monitors the usage of one or more application server resources and the usage of one or more database server resources for each of the plurality of WASs 120. In the present embodiment, the processing load monitoring unit 190 performs the system resource high load event based on the system resource high load event in which the powers of the plurality of WASs 120 and DBSs 150 are also notified. The usage of the specified application server resources or database server resources is out of the allowable range.
  • the load control unit 175 performs load control for resolving the bottleneck of the server specified as having a bottleneck. Execute the process.
  • the load control unit 175 includes a load control information storage unit 177, a load control information acquisition unit 179, and a load control processing unit 181.
  • the load control information storage unit 177 is performed by the load control processing unit 181 in the load control unit 175 in accordance with the server specified as the bottleneck and the resource detected as having a high load in the server. Stores load control information that specifies the load control process to be performed. Further, the load control information storage unit 177 stores each group of the application program 134, the priority of the group, and multiplicity information indicating the multiplicity that can be set for the application program 134.
  • the load control information acquisition unit 179 performs load control on the load control information corresponding to the resource of which high load has been detected by the processing load monitoring unit 190 in the server identified as the bottleneck by the bottleneck identification unit 170. It is obtained from the information storage unit 177 and output to the load control processing unit 181.
  • the load control processing unit 181 executes a load control process specified by load control information for resolving a bottleneck of a server identified as having a bottleneck. In the load control processing, the load control processing unit 181 sends the load control in the server to the load control unit 144 in the server in the WAS 120 or the load control unit 158 in the server in the DBS 150 to be load controlled. Instruct.
  • the transaction processing time of each of the plurality of application servers 120 and the processing load of the plurality of application servers 120 and the database server 150 are monitored, and the monitoring result is obtained. Based on this, it is possible to appropriately select and execute a load control process for eliminating a bottleneck.
  • FIG. 2 shows a bottleneck identification flow of the information system 10 according to the present embodiment.
  • the processing time monitoring unit 165 detects that one or more service level decrease events are notified from one or more WASs 120, and thereby detects that the transaction processing time is out of an allowable range.
  • the bottleneck identification unit 170 is provided for each of the plurality of WASs 120. Then, based on the result of monitoring the processing time, the location of the bottleneck is identified. More specifically, the bottleneck specifying unit 170 specifies the location of the bottleneck based on the monitoring result of the processing time of each application program 134 for each of the plurality of WASs 120!
  • the bottleneck identification unit 170 determines that the processing time is not within the allowable range for the number of WASs 120 equal to or larger than 1 and equal to or smaller than the threshold (step S200: Yes), and the processing time is within the allowable range. It is specified that there is a bottleneck in the WAS 120 that is not inside (S220).
  • the bottleneck identification unit 170 determines whether the processing time of one application program 134 is not within the allowable range (S200: Yes) for one or more WAS 120 that is less than or equal to the threshold! The time is not within the allowable range.
  • the threshold value of the number of WASs 120 is a number less than the number of WASs 120, and may be set in advance by the administrator of the information system 10.
  • the processing time of the number of WASs 120 exceeding the threshold value is not within the allowable range (S200: No, S240: Yes)
  • Identify if there is a bottleneck in DBS150, which is a common resource of the entire information system 10, Identify.
  • the bottleneck specifying unit 170 If the processing time of the other application program 134 in the WAS 120 that is not within the range is not within the allowable range (S250: Yes), it is specified that the DBS150 has a bottleneck (S260), and the other application program is executed. If the processing time of 134 is within the allowable range (S250: No), the resource related to the transaction corresponding to the application program 134 may be specified as a bottleneck (S270).
  • the bottleneck specifying unit 170 performs the above-described processing for each application program 134 or each group of the application programs 134. That is, the bottleneck identification unit 170 determines whether the processing time of the application program 134 or the application program 134 belonging to the group is not within the allowable range, and the application program 134 or the application belonging to the group. Identify a bottleneck in WAS 120 for program 134.
  • the DBS Identify 150 as having a bottleneck.
  • the bottleneck specifying unit 170 it is possible to specify that there is a bottleneck in the WAS 120 where the processing time is not within the predetermined allowable range. More specifically, the bottleneck identification unit 170 identifies that there is a bottleneck in the WAS 120 on condition that the processing time is not within the allowable range! However, if the number of WASs 120 whose processing time is not within the allowable range exceeds the threshold value, it can be determined that the DBS 150 has a bottleneck. That is, for example, when the threshold value is set to 1, the bottleneck identification unit 170 identifies that the processing time is not within the allowable range. In this case, it is possible to specify that the DBS 150 has a bottleneck.
  • the threshold value is set to (the number of WAS 120-1)
  • the processing time is not within the allowable range for all the WASs 120, it is specified that the DBS 150 has a bottleneck
  • these WASs 120 can be identified as having bottlenecks.
  • the bottleneck identification unit 170 determines the location of the bottleneck in more detail based on conditions other than S210 or S250, for example. Please specify.
  • the allowable range of the processing time may be determined based on, for example, the following predetermined criteria. That is, the processing time monitoring unit 165 determines a predetermined number of transactions, such as 50%, when the number of transaction inputs to the application program 134 within a predetermined period such as 60 seconds is equal to or greater than a predetermined number. If the processing time of the application program 134 exceeds the allowable processing time for the transactions equal to or greater than the ratio, it is determined that the processing time of the application program 134 exceeds the allowable range. In this case, the allowable processing time is determined by adding the offset time determined based on the standard deviation to the average value of the processing time at the peak in a period such as the past one month.
  • FIG. 3 shows a method of determining a high load on the information system 10 according to the present embodiment.
  • the processing load obtaining unit 142 and the processing load obtaining unit 156 determine that the resource has a high load when the condition specified by the “detection condition” corresponding to each of the multiple resources to be monitored is satisfied. To detect. Then, when the high load of the resource is detected under the conditions such as the number of times specified by the “determination conditions”, the usage of the resource is out of the allowable range, and it is determined that the resource is in a high load state. Then, a system resource high load event for the resource is notified to the processing load monitoring unit 190.
  • the resource does not have the high load. Notifying the processing load monitoring unit 190 of a system resource high load release event indicating that the event has occurred. In response to this, the processing load monitoring unit 190 detects that the database resource is no longer heavily loaded.
  • the processing load acquisition unit 156 determines the "detection condition" and "judgment condition” for each of a plurality of database server resources in which the "classification of bottleneck location” column indicates “all common resources (DBS)". Then, it is determined whether or not the resource has a high load by using the conditions shown in “Release conditions”.
  • the processing load acquisition unit 156 sets a condition for each of a plurality of database server resources including a processor, a disk, a memory, a database buffer, and the like as the plurality of database server resources. To determine if the load is high.
  • the processing load acquisition unit 156 determines that the usage rate of the database resource is “n”. If the average is more than x% for the second, it is detected that the load is high. If the high load state is detected m times consecutively at the monitoring timing, the processing load acquisition unit 156 determines that the database resource has a high load, and processes the system resource high load event. Notify the load monitoring unit 190. Further, after notifying the processing load monitoring unit 190 of the system resource high load event, the processing load acquisition unit 156 processes the system resource high load release event when the high load state is not detected continuously f times. Notify the load monitoring unit 190.
  • the processing load acquisition unit 156 uses a large amount of the memory and skips. It is detected that the load is high and the load is high.
  • the database buffer used by the DB engine 154 when the error rate of the buffer is “more than x% on average for n seconds”, it is detected that the buffer is insufficient and the load is high.
  • the processing load acquisition unit 156 notifies the system resource high load event and the system resource high load release event notification of these database server resources in the same manner as the notification of the system resource high load event of the processor and the like and the system resource high load release event. And do it.
  • the processing load acquisition unit 142 of each of the plurality of WASs 120 displays the "classification of bottleneck location" column as "WAS" for each of the plurality of application server resources. , "Detection condition”, “determination condition” and “cancellation condition” are used to determine whether or not the resource has a high load.
  • the processing load acquisition unit 142 according to the present embodiment performs processing for each of a plurality of application server resources including a processor, a disk, a memory, a JVM (Java Virtual Machine) memory, and a DB connection as a plurality of database server resources. It is determined whether the load is high by using the conditions described in “Detection condition”, “Judgment condition” and “Release condition”.
  • the processing load acquisition unit 142 detects a high load and notifies an event in the same manner as the processing load acquisition unit 156.
  • the processing load acquisition unit 142 includes various programs or modules constituting the web application server unit 130. If the JVM that executes the rule executes "garbage collection X times or more in n seconds", it detects that the memory allocated to the JVM is insufficient and that the load is high.
  • the processing load acquisition unit 142 notifies the notification of the system resource high load event and the system resource high load release event of the JVM memory in the same manner as the notification of the system resource high load event of the processor and the like and the notification of the system resource high load release event. And do it.
  • the processing load acquisition unit 142 detects that the DB connection is insufficient and detects a high load.
  • the processing load acquisition unit 142 detects that the DB connection has a high load, the processing load acquisition unit 142 notifies the processing load monitoring unit 190 of a system resource high load event, and the load does not become high until the WAS 120 is stopped. Is not notified to the processing load monitoring unit 190.
  • the processing load acquisition unit 142 determines whether or not the “classification of bottleneck location” column indicates “resources related to transactions”, such as the processor of the WAS 120, the processor of the DBS 150, and the disk of the DBS 150. For each resource, it is determined whether or not the resource has a high load due to the influence of the processing content of the application program 134, using the conditions described in the “detection condition”, “judgment condition”, and “cancellation condition”. .
  • the processing load acquisition unit 142 determines that the ratio of the processing time required for accessing the DB 152 by the DBS 150 to x% or less of the entire processing time for executing the application program 134 in response to the transaction for the processor of the WAS 120 Then, the high load is detected as the ratio of the processing time by the processor of the WAS120 is high.
  • the processing load acquisition unit 142 notifies the processing load monitoring unit 190 of a system resource high load event, and processes the system resource high load release event when the state indicated in the detection condition does not occur for n seconds. Notify the load monitoring unit 190.
  • the processing load acquisition unit 142 determines whether the processing time of the processor of the DBS 150 is equal to or greater than the ratio of the processing time required for accessing the DB 152 by the DBS 150 to the entire processing time of executing the application program 134 in response to a transaction. Then, a high load is detected on the assumption that the ratio of the processing time by the DBS150 processor is high. Upon detecting a high load, the processing load acquisition unit 142 monitors a system resource high load event for the processing load. When the high load is not detected for n seconds, the system load high load release event is notified to the processing load monitoring unit 190.
  • the processing load monitoring unit 190 receives the notification of the system resource high load event and, if the processor of the DBS 150 is determined by the DBS 150 to be a bottleneck within n seconds, the transaction It is determined that the processor of the DBS 150 has a high load in response to. Also, the processing load acquisition unit 142 determines that the disk of the DBS 150 has a high load corresponding to the transaction in the same manner as the processor of the DBS 150 for the disk of the DBS 150.
  • the processing load monitoring unit 190 determines whether or not each of the plurality of resources of the server has a high load for each of the plurality of WASs 120 and DBSs 150. Detected based on event and system resource high load release event.
  • the processing load monitoring unit 190 holds the “detection condition”, “determination condition”, and “cancellation condition” corresponding to each of the plurality of resources, for example, as a file stored in a storage device of the load control server 160.
  • the processing load obtaining unit 142 notifies the system resource high load event in units of application programs 134, and the processing load obtaining unit 156 outputs the DB processing request IZF.
  • the application program 134 causing the bottleneck may be specified in more detail.
  • FIG. 4 shows an example of load control information stored in the load control information storage unit 177 according to the present embodiment.
  • the load control information storage unit 177 corresponding to each of the plurality of application server resources in the WAS 120 and the plurality of database server resources in the DBS 150, specifies that the server having the resources has a bottleneck, and
  • the load control unit 175 stores load control information for specifying a load control process to be performed when the usage amount of the resource is not within the predetermined allowable range.
  • the load control information storage unit 177 may store, as at least one piece of load control information, information specifying a plurality of load control processes and a priority of the plurality of load control processes.
  • the load control information acquisition unit 179 is a resource owned by a server identified as having a bottleneck. If the resource usage is not within the predetermined allowable range, the resource is identified as a bottleneck. Then, when it is determined that the resource is a bottleneck, the load control information acquisition unit 179 acquires the load control information stored in the load control information storage unit 177 corresponding to the resource. More specifically, when it is specified that the WAS 120 has a bottleneck, the load control information acquisition unit 179 determines that the usage amount of the plurality of application server resources of the WAS 120 is not within the allowable range. The load control information stored in the load control information storage unit 177 is acquired corresponding to the application server resource determined by the load monitoring unit 190.
  • the load control information acquisition unit 179 determines whether the processing load monitoring unit 190 determines that the usage of the plurality of database server resources is not within the allowable range.
  • the load control processing unit 181 uses the load control information acquired by the load control information acquisition unit 179 to eliminate the bottleneck of the server identified as having a bottleneck by the bottleneck identification unit 170. Performs the specified load control process.
  • the load control processing unit 181 resolves the bottleneck of the server identified as having a bottleneck during a preset setting period.
  • another load control process having a lower priority than one load control process specified by the load control information is executed.
  • the load control processing unit 181 can eliminate the bottleneck more effectively by further performing other load control processing. .
  • the load control processing unit 181 performs the following load control processing.
  • the load control processing unit 181 reduces the multiplicity of executing the application programs 134 in a group having a lower priority than the application programs 134 whose processing time is determined not to be within the allowable range. More specifically, the load control processing unit 181 determines that the processing time is not within the allowable range and is lower than the application program 134 that has been determined to be within the allowable range. The number of group identifiers is obtained from the bottleneck specifying unit 170 via the load control information obtaining unit 179. Then, the load control processing unit 181 specifies the plurality of acquired group identifiers, and instructs the in-server load control unit 144 to reduce the multiplicity of another application program 134 having a lower priority than the application program 134. Instruct. In response to this instruction, the server load control unit 144 executes the other application program 134 by decreasing the maximum value of the number of times that the multiplicity control unit 132 operates the other application program 134 in parallel. Reduce multiplicity.
  • the load control processing unit 181 executes the above load control processing 1 for each of the plurality of WASs 120 included in the information system 10. Execute. Accordingly, the load control processing unit 181 can reduce the multiplicity of accepting transactions by all the WASs 120, thereby reducing the total processing amount of transactions in the information system 10, and reducing the access amount of the DB 152.
  • the load control processing unit 181 further lowers the priority of the process of accessing the DB 152 based on the request of the application program 134 in a group having a lower priority than the application program 134 for which the processing time is determined not to be within the allowable range. More specifically, the load control processing unit 181 sends a plurality of group identifiers having a lower priority than the application program 134 whose processing time is determined not to be within the allowable range to the load control information from the bottleneck specifying unit 170. Acquired via the acquisition unit 179.
  • the load control processing unit 181 specifies the plurality of acquired group identifiers and lowers the priority of the process of accessing the DB 152 based on a request from another application program 134 having a lower priority than the application program 134.
  • the server load control unit 158 is instructed to perform the operation. In response to this instruction, the server load control unit 158 lowers the process execution priority of the corresponding DB processing request IZF unit 153.
  • the bottleneck identification unit allows the application program 134, which increases the processing load of the bottlenecked resource on the server where the bottleneck exists, to increase the system resources.
  • the load control processing unit 181 determines that the application high load event has been specified, the load control processing unit 181 reduces the multiplicity of executing the group of the application program 134. More specifically, the load control processing unit 181 acquires the group identifier of the application program 134 that causes the bottleneck from the bottleneck identification unit 170 via the load control information acquisition unit 179. Then, the load control processing unit 181 specifies the acquired group identifier and instructs the in-server load control unit 144 to reduce the multiplicity of the application program 134. In response to this instruction, the server load control unit 144 reduces the maximum value of the number of concurrently operating application programs 134 by the multiplicity control unit 132, thereby reducing the multiplicity of executing the other application programs 134. Lower.
  • the load control process unit 181 When the load control process 3 is performed when it is determined that the DBS 150 has a bottleneck, the load control process unit 181 performs the load control process 3 for each of the plurality of WASs 120 included in the information system 10. Execute Accordingly, the load control processing unit 181 can reduce the multiplicity of accepting transactions by all the WASs 120, thereby reducing the total processing amount of transactions in the information system 10, and reducing the access amount of the DB 152.
  • the load control processing unit 181 uses the bottleneck identification unit 170 to identify, by the system resource high load event, the application program 134 that increases the processing load of the resource that is the bottleneck in the server where the bottleneck exists. In this case, the priority of the process of accessing the DB 152 based on the request of the application program 134 of the group executing the application program 134 is reduced. More specifically, the load control processing unit 181 acquires the group identifier of the application program 134 that causes the bottleneck from the bottleneck identification unit 170 via the load control information acquisition unit 179.
  • the load control processing unit 181 specifies the acquired group identifier, and reduces the load in the server so as to reduce the priority of the process of accessing the DB 152 based on the request of the application program 134 in the group of the application program 134. Instruct control unit 158. In response to this instruction, the server load control unit 158 lowers the process execution priority of the corresponding DB processing request IZF unit. (5) Load control processing 5
  • the load control processing unit 181 reduces the multiplicity of executing the application program 134 that has been determined that the processing time is not within the allowable range. More specifically, the load control processing unit 181 sends the group identifier of the application program 134 determined that the processing time is not within the allowable range! From the bottleneck identification unit 170 to the load control information acquisition unit 179. To get. Then, the load control processing unit 181 specifies the group identifier of the application program 134 and instructs the server load control unit 144 to reduce the multiplicity of the application program 134. In response to this instruction, the load control unit in the server 144 reduces the maximum value of the number of concurrently operating the application programs 134 by the multiplicity control unit 132, thereby setting the multiplicity for executing the application programs 134. Lower.
  • the load control processing unit 3 executes the load control processing 3 when it is determined that the DBS 150 has a bottleneck
  • the load control processing unit 181 performs a plurality of WAS operations of the information system 10 similarly to the case of the load control processing 1.
  • the above load control processing 3 is executed for each of the 120.
  • the load control processing unit 181 lowers the priority of the processing for accessing the DB 152 based on the request of the application program 134 for which the processing time is determined not to be within the allowable range. More specifically, the load control processing unit 181 acquires, via the load control information acquisition unit 179, the group identifier of the application program 134 whose processing time is determined not to be within the allowable range. Then, the load control processing unit 181 specifies the group identifier of the application program 134 and reduces the priority of the process of accessing the DB 152 based on the request of the application program 134 so as to reduce the priority of the processing. To instruct. In response to this instruction, the server load control unit 158 lowers the process execution priority of the corresponding DB processing request IZF unit 153.
  • the load control information storage unit 177 responds to the bottleneck of the DBS 150 by determining which usage of the plurality of database server resources is out of the allowable range. Then, the load control information shown in FIG. 4 is stored.
  • the load control information storage unit 177 assigns the load control processes 3, 1, 4, 2, 5, and 6 in this priority order. Stores load control information indicating what should be done.
  • the load control information storage unit 177 assigns load control processes 2, 1, 6, and 5 in this priority order. Stores load control information indicating what to do.
  • the load control information storage unit 177 also executes the load control processes 1, 2, 5, and 6 in response to the case where the usage of the disk that stores the access log is out of the allowable range. Load control information indicating what should be performed in priority order.
  • the load control information storage unit 177 executes the load control processes 1 and 5 in response to the usage of the disk, memory, or database buffer that stores other than the database and the access log out of the allowable range. Stores load control information indicating what should be done with this priority.
  • the load control unit 175 determines, for example, that the DBS 150 has a bottleneck, and further determines that the processor usage exceeds the allowable range and the processor is a bottleneck. In the case where the application program 134 whose usage of the processor resources of the DBS 150 is not within the allowable range is identified, the load control processing 3 is executed, and the same as the application program 134 and the application program 134 is performed. The multiplicity of executing the application program 134 belonging to the group by the WAS 120 is reduced. Then, when the bottleneck of the DBS 150 is not eliminated by the load control processing, the load control unit 175 executes the load control processing 1 to further belong to a group having a lower priority than the application program 134.
  • the multiplicity of executing another application program 134 by the WAS 120 can be reduced.
  • the load control unit 175 first attempts to reduce the load on the DBS 150 by reducing the processing amount of the application program 134 that consumes a large amount of the processor, and if this does not solve the problem, gives priority to the application program 134. By reducing the processing amount of the application program 134 having a low degree, the load on the DBS 150 can be gradually reduced. [0053] If the bottleneck is not eliminated by these load control processes, the load control unit 175 executes the load control processes 4 and 2 further in order to process on the DBS 150. Try to mitigate the impact of other processes on and improve service levels.
  • the load control process 5 can reduce the load of the DBS 150 by reducing the multiplicity of executing the application program 134 whose service level has been reduced by the WAS 120 itself. If the response is not improved by the load control process 5, the load control unit 175 executes the load control process 6 to lower the priority of the process of accessing the DB 152 based on the request of the application program 134. Then, the processing on the DBS 150 can reduce the influence of the request on other processing.
  • the load control unit 175 sets D
  • the load control process 2 is executed, and the application belonging to the group having a lower priority than the application program 134 is executed.
  • the priority of the process of accessing the DB 152 based on the request from the program 134 is reduced.
  • the load control unit 175, in the load control process 2 belongs to a group having a lower priority than the application program 134 and uses the database used by the application program 134. It is desirable to lower the priority of the process of accessing the DB 152 based on a request from the application program 134 that uses the disk storing the DB 152.
  • the load control unit 175 sequentially executes the load control processes 1, 6, and 5 until the bottleneck of the DBS 150 is eliminated.
  • the load control information storage unit 177 is configured such that, with respect to the bottleneck of the WAS 120, the usage of the shift of the plurality of application server resources is out of the allowable range.
  • the load control information storage unit 177 stores the load control information indicating that the load control processes 3, 1, and 5 should be performed in this priority order. Is stored.
  • the load control information storage unit 177 should perform the load control processes 1 and 5 in response to the case where the usage of the memory, disk, JVM memory, and DB connection is out of the allowable range. Is stored.
  • the load control unit 175 identifies, for example, that the WAS 120 has a bottleneck, and furthermore, the usage of the processor exceeds the allowable usage. If it is determined that there is an application program 134 whose usage of the processor resources of the WAS 120 is not within the allowable range, the load control process 3 is executed, and the application program 134 and the application program 134 are executed. The multiplicity of executing the application program 134 belonging to the same group as the program 134 by the WAS 120 is reduced. Then, if the bottleneck of the WAS 120 is not eliminated by this load control process, the load control unit 175 executes the load control process 1 and further belongs to a group having a lower priority than the application program 134. The multiplicity of executing another application program 134 by the WAS 120 can be reduced.
  • the load control unit 175 executes the load control process 5 to reduce the degree of multiplicity of the WAS 120 executing the application program 134 whose service level has decreased, thereby reducing the DBS 150 Can be further reduced.
  • the load control information storage unit 177 indicates that the usage amount of the processor of the WAS 120 is within an allowable range with respect to the bottleneck of the resource related to the processing content of the transaction content application program 134. In the case of outside, load control information indicating that load control processing 5 should be performed is stored. In addition, the load control information storage unit 177 stores the contents of transactions and the resources related to the processing contents of the application program 134. With regard to runneck, load control information indicating that the load control processes 5 and 6 should be performed in this priority when the usage of the processor or disk of the DBS 150 falls outside the allowable range is stored.
  • FIG. 5 shows an example of a hardware configuration of a computer 900 according to the embodiment of the present invention.
  • the computer 900 functions as the load control server 160 by executing a load control program.
  • the computer 900 includes a CPU peripheral having a CPU 1000, a RAM 1020, a graphics controller 1075, and a display 1080 interconnected by a host controller 1082, and a communication interface 1030 connected to the host controller 1082 by an input / output controller 1084.
  • a storage device 1040, and a legacy input / output unit having a CD-ROM drive 1060, a ROM 1010 connected to an input / output controller 1084, a flexible disk drive 1050, and an input / output chip 1070.
  • the host controller 1082 connects the RAM 1020 to the CPU 1000 and the graphic controller 1075 that access the RAM 1020 at a high transfer rate.
  • the CPU 1000 operates based on programs stored in the ROM 1010 and the RAM 1020, and controls each unit.
  • the graphics controller 1075 acquires image data generated by the CPU 1000 etc. on a frame buffer provided in the RAM 1020 and displays it on the display device 1080.
  • the graphic controller 1075 may internally include a frame buffer for storing image data generated by the CPU 1000 or the like.
  • the input / output controller 1084 connects the host controller 1082 to the communication interface 1030, storage device 1040, and CD-ROM drive 1060, which are relatively high-speed input / output devices.
  • the communication interface 1030 communicates with another device via a network.
  • the storage device 1040 stores programs and data used by the CPU 1000 in the computer 900.
  • the CD-ROM drive 1060 reads a program or data from the CD-ROM 1095 and provides it to the storage device 1040 via the RAM 1020.
  • the input / output controller 1084 is connected to a ROM 1010 and relatively low-speed input / output devices such as a flexible disk drive 1050 and an input / output chip 1070.
  • ROM1 010 contains a boot program that runs when computer 900 boots, Stores programs that depend on 0 hardware.
  • the flexible disk drive 1050 reads a program or data from the flexible disk 1090 and provides it to the storage device 1040 via the RAM 1020.
  • the input / output chip 1070 connects various input / output devices via a flexible disk drive 1050 and, for example, a parallel port, a serial port, a keyboard port, and a mouse port.
  • the program provided to the storage device 1040 via the RAM 1020 is stored on a recording medium such as a flexible disk 1090, a CD-ROM 1095, or an IC card and provided by the user.
  • a program that causes the WAS 120 to function as the HTTP server unit 125, the WEB application server unit 130, the processing time acquisition unit 140, the processing load acquisition unit 142, and the server load control unit 144 is read from the recording medium and communicated. It is installed on the WAS 120 via the interface 1030 and runs on a server computer used as the WAS 120.
  • a program that causes the DBS 150 to function as the DB 152, the DB processing request iZF unit 153, the processing load acquisition unit 156, and the server load control unit 158 is read from the recording medium and transmitted via the communication interface 1030 and the load control server 160. It is installed in DBS150 and executed on the server computer used as DBS150. Further, a load control program that causes the computer 900 to function as the load control server 160 is read from a recording medium, installed in the storage device 1040 in the computer 900 via the RAM 1020, and executed by the CPU 1000.
  • the programs installed in the WAS 120 include an HTTP server program, a WEB application server program having a multiplicity control module and a DB access control module, a processing time acquisition module, a processing load acquisition module, and a load in the server.
  • These programs and modules include a WAS 120, an HTTP server unit 125, a Web application server unit 130 having a multiplicity control unit 132 and a DB access control unit 136, a processing time obtaining unit 140, and a processing load obtaining unit 142. , Respectively, to function as the load control unit 144 in the server.
  • the program installed in DBS 150 includes a DB engine program, a processing load obtaining module, and a server load control module. These programs and modules include DBS 150, DB engine 154, processing load acquisition unit 156, Each of them functions as the load control unit 158.
  • the load control program installed on the computer 900 and causing the computer 900 to function as the load control server 160 includes a processing time monitoring module, a bottleneck identification module, a processing load monitoring module, a load control information acquisition module, and a load control module. And a load control module having a control processing module. These programs and modules control the computer 900 by using a processing time monitoring unit 165, a bottleneck identification unit 170, a processing load monitoring unit 190, a load control information acquisition unit 179, and a load control unit 175 including a load control processing unit 181. Function as each.
  • an optical recording medium such as a DVD or PD, a magneto-optical recording medium such as an MD, a tape medium, a semiconductor memory such as an IC card, or the like can be used.
  • a storage device such as a disk, a RAM disk, or a RAM provided in a server system connected to a dedicated communication network or the Internet is used as a recording medium, and the program is provided to the computer 900 via the network.
  • the information may be provided to the WAS 120 or the WEB application server unit 130 via the control server 160.
  • the load control information storage unit 177 can store an appropriate load control process in accordance with the location of a bottleneck and the resource determined to have a high load. it can. Then, based on the load control information stored in the load control information storage unit 177, the load control unit 175 changes the multiplicity of the application program 134 executed on the WAS 120, and gives priority to processing for accessing the DB 152. Load control processing such as changing the degree can be appropriately performed.
  • the multiplicity at which each of the application programs 134 is executed and the access priority in the DBS 150 are appropriately changed according to the processing time of each of the application programs 134. be able to .
  • the service level of another application program 134 is reduced due to the effect of the one application program 134 consuming system resources abnormally.
  • self An information system 10 that can be dynamically detected and automatically restored in a short period of time, and has the same robustness as when each application program 134 is executed on a separate information system 10 can be realized. .
  • FIG. 1 shows a configuration of an information system 10 according to an embodiment of the present invention.
  • FIG. 2 shows a bottleneck identification flow of the information system 10 according to the embodiment of the present invention.
  • FIG. 3 shows a method for determining a high load of the information system 10 according to the embodiment of the present invention.
  • FIG. 4 shows an example of load control information stored in a load control information storage unit 177 according to the embodiment of the present invention.
  • FIG. 5 shows an example of a hardware configuration of a computer 900 according to the embodiment of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

明 細 書
情報システム、負荷制御方法、負荷制御プログラム及び記録媒体 技術分野
[0001] 本発明は、情報システム、負荷制御方法、負荷制御プログラム及び記録媒体に関 する。特に本発明は、複数のアプリケーションサーバ及びデータベースサーバを備え
、負荷制御を行う情報システムと、その負荷制御方法、負荷制御プログラム及び記録 媒体とに関する。 背景技術
[0002] 近年、 Webページの表示と連携してサーバサイドでアプリケーションを実行可能と する各種の基盤技術が提供されて 、ることから、利用者に良好なユーザインターフエ イスを提供する Web機能を用いて情報システムを実現することが主流となって 、る。 このような情報システムの負荷を制御する技術として、特開 2001— 160040号公報 に、 1台のコンピュータ上でサーバプログラムを実行させ、サーバプログラムが当該コ ンピュータの CPUを使用する使用率が高い場合にサーバプログラムの多重度を増 加させる技術が開示されている。
また、特開 2000-268012号公報に、 LAN接続された負荷分散装置とサーバコン ピュータとを備えるクライアントサーバシステムにおいて、サーバコンピュータの負荷 がしきい値を超える場合に、負荷分散装置が端末力ものトランザクションの受け入れ を中断する技術が開示されている。
特許文献 1:特開 2001—160040号公報
特許文献 2 :特開 2000-268012号公報
発明の開示
発明が解決しょうとする課題
[0003] 大規模な情報システムは、複数のアプリケーションサーバと、 1台又は多重化された データベースサーバとを備えて構成される。アプリケーションサーバは、利用者により
Webページがアクセスされた場合に当該 Webページに対応付けられたアプリケーシ ヨンを実行し、実行結果を含めた Webページのデータを当該端末へ返信する。デー タベースサーバは、アプリケーションサーバからデータベースのアクセス要求を受け てデータベースをアクセスする。このような情報システムにおいては、利用者の端末 力 受信したトランザクションに対するレスポンス時間を許容範囲内に抑え、利用者 の作業に遅延を生じさせないことが重要である。し力しながら、上記の技術において は、サーバプログラムやサーバコンピュータの負荷を一定以下に保つことを目的とし ており、トランザクションのレスポンス時間に基づいた制御を行うことができず、また、 アプリケーションサーバ及びデータベースサーバのそれぞれに適した負荷制御処理 を行うことができな力 た。
[0004] そこで本発明は、上記の課題を解決することのできる情報システム、負荷制御方法 、負荷制御プログラム及び記録媒体を提供することを目的とする。この目的は特許請 求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項 は本発明の更なる有利な具体例を規定する。
課題を解決するための手段
[0005] 本発明の第 1の形態によれば、端末力 受信したトランザクションに応じてアプリケ ーシヨンプログラムをそれぞれ実行する複数のアプリケーションサーバと、前記複数 のアプリケーションサーバのそれぞれの要求に基づきデータベースをアクセスするデ ータベースサーバとを備える情報システムであって、前記複数のアプリケーションサ ーバのそれぞれについて、当該アプリケーションサーバが受信した前記トランザクショ ンを前記アプリケーションプログラムが処理する処理時間を監視する処理時間監視 部と、前記複数のアプリケーションサーバのそれぞれにつ!/、ての前記処理時間の監 視結果に基づ 、て、前記処理時間が予め定められた許容範囲内でな 、前記アプリ ケーシヨンサーバにボトルネックがあると特定するボトルネック特定部と、ボトルネック があると特定された前記アプリケーションサーバ上で前記アプリケーションプログラム を実行する多重度を低下させる負荷制御部とを備える情報システムと、当該情報シス テムに関する負荷制御方法、負荷制御プログラム、及び記録媒体を提供する。
[0006] なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなぐ これらの特徴群のサブコンビネーションもまた、発明となりうる。
発明の効果 [0007] 本発明によれば、複数のアプリケーションサーバ及びデータベースサーバを備える 情報システムにおいて、各アプリケーションサーバにおけるトランザクションの処理時 間に応じて適切な負荷制御を行うことができる。
発明を実施するための最良の形態
[0008] 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請 求の範隨こかかる発明を限定するものではなぐまた実施形態の中で説明されてい る特徴の組み合わせの全てが発明の解決手段に必須であるとは限らな 、。
[0009] 図 1は、本実施形態に係る情報システム 10の構成を示す。本実施形態に係る情報 システム 10は、複数のアプリケーションサーバ 120のそれぞれにおけるトランザクショ ンの処理時間と、複数のアプリケーションサーバ 120及びデータベースサーバ 150の 処理負荷とを監視し、監視結果に基づいてアプリケーションサーバ 120又はデータ ベースサーバ 150のボトルネックを解消することができる適切な負荷制御を行う。また 、本実施形態に係る情報システム 10は、複数種類の業務等に対応する複数種類の アプリケーションプログラムを統合して稼動させた場合にぉ 、て、あるアプリケーション プログラムに生じた性能低下要因が他のアプリケーションプログラムの処理性能に影 響を与えな 、ように適切に負荷制御を行うことができる。
[0010] 情報システム 10は、当該情報システム 10を利用する利用者がそれぞれ使用する 複数の端末 100にインターネットやイントラネット等のネットワーク 110を介して接続さ れるサーバコンピュータシステムであり、複数のアプリケーションサーバ(WAS: Web Application Server) 120、データベースサーノ (DBS: Database Server) 150、及び 負荷制御サーバ 160を備える。
複数の WAS 120のそれぞれは、端末 100から受信した HTTPリクエスト等のトラン ザクシヨンに応じて、 Java (登録商標)サーブレットや JSP (Java Server Pages)等によ るアプリケーションプログラムを実行するサーバコンピュータである。また、 WAS 120 は、実行結果を含めた Webページを端末 100へ返信する。このアプリケーションプロ グラムの実行中に、 WAS 120は、アプリケーションプログラムによる指示に基づきデ 一ターベース(DB) 152のアクセスを DBS 150に要求する。
DBS 150は、複数の WAS 120のそれぞれの要求に基づき DB 152をアクセスし、 アクセス結果を要求元の WAS 120に返信するサーバコンピュータである。負荷制御 サーバ 160は、複数の WAS120のそれぞれにおけるトランザクションの処理時間と、 複数の WAS 120及び DBS 150の処理負荷とを監視し、監視結果に基づ 、て情報 システム 10の負荷制御を行う。
[0011] 次に、 WAS120、DBS150、及び負荷制御サーバ 160の構成を示す。 複数の W AS 120のそれぞれは、 HTTPサーバ部 125と、 WEBアプリケーションサーバ部 130 と、処理時間取得部 140と、処理負荷取得部 142と、サーバ内負荷制御部 144とを 有する。 HTTPサーバ部 125は、端末 100からトランザクションを受信し、当該トラン ザクシヨンに対応する Webページを端末 100へ返信する。なお、当構成において HT TPサーバ部 125は、物理的に別の筐体であるサーバ上で稼働して 、てもよ!/、。
WEBアプリケーションサーバ部 130は、端末 100から受信したトランザクションに応 じてアプリケーションプログラム 134を実行する。本実施形態において、複数の WAS 120のそれぞれにおける WEBアプリケーションサーバ部 130は、複数種類のアプリ ケーシヨンプログラム 134を混載し、複数種類のアプリケーションプログラム 134のうち 、端末 100から受信したトランザクションの種類に対応するアプリケーションプログラム 134を実行する。ここで複数種類のアプリケーションプログラム 134は、当該 WAS12 0上で実行されるべき優先度がそれぞれ設定される。より具体的には、複数種類のァ プリケーシヨンプログラム 134は、優先度に応じて複数のグループに分類され、各ァ プリケーシヨンプログラム 134が属するグループに指定された優先度で実行される。
[0012] WEBアプリケーションサーバ部 130は、多重度制御部 132、 DBアクセス制御部 13 6、及び DBコネクションプール 138を含む。多重度制御部 132は、複数種類のアプリ ケーシヨンプログラム 134のそれぞれを実行すべき多重度を制御する。ここでアプリケ ーシヨンプログラム 134を実行する多重度とは、同一種類のトランザクションを複数受 信した場合に、それぞれのトランザクションに対応してアプリケーションプログラム 134 の並行して動作させる数の最大値である。
DBアクセス制御部 136は、複数種類のアプリケーションプログラム 134のそれぞれ による DB 152のアクセス要求を併せて処理する。そして DBアクセス制御部 136は、 DBS 150に対するアクセス要求の発行数をアプリケーションプログラム 134毎に制限 すると共に、 DBS150内部で複数種類のアプリケーションプログラム 134のそれぞれ の優先度を特定可能とするように DBコネクション 139を割り当てる。より具体的には、 DBアクセス制御部 136は、優先度毎に異なるユーザ IDを用 、て DBS 150に接続す ることにより、 DBS 150内部でアクセス要求の優先度を特定可能とする。
DBコネクションプール 138は、複数の DBコネクション 139を含む。それぞれの DB コネクション 139は、 DB 152のアクセス要求を発行するために DBS 150と接続する 接続点となる。
以上に示した多重度制御部 132及び DBアクセス制御部 136は、 1台の WAS 120 上で複数種類のアプリケーションプログラム 134を統合して効率良く稼動させるため のフレームワークを実現するクラス関数等を、 WAS120上で実行することにより実現 されてよい。
[0013] 処理時間取得部 140は、個々のトランザクションの処理時間やデータベース処理時 間等を多重度制御部 132および DBアクセス制御部 136から取得し、アプリケーショ ンプログラム 134毎の処理時間及びデータベース処理時間等の統計を取る。ここで、 端末 100から受信したトランザクションをアプリケーションプログラム 134が処理する処 理時間は、トランザクションのレスポンス時間とも呼ばれる。そして、処理時間取得部 1 40は、一のアプリケーションプログラム 134の処理時間が許容範囲内でない場合に、 当該アプリケーションプログラム 134についてサービスレベルが低下していることを示 すサービスレベル低下イベントを負荷制御サーバ 160へ通知する。ここで処理時間 取得部 140は、このサービスレベル低下イベントにデータベース処理時間等の情報 を含めて負荷制御サーバ 160へ通知してよい。
[0014] 処理負荷取得部 142は、当該 WAS120が有する、アプリケーションプログラム 134 によりそれぞれ使用される資源である 1又は複数のアプリケーションサーバ資源の使 用量を、例えば WAS120上で動作するオペレーティングシステムのパフォーマンス モニタ機能等から取得し、当該アプリケーションサーバ資源の使用量の統計を取る。 そして、処理負荷取得部 142は、一のアプリケーションサーバ資源の使用量が許容 範囲内で無い場合に、当該アプリケーションサーバ資源の処理負荷が高負荷である ことを示すシステム資源高負荷イベントを負荷制御サーバ 160へ通知する。以上に おいて処理負荷取得部 142は、アプリケーションサーバ資源の使用量をアプリケー シヨンプログラム 134毎に取得し、当該アプリケーションプログラム 134による使用量 が許容範囲で無い場合にシステム資源高負荷イベントを負荷制御サーバ 160へ通 知してもよぐこれに代えて処理負荷取得部 142は、全てのアプリケーションプロダラ ム 134によるアプリケーションサーバ資源の使用量の合計を取得し、当該使用量が 許容範囲内で無い場合にシステム資源高負荷イベントを負荷制御サーバ 160へ通 知してちょい。
[0015] サーバ内負荷制御部 144は、負荷制御サーバ 160により実行される負荷制御処理 に応じて、当該 WAS120内における負荷制御を行う。本実施形態に係るサーバ内 負荷制御部 144は、 WAS120内における負荷制御として、各アプリケーションプログ ラム 134のそれぞれを実行する多重度を変更する。
[0016] DBS150は、 DB152と、 DB処理要求 iZF部 153と、 DBエンジン 154と、処理負 荷取得部 156と、サーバ内負荷制御部 158とを有する。 DB152は、複数のアプリケ ーシヨンプログラム 134のそれぞれによりアクセスされるデータを格納する。複数の D B処理要求 IZF部 153のそれぞれは、複数の DBコネクション 139のそれぞれに対応 して設けられ、 WAS120が DB152に対するアクセス要求を発行するための接続点と なる。本実施形態において、 WAS120は、複数のアプリケーションプログラム 134の それぞれの優先度に応じて異なるユーザ IDに対応する DB処理要求 IZF部 153に 接続する。このため DBS150は、ユーザ IDに基づいてアクセス要求を発行したァプ リケーシヨンプログラム 134の優先度を識別することができる。
[0017] DBエンジン 154は、複数の WAS 120のそれぞれが複数のアプリケーションプログ ラム 134のそれぞれの指示に基づき発行する SQLコマンド等のアクセス要求に基づ き、 DB152をアクセスする。処理負荷取得部 156は、 DBS150が有する、アプリケー シヨンプログラム 134が DB152をアクセスする場合に使用される資源である 1又は複 数のデータベースサーバ資源の使用量を、例えば DBS150上で動作するオペレー ティングシステムのパフォーマンスモニタ機能から取得し、当該データベースサーバ 資源の使用量の統計を取る。そして、処理負荷取得部 156は、一のデータベースサ ーバ資源の使用量が許容範囲内でない場合に、当該データベースサーバ資源の処 理負荷が高負荷であることを示すシステム資源高負荷イベントを負荷制御サーバ 16 0へ通知する。以上において処理負荷取得部 156は、データベースサーバ資源の使 用量を DB処理要求 IZF部 153毎に取得し、対応するアプリケーションプログラム 13 4による使用量が許容範囲内でない場合にシステム資源高負荷イベントを負荷制御 サーバ 160へ通知してもよぐこれに代えて処理負荷取得部 156は、全ての DB処理 要求 IZF部 153によるデータベースサーバ資源の使用量の合計を取得し、当該使 用量が許容範囲内でない場合にシステム資源高負荷イベントを負荷制御サーバ 16 0へ通知してもよい。
[0018] サーバ内負荷制御部 158は、負荷制御サーバ 160により実行される負荷制御処理 に応じて、 DBS150内における負荷制御を行う。本実施形態に係るサーバ内負荷制 御部 158は、サーバ内負荷制御部 158内における負荷制御として、 DB処理要求 IZ F部 153が DB152をアクセスする処理の優先度を変更する。
[0019] 負荷制御サーバ 160は、処理時間監視部 165と、ボトルネック特定部 170と、処理 負荷監視部 190と、負荷制御部 175とを有する。処理時間監視部 165は、複数の W AS120のそれぞれについて、当該 WAS120が受信したトランザクションをアプリケ ーシヨンプログラム 134が処理する処理時間を監視する。本実施形態において、処 理時間監視部 165は、複数の WAS 120のそれぞれについて、アプリケーションプロ グラム 134毎のトランザクションの処理時間を監視する。ここで処理時間監視部 165 は、複数の WAS 120のそれぞれから通知されるサービスレベル低下イベントに基づ いて、アプリケーションプログラム 134毎のトランザクションの処理時間が許容範囲外 となったことを検出する。
[0020] ボトルネック特定部 170は、複数の WAS 120のそれぞれについての処理時間の監 視結果に基づ 、て、複数の WAS 120及び DBS 150のうち少なくとも 1つの WAS 12 0又は DBS150にボトルネックがあると特定する。処理負荷監視部 190は、複数の W AS 120のそれぞれにつ!/、ての 1又は複数のアプリケーションサーバ資源の使用量と 、 1又は複数のデータベースサーバ資源の使用量とを監視する。本実施形態におい て、処理負荷監視部 190は、複数の WAS 120及び DBS 150のそれぞれ力も通知さ れるシステム資源高負荷イベントに基づいて、当該システム資源高負荷イベントによ り特定されるアプリケーションサーバ資源又はデータベースサーバ資源の使用量が 許容範囲外となったことを検出する。
[0021] 負荷制御部 175は、複数の WAS120又は DBS150の少なくとも 1つのサーバにボ トルネックがあると特定された場合に、ボトルネックがあると特定されたサーバのボトル ネックを解消するための負荷制御処理を実行する。
負荷制御部 175は、負荷制御情報格納部 177と、負荷制御情報取得部 179と、負 荷制御処理部 181とを含む。負荷制御情報格納部 177は、ボトルネックと特定された サーバと、当該サーバにおいて高負荷であることを検出された資源とに対応して、負 荷制御部 175内の負荷制御処理部 181が行うべき負荷制御処理を指定する負荷制 御情報を格納する。さらに、負荷制御情報格納部 177は、アプリケーションプログラム 134のそれぞれのグループ、グループの優先度、及び、当該アプリケーションプログ ラム 134に設定可能な多重度を示す多重度情報を格納する。負荷制御情報取得部 179は、ボトルネック特定部 170によりボトルネックと特定されたサーバにおける、処 理負荷監視部 190により高負荷であることが検出された資源に対応する負荷制御情 報を負荷制御情報格納部 177から取得し、負荷制御処理部 181へ出力する。負荷 制御処理部 181は、ボトルネックがあると特定されたサーバのボトルネックを解消する ベぐ負荷制御情報により指定される負荷制御処理を実行する。負荷制御処理にお いて、負荷制御処理部 181は、負荷制御の対象となる WAS120内のサーバ内負荷 制御部 144又は DBS 150内のサーバ内負荷制御部 158に対して、当該サーバ内の 負荷制御を指示する。
[0022] 以上に示した情報システム 10によれば、複数のアプリケーションサーバ 120のそれ ぞれにおけるトランザクションの処理時間と、複数のアプリケーションサーバ 120及び データベースサーバ 150の処理負荷とを監視し、監視結果に基づいてボトルネックを 解消する負荷制御処理を適切に選択し実行することができる。
[0023] 図 2は、本実施形態に係る情報システム 10のボトルネック特定フローを示す。
まず、処理時間監視部 165は、 1又は複数の WAS120から 1又は複数のサービス レベル低下イベントを通知されることにより、トランザクションの処理時間が許容範囲 外となったことを検出する。ボトルネック特定部 170は、複数の WAS 120のそれぞれ につ 、ての処理時間の監視結果に基づ 、て、ボトルネックの存在箇所を特定する。 より具体的にはボトルネック特定部 170は、複数の WAS 120のそれぞれについての アプリケーションプログラム 134毎の処理時間の監視結果に基づ!/、て、ボトルネック の存在箇所を特定する。
[0024] まず、ボトルネック特定部 170は、 1以上しきい値以下の数の WAS120について処 理時間が許容範囲内でな 、ことを条件として (ステップ S200: Yes)、処理時間が許 容範囲内でない WAS120にボトルネックがあると特定する(S220)。ここでボトルネッ ク特定部 170は、 1以上しき!、値以下の数の WAS 120につ!/、て一のアプリケーショ ンプログラム 134の処理時間が許容範囲内でない場合(S200 : Yes)に、処理時間 が許容範囲内でな ヽ WAS 120における、他のアプリケーションプログラム 134の処 理時間も許容範囲内でな 、ことを更に条件として(S 210: Yes)当該 WAS 120にボト ルネックがあると特定し(S220)、他のアプリケーションプログラム 134の処理時間が 許容範囲内であれば(S210 :No)、当該アプリケーションプログラム 134に対するトラ ンザクシヨンの特定の入力に関連する資源がボトルネックであると特定してもよ ヽ(S2 30)。ここで WAS 120の数のしきい値は、 WAS 120の数未満の数であり、情報シス テム 10の管理者等により予め設定されてよ 、。
[0025] また、しきい値を超える数の WAS 120について処理時間が許容範囲内でない場合 に(S200 :No、 S240 :Yes)、情報システム 10全体の共通資源である DBS150にボ トルネックがあると特定する。ここでボトルネック特定部 170は、しきい値を超える数の WAS120について一のアプリケーションプログラム 134の処理時間が許容範囲内で ない場合(S200 :No、 S 240 : Yes)に、処理時間が許容範囲内でない WAS 120に おける、他のアプリケーションプログラム 134の処理時間も許容範囲内でないことを更 に条件として(S250 :Yes) DBS150にボトルネックがあると特定し(S260)、他のァ プリケーシヨンプログラム 134の処理時間が許容範囲内であれば(S250 :No)、当該 アプリケーションプログラム 134に対応するトランザクションに関連する資源がボトルネ ックであると特定してもよ ヽ(S270)。
[0026] なお、本実施形態に係るボトルネック特定部 170は、以上に示した処理をアプリケ ーシヨンプログラム 134毎又はアプリケーションプログラム 134のグループ毎に行う。 すなわち、ボトルネック特定部 170は、一のアプリケーションプログラム 134又は一の グループに属するアプリケーションプログラム 134の処理時間が許容範囲内でないこ とを条件として、当該アプリケーションプログラム 134又は当該グループに属するァプ リケーシヨンプログラム 134に関して WAS120にボトルネックがあると特定する。より 具体的には、ボトルネック特定部 170は、しきい値以下の WAS120について一のァ プリケーシヨンプログラム 134又は一のグループに属するアプリケーションプログラム 1 34の処理時間が許容範囲内でない場合に、これらの WAS120にボトルネックがある と特定し、しきい値を超える WAS120について一のアプリケーションプログラム 134 又は一のグループに属するアプリケーションプログラム 134の処理時間が予め定めら れた許容範囲内でな ヽ場合に、 DBS 150にボトルネックがあると特定する。
[0027] 以上に示したボトルネック特定部 170によれば、処理時間が予め定められた許容範 囲内でない WAS120にボトルネックがあると特定することができる。より具体的には、 ボトルネック特定部 170は、処理時間が許容範囲内でな!、WAS 120の数がしき!/、値 以下であることを条件としてこれらの WAS120にボトルネックがあると特定し、処理時 間が許容範囲内でない WAS 120の数がしきい値を超える場合には DBS 150にボト ルネックがあると特定することができる。すなわち例えばしきい値を 1とした場合、ボト ルネック特定部 170は、処理時間が許容範囲内でな ヽ WAS 120が 1台である場合 に当該 WAS 120にボトルネックがあると特定し、 2台以上の場合に DBS 150にボトル ネックがあると特定することができる。また、例えばしきい値を (WAS120の台数— 1) とした場合、全ての WAS120について処理時間が許容範囲内でない場合に DBS1 50にボトルネックがあると特定し、 WAS 120の台数未満の WAS 120につ!/、て処理 時間が許容範囲内でない場合にこれらの WAS120にボトルネックがあると特定する ことができる。
[0028] これにより情報システム 10は、ある特定の WAS 120のサービスレベルが低下して いるのか、それとも情報システム 10全体に共通する DBS150がボトルネックとなって 多数の WAS 120のサービスレベルが低下して!/、るのかを区別し、適切にボトルネッ クの存在箇所を特定することができる。ここで、ボトルネック特定部 170は、例えば S2 10又は S250等以外の条件に更に基づいて、より詳細にボトルネックの存在箇所を 特定してちょい。
[0029] 以上において、処理時間の許容範囲は、例えば以下に示す予め定められた基準 に基づき判断されてよい。すなわち処理時間監視部 165は、例えば 60秒等の予め 定められた期間内にあるアプリケーションプログラム 134に対してトランザクションの入 力が予め定められた数以上ある場合において、例えば 50%等の予め定められた割 合以上のトランザクションについて当該アプリケーションプログラム 134の処理時間が 許容処理時間を超える場合に、当該アプリケーションプログラム 134の処理時間が許 容範囲を超えると判断する。この場合において、許容処理時間は、例えば過去の 1ケ 月間等の期間内におけるピーク時の処理時間の平均値に、標準偏差に基づき定め たオフセット時間を加えて定められる。
[0030] 図 3は、本実施形態に係る情報システム 10の高負荷判定方法を示す。処理負荷取 得部 142及び処理負荷取得部 156は、監視対象となる複数の資源のそれぞれに対 応する「検出条件」により指定された条件が成立した場合に当該資源が高負荷である ことを検出する。そして、当該資源の高負荷の検出が「判定条件」により指定された回 数等の条件を満たして行われた場合に、当該資源の使用量が許容範囲外となり高 負荷な状態であると判定し、当該資源についてのシステム資源高負荷イベントを処 理負荷監視部 190へ通知する。また、当該資源の高負荷の通知後、当該資源の高 負荷の検出が「解除条件」により指定された回数等の条件を満たす間行われなかつ た場合に、当該資源が高負荷でなくなつたことを示すシステム資源高負荷解除ィべ ントを処理負荷監視部 190に通知する。これを受けて処理負荷監視部 190は、当該 データベース資源が高負荷でなくなつたことを検出する。
[0031] 処理負荷取得部 156は、「ボトルネック箇所の分類」欄が「全体共通資源 (DBS)」と 示されている複数のデータベースサーバ資源のそれぞれについて、「検出条件」、「 判定条件」及び「解除条件」に示した条件を用いて当該資源が高負荷であるか否か を判定する。ここで、本実施形態に係る処理負荷取得部 156は、複数のデータべ一 スサーバ資源として、プロセッサ、ディスク、メモリ、データベースバッファ等を含む複 数のデータベースサーバ資源のそれぞれにつ 、て、条件を用いて高負荷であるか 否かを判定する。 [0032] プロセッサ、データベースを格納するディスク、 DB152のアクセスログを格納するデ イスク、データベースとアクセスログ以外のファイルを格納するディスクに関して、処理 負荷取得部 156は、当該データベース資源の使用率が「n秒間の間平均 x%以上」 である場合に高負荷であることを検出する。そして処理負荷取得部 156は、この高負 荷の状態がモニタリングするタイミングにおいて m回連続して検出された場合に、当 該データベース資源が高負荷であると判定し、システム資源高負荷イベントを処理負 荷監視部 190に通知する。また処理負荷取得部 156は、システム資源高負荷ィベン トを処理負荷監視部 190に通知した後、高負荷の状態を f回連続して検出しな力つた 場合にシステム資源高負荷解除イベントを処理負荷監視部 190に通知する。
[0033] また、処理負荷取得部 156は、 DBS 150が搭載する実メモリに関して、ページング が「n秒間の間平均 X回以上」発生している場合に、当該メモリの使用量が多くスヮッ プが頻発しているとして高負荷であることを検出する。また、 DBエンジン 154が使用 するデータベースバッファに関して、当該バッファのミス率が「n秒間の間平均 x%以 上」の場合に、当該バッファが不足しているとして高負荷であることを検出する。処理 負荷取得部 156は、これらのデータベースサーバ資源についてのシステム資源高負 荷イベント及びシステム資源高負荷解除イベントの通知を、プロセッサ等のシステム 資源高負荷イベント及びシステム資源高負荷解除イベントの通知と同様にして行う。
[0034] 複数の WAS 120のそれぞれの処理負荷取得部 142は、「ボトルネック箇所の分類 」欄が「WAS」と示されて!/、る複数のアプリケーションサーバ資源のそれぞれにつ!/ヽ て、「検出条件」、「判定条件」及び「解除条件」に示した条件を用いて当該資源が高 負荷であるか否かを判定する。ここで、本実施形態に係る処理負荷取得部 142は、 複数のデータベースサーバ資源として、プロセッサ、ディスク、メモリ、 JVM (Java Virtual Machine)メモリ、及び DBコネクション等を含む複数のアプリケーションサーバ 資源のそれぞれについて、「検出条件」、「判定条件」及び「解除条件」に示した条件 を用いて高負荷であるか否かを判定する。
[0035] プロセッサ、ディスク、及びメモリに関して、処理負荷取得部 142は、処理負荷取得 部 156と同様にして高負荷の検出及びイベントの通知を行う。また処理負荷取得部 1 42は、 WEBアプリケーションサーバ部 130を構成する各種のプログラム又はモジュ ールを実行する JVMが「ガベージコレクションを n秒間の間に X回以上」実行した場合 に、 JVMに割り当てたメモリが不足しているとして高負荷であることを検出する。そし て処理負荷取得部 142は、 JVMメモリについてのシステム資源高負荷イベント及び システム資源高負荷解除イベントの通知を、プロセッサ等のシステム資源高負荷ィべ ント及びシステム資源高負荷解除イベントの通知と同様にして行う。
[0036] また、処理負荷取得部 142は、 DBコネクションに関して、 DBコネクション 139を使 用する多重度が上限に達した場合に、 DBコネクションが不足しているとして高負荷 であることを検出する。処理負荷取得部 142は、ー且 DBコネクションが高負荷である ことを検出すると、システム資源高負荷イベントを処理負荷監視部 190に通知し、当 該 WAS 120を停止するまで高負荷でなくなつたことを処理負荷監視部 190に通知し ない。
[0037] また、処理負荷取得部 142は、「ボトルネック箇所の分類」欄が「トランザクションに 関連する資源」と示されている WAS 120のプロセッサ、 DBS 150のプロセッサ、及び DBS 150のディスク等の各資源について、「検出条件」、「判定条件」及び「解除条件 」に示した条件を用いて当該資源がアプリケーションプログラム 134の処理内容の影 響により高負荷となっている力否かを判定する。
[0038] 処理負荷取得部 142は、 WAS120のプロセッサに関して、トランザクションに対応 してアプリケーションプログラム 134を実行する処理時間全体のうち、 DBS150による DB152のアクセスに要する処理時間の比率が x%以下である場合に、 WAS120の プロセッサによる処理時間の割合が高いとして高負荷を検出する。そして処理負荷 取得部 142は、高負荷を検出するとシステム資源高負荷イベントを処理負荷監視部 190に通知し、検出条件に示された状態が n秒間発生しない場合にシステム資源高 負荷解除イベントを処理負荷監視部 190に通知する。
[0039] また、処理負荷取得部 142は、 DBS150のプロセッサに関して、トランザクションに 対応してアプリケーションプログラム 134を実行する処理時間全体のうち DBS150に よる DB152のアクセスに要する処理時間の比率力 以上である場合に、 DBS150 のプロセッサによる処理時間の割合が高いとして高負荷を検出する。そして処理負 荷取得部 142は、高負荷を検出するとシステム資源高負荷イベントを処理負荷監視 部 190に通知し、高負荷の検出が n秒間発生しない場合にシステム資源高負荷解除 イベントを処理負荷監視部 190に通知する。これを受けて処理負荷監視部 190は、 当該システム資源高負荷イベントの通知を受け、かつ、 n秒以内に DBS 150のプロセ ッサがボトルネックであると DBS150により判定されていた場合に、トランザクションに 対応して DBS 150のプロセッサが高負荷であると判定する。また、処理負荷取得部 1 42は、 DBS150のディスクについても、 DBS150のプロセッサと同様にして、トランザ クシヨンに対応して DBS150のディスクが高負荷であると判定する。
[0040] 処理負荷監視部 190は、複数の WAS 120及び DBS 150のそれぞれについて、当 該サーバが有する複数の資源のそれぞれが高負荷である力否かを、以上に例示し たシステム資源高負荷イベント及びシステム資源高負荷解除イベントに基づいて検 出する。ここで処理負荷監視部 190は、複数の資源のそれぞれに対応する「検出条 件」、「判定条件」及び「解除条件」を、例えば負荷制御サーバ 160が有する記憶装 置に格納したファイルとして保持し、情報システム 10の管理者等の指示に基づき変 更可能としてもよい。
[0041] また、ボトルネック特定部では、処理負荷取得部 142により、アプリケーションプログ ラム 134単位にシステム資源高負荷イベントが通知されている場合、および、処理負 荷取得部 156により、 DB処理要求 IZF部 153単位にシステム資源高負荷イベントが 通知されている場合には、より詳細にボトルネックの原因となるアプリケーションプログ ラム 134を特定してもよい。
[0042] 図 4は、本実施形態に係る負荷制御情報格納部 177に格納される負荷制御情報の 一例を示す。負荷制御情報格納部 177は、 WAS120における複数のアプリケーショ ンサーバ資源、及び、 DBS150における複数のデータベースサーバ資源のそれぞ れに対応して、当該資源を有するサーバにボトルネックがあると特定され、かつ、当 該資源の使用量が予め定められた許容範囲内でない場合に負荷制御部 175が行う べき負荷制御処理を指定する負荷制御情報を格納する。ここで負荷制御情報格納 部 177は、少なくとも 1つの負荷制御情報として、複数の負荷制御処理と複数の負荷 制御処理の優先順位とを指定する情報を格納してもよい。
[0043] 負荷制御情報取得部 179は、ボトルネックがあると特定されたサーバが有する資源 の使用量が予め定められた許容範囲内でない場合に、当該資源がボトルネックであ ると特定する。そして、負荷制御情報取得部 179は、当該資源がボトルネックであると 特定された場合に、当該資源に対応して負荷制御情報格納部 177に格納された負 荷制御情報を取得する。より具体的には、負荷制御情報取得部 179は、 WAS 120 にボトルネックがあると特定された場合に、当該 WAS120が有する複数のアプリケー シヨンサーバ資源のうち、使用量が許容範囲内でないと処理負荷監視部 190により 判定されたアプリケーションサーバ資源に対応して、負荷制御情報格納部 177に格 納された負荷制御情報を取得する。また、負荷制御情報取得部 179は、 DBS150に ボトルネックがあると特定された場合に、複数のデータベースサーバ資源のうち、使 用量が許容範囲内でないと処理負荷監視部 190により判定されたデータベースサー バ資源に対応して負荷制御情報格納部 177に格納された負荷制御情報を取得する
[0044] そして、負荷制御処理部 181は、ボトルネック特定部 170によりボトルネックがあると 特定されたサーバのボトルネックを解消するべぐ負荷制御情報取得部 179により取 得された負荷制御情報により指定される負荷制御処理を行う。ここで負荷制御処理 部 181は、ある負荷制御情報により指定された一の負荷制御処理を実行した後、ボト ルネックがあると特定されたサーバのボトルネックが予め設定された設定期間の間に 解消しないことを検出した場合に、当該負荷制御情報より指定される一の負荷制御 処理より優先順位が低い他の負荷制御処理を実行する。これにより、負荷制御処理 部 181は、 1種類の負荷制御処理のみではボトルネックが解消されない場合におい ても、他の負荷制御処理を更に行うことによってより効果的にボトルネックを解消する ことができる。
[0045] 本実施形態に係る負荷制御処理部 181は、以下に示す負荷制御処理を行う。
(1)負荷制御処理 1
負荷制御処理部 181は、処理時間が許容範囲内でないと判断されたアプリケーシ ヨンプログラム 134より優先度が低いグループのアプリケーションプログラム 134を実 行する多重度を低下させる。より具体的には、負荷制御処理部 181は、処理時間が 許容範囲内でな 、と判断されたアプリケーションプログラム 134より低 、優先度の複 数のグループ識別子を、ボトルネック特定部 170から負荷制御情報取得部 179を介 して取得する。そして、負荷制御処理部 181は、取得した複数のグループ識別子を 指定して、当該アプリケーションプログラム 134より優先度が低い他のアプリケーショ ンプログラム 134の多重度を低下させるようにサーバ内負荷制御部 144に指示する。 この指示を受けてサーバ内負荷制御部 144は、多重度制御部 132が他のアプリケー シヨンプログラム 134を並行して動作させる数の最大値を低下させることにより、当該 他のアプリケーションプログラム 134を実行する多重度を低下させる。
DBS150にボトルネックがあると特定された場合において負荷制御処理 1を実行す る場合、負荷制御処理部 181は、情報システム 10が有する複数の WAS 120のそれ ぞれについて上記の負荷制御処理 1を実行する。これにより負荷制御処理部 181は 、全ての WAS 120がトランザクションを受け入れる多重度を低減させて情報システム 10におけるトランザクションの総処理量を低減させることができ、 DB152のアクセス 量を低減させることができる。
[0046] (2)負荷制御処理 2
負荷制御処理部 181は、処理時間が許容範囲内でないと判断されたアプリケーシ ヨンプログラム 134より優先度が低いグループのアプリケーションプログラム 134の要 求に基づき DB152をアクセスする処理の優先度を更に低下させる。より具体的には 、負荷制御処理部 181は、処理時間が許容範囲内でないと判断されたアプリケーシ ヨンプログラム 134より低 、優先度の複数のグループ識別子を、ボトルネック特定部 1 70から負荷制御情報取得部 179を介して取得する。そして、負荷制御処理部 181は 、取得した複数のグループ識別子を指定して、当該アプリケーションプログラム 134よ り優先度が低い他のアプリケーションプログラム 134の要求に基づき DB152をァクセ スする処理の優先度を低下させるようにサーバ内負荷制御部 158に指示する。この 指示を受けてサーバ内負荷制御部 158は、対応する DB処理要求 IZF部 153のプ ロセス実行優先度を低下させる。
[0047] (3)負荷制御処理 3
ボトルネック特定部により、ボトルネックが存在するサーバにおけるボトルネックとな つている資源の処理負荷を高くしているアプリケーションプログラム 134がシステム資 源高負荷イベントにより特定できている場合、負荷制御処理部 181は、当該アプリケ ーシヨンプログラム 134のグループを実行する多重度を低下させる。より具体的には、 負荷制御処理部 181は、ボトルネックの原因となるアプリケーションプログラム 134の グループ識別子を、ボトルネック特定部 170から負荷制御情報取得部 179を介して 取得する。そして、負荷制御処理部 181は、取得したグループ識別子を指定して、当 該アプリケーションプログラム 134の多重度を低下させるようにサーバ内負荷制御部 144に指示する。この指示を受けてサーバ内負荷制御部 144は、多重度制御部 132 がアプリケーションプログラム 134を並行して動作させる数の最大値を低下させること により、当該他のアプリケーションプログラム 134を実行する多重度を低下させる。
DBS 150にボトルネックがあると特定された場合において負荷制御処理 3を実行す る場合、負荷制御処理部 181は、情報システム 10が有する複数の WAS 120のそれ ぞれについて上記の負荷制御処理 3を実行する。これにより負荷制御処理部 181は 、全ての WAS 120がトランザクションを受け入れる多重度を低減させて情報システム 10におけるトランザクションの総処理量を低減させることができ、 DB152のアクセス 量を低減させることができる。
(4)負荷制御処理 4
負荷制御処理部 181は、ボトルネック特定部 170により、ボトルネックが存在するサ ーバにおけるボトルネックとなっている資源の処理負荷を高くしているアプリケーショ ンプログラム 134がシステム資源高負荷イベントにより特定できて!/、る場合、当該ァプ リケーシヨンプログラム 134を実行するグループのアプリケーションプログラム 134の 要求に基づき DB152をアクセスする処理の優先度を低下させる。より具体的には、 負荷制御処理部 181は、ボトルネックの原因となるアプリケーションプログラム 134の グループ識別子を、ボトルネック特定部 170から負荷制御情報取得部 179を介して 取得する。そして、負荷制御処理部 181は、取得したグループ識別子を指定して、当 該アプリケーションプログラム 134のグループのアプリケーションプログラム 134の要 求に基づき DB152をアクセスする処理の優先度を低下させるようにサーバ内負荷制 御部 158に指示する。この指示を受けてサーバ内負荷制御部 158は、対応する DB 処理要求 IZF部のプロセス実行優先度を低下させる。 [0049] (5)負荷制御処理 5
負荷制御処理部 181は、処理時間が許容範囲内でないと判断されたアプリケーシ ヨンプログラム 134を実行する多重度を低下させる。より具体的には、負荷制御処理 部 181は、処理時間が許容範囲内でな!、と判断されたアプリケーションプログラム 13 4のグループ識別子を、ボトルネック特定部 170から負荷制御情報取得部 179を介し て取得する。そして、負荷制御処理部 181は、当該アプリケーションプログラム 134の グループ識別子を指定して、当該アプリケーションプログラム 134の多重度を低下さ せるようにサーバ内負荷制御部 144に指示する。この指示を受けてサーバ内負荷制 御部 144は、多重度制御部 132が当該アプリケーションプログラム 134を並行して動 作させる数の最大値を低下させることにより、当該アプリケーションプログラム 134を 実行する多重度を低下させる。
DBS 150にボトルネックがあると特定された場合において負荷制御処理 3を実行す る場合、負荷制御処理部 181は、負荷制御処理 1の場合と同様にして、情報システ ム 10が有する複数の WAS 120のそれぞれについて上記の負荷制御処理 3を実行 する。
[0050] (6)負荷制御処理 6
負荷制御処理部 181は、処理時間が許容範囲内でないと判断されたアプリケーシ ヨンプログラム 134の要求に基づき DB 152をアクセスする処理の優先度を低下させ る。より具体的には、負荷制御処理部 181は、処理時間が許容範囲内でないと判断 されたアプリケーションプログラム 134のグループ識別子を、ボトルネック特定部 170 力も負荷制御情報取得部 179を介して取得する。そして、負荷制御処理部 181は、 当該アプリケーションプログラム 134のグループ識別子を指定して、当該アプリケー シヨンプログラム 134の要求に基づき DB152をアクセスする処理の優先度を低下さ せるようにサーバ内負荷制御部 158に指示する。この指示を受けてサーバ内負荷制 御部 158は、対応する DB処理要求 IZF部 153のプロセス実行優先度を低下させる
[0051] 本実施形態に係る負荷制御情報格納部 177は、 DBS150のボトルネックに関して 、複数のデータベースサーバ資源のいずれの使用量が許容範囲外となったかに応 じて、図 4に示した負荷制御情報を格納する。
より具体的には、プロセッサの使用量が許容範囲外となった場合に対応して、負荷 制御情報格納部 177は、負荷制御処理 3、 1、 4、 2、 5及び 6をこの優先順位で行う べきことを示す負荷制御情報を格納する。また、データベースを格納しているディスク の使用量が許容範囲外となった場合に対応して、負荷制御情報格納部 177は、負 荷制御処理 2、 1、 6、及び 5をこの優先順位で行うべきことを示す負荷制御情報を格 納する。また、アクセスログを格納するディスクを格納するディスクの使用量が許容範 囲外となった場合に対応して、負荷制御情報格納部 177は、負荷制御処理 1、 2、 5 、及び 6をこの優先順位で行うべきことを示す負荷制御情報を格納する。また、デー タベースおよびアクセスログ以外を格納するディスク、メモリ、又はデータベースバッ ファの使用量が許容範囲外となった場合に対応して、負荷制御情報格納部 177は、 負荷制御処理 1及び 5をこの優先順位で行うべきことを示す負荷制御情報を格納す る。
これらの負荷制御情報を用いて、負荷制御部 175は、例えば、 DBS150にボトル ネックがあると特定され、さらにプロセッサの使用量が許容範囲の使用量を超えてお りプロセッサがボトルネックであると特定された場合において、 DBS150のプロセッサ 資源の使用量が許容範囲内でないアプリケーションプログラム 134が特定できている 場合は、負荷制御処理 3を実行し、当該アプリケーションプログラム 134及び当該ァ プリケーシヨンプログラム 134と同一のグループに属するアプリケーションプログラム 1 34を WAS 120により実行する多重度を低下させる。そして、この負荷制御処理によ つても DBS150のボトルネックが解消しない場合に、負荷制御部 175は、前記負荷 制御処理 1を実行することにより、更に当該アプリケーションプログラム 134より優先度 が低いグループに属する他のアプリケーションプログラム 134を WAS120により実行 する多重度を低下させることができる。これにより負荷制御部 175は、まず、プロセッ サを大量に消費しているアプリケーションプログラム 134の処理量を減らして DBS15 0の負荷低減を試み、これによつて解決しない場合に当該アプリケーションプログラム 134より優先度が低いアプリケーションプログラム 134の処理量を減らしていくことに より、段階的に DBS150の負荷を減らすことができる。 [0053] そしてこれらの負荷制御処理によってもボトルネックが解消しない場合には、負荷 制御部 175は、負荷制御処理 4、 2を更に順に実行することにより、 DBS150上で処 理して 、る要求への他の処理からの影響を軽減し、サービスレベルの改善を試みる 。当初処理時間が許容範囲内でないと判定されたアプリケーションプログラム 134自 身の問題、又は、より優先度の高いアプリケーションプログラム 134の問題でなけれ ば、ここまでの負荷制御でボトルネックが解消されると考えられる。しかし、それでもレ スポンスが改善しない場合には、負荷制御処理 5により、サービスレベルが低下した アプリケーションプログラム 134自体を WAS120により実行する多重度を減らして、 D BS150の負荷をさらに減らすことができる。また、負荷制御処理 5によってもレスボン スが改善しない場合には、負荷制御部 175は、負荷制御処理 6を実行することにより 、アプリケーションプログラム 134の要求に基づき DB152をアクセスする処理の優先 度を低下させ、 DBS 150上で処理して 、る要求が他の処理へ与える影響を軽減でき る。
[0054] 一方、負荷制御部 175は、例えば DBS150にボトルネックがあると特定され、さらに データベースを格納するディスクがボトルネックであると特定された場合にぉ 、て、 D
BS 150の当該ディスク資源の使用量が許容範囲内でな 、アプリケーションプロダラ ム 134が特定できている場合は、負荷制御処理 2を実行し、当該アプリケーションプ ログラム 134より優先度が低いグループに属するアプリケーションプログラム 134から の要求に基づき DB152をアクセスする処理の優先度を低下させる。ここでデータべ ースを格納するディスクが複数存在する場合、負荷制御部 175は、負荷制御処理 2 において、当該アプリケーションプログラム 134より優先度が低いグループに属し、当 該アプリケーションプログラム 134が使用するデータベースが格納されたディスクを使 用するアプリケーションプログラム 134からの要求に基づき DB152をアクセスする処 理の優先度を低下させることが望ましい。そして、負荷制御処理 2によっても DBS15 0のボトルネックが解消しない場合に、負荷制御部 175は、負荷制御処理 1、 6、及び 5を DBS 150のボトルネックが解消されるまで順次実行する。
[0055] また、本実施形態に係る負荷制御情報格納部 177は、 WAS 120のボトルネックに 関して、複数のアプリケーションサーバ資源の 、ずれの使用量が許容範囲外となつ たかに応じて、図 4に示した負荷制御情報を格納する。
より具体的には、プロセッサが許容範囲外となった場合に対応して、負荷制御情報 格納部 177は、負荷制御処理 3、 1、及び 5をこの優先順位で行うべきことを示す負荷 制御情報を格納する。また、メモリ、ディスク、 JVMメモリ、及び DBコネクションの使用 量の使用量が許容範囲外となった場合に対応して、負荷制御情報格納部 177は、 負荷制御処理 1、及び 5を行うべきことを示す負荷制御情報を格納する。
[0056] これらの負荷制御情報を用いて、負荷制御部 175は、例えば WAS120にボトルネ ックがあると特定され、さらにプロセッサの使用量が許容範囲の使用量を超えており プロセッサがボトルネックであると特定された場合にぉ 、て、 WAS120のプロセッサ 資源の使用量が許容範囲内でないアプリケーションプログラム 134が特定できている 場合は、負荷制御処理 3を実行し、当該のアプリケーションプログラム 134及び当該 アプリケーションプログラム 134と同一のグループに属するアプリケーションプログラム 134を WAS 120により実行する多重度を低下させる。そして、この負荷制御処理に よっても WAS 120のボトルネックが解消しない場合に、負荷制御部 175は、負荷制 御処理 1を実行し、更に当該アプリケーションプログラム 134より優先度が低 ヽグルー プに属する他のアプリケーションプログラム 134を WAS 120により実行する多重度を 低下させることができる。
[0057] 当初処理時間が許容範囲内でな 、と判定されたアプリケーションプログラム 134自 身の問題、又は、より優先度の高いアプリケーションプログラム 134の問題でなけれ ば、ここまでの負荷制御でボトルネックが解消されると考えられる。しかし、それでもレ スポンスが改善しない場合には、負荷制御部 175は、負荷制御処理 5を実行すること により、サービスレベルが低下したアプリケーションプログラム 134自体を WAS 120 が実行する多重度を減らして、 DBS150の負荷をさらに減らすことができる。
[0058] また、本実施形態に係る負荷制御情報格納部 177は、トランザクションの内容ゃァ プリケーシヨンプログラム 134の処理内容に関連する資源のボトルネックに関して、 W AS 120のプロセッサの使用量が許容範囲外になつた場合に、負荷制御処理 5を行う べきことを示す負荷制御情報を格納する。また、負荷制御情報格納部 177は、トラン ザクシヨンの内容やアプリケーションプログラム 134の処理内容に関連する資源のボト ルネックに関して、 DBS 150のプロセッサ又はディスクの使用量が許容範囲外になつ た場合に、負荷制御処理 5及び 6をこの優先順位で行うべきことを示す負荷制御情 報を格納する。
[0059] 図 5は、本発明の実施形態に係るコンピュータ 900のハードウェア構成の一例を示 す。本実施形態に係るコンピュータ 900は、負荷制御プログラムを実行することにより 負荷制御サーバ 160として機能する。コンピュータ 900は、ホスト'コントローラ 1082 により相互に接続される CPU1000、 RAM1020、グラフィック 'コントローラ 1075、 及び表示装置 1080を有する CPU周辺部と、入出力コントローラ 1084によりホスト · コントローラ 1082に接続される通信インターフェイス 1030、記憶装置 1040、及び C D-ROMドライブ 1060を有する入出力部と、入出力コントローラ 1084に接続される ROM1010、フレキシブルディスク 'ドライブ 1050、及び入出力チップ 1070を有する レガシー入出力部とを備える。
[0060] ホスト'コントローラ 1082は、 RAM1020と、高い転送レートで RAM1020をァクセ スする CPU1000及びグラフィック 'コントローラ 1075とを接続する。 CPU1000は、 R OM1010及び RAM 1020に格納されたプログラムに基づ 、て動作し、各部の制御 を行う。グラフィック 'コントローラ 1075は、 CPU1000等が RAM1020内に設けたフ レーム ·バッファ上に生成する画像データを取得し、表示装置 1080上に表示させる
。これに代えて、グラフィック 'コントローラ 1075は、 CPU1000等が生成する画像デ ータを格納するフレーム ·ノ ッファを、内部に含んでもょ ヽ。
[0061] 入出力コントローラ 1084は、ホスト'コントローラ 1082と、比較的高速な入出力装置 である通信インターフェイス 1030、記憶装置 1040、 CD— ROMドライブ 1060を接続 する。通信インターフェイス 1030は、ネットワークを介して他の装置と通信する。記憶 装置 1040は、コンピュータ 900内の CPU1000が使用するプログラム及びデータを 格納する。 CD— ROMドライブ 1060は、 CD— ROM1095からプログラム又はデータ を読み取り、 RAM 1020を介して記憶装置 1040に提供する。
[0062] また、入出力コントローラ 1084には、 ROM1010と、フレキシブルディスク 'ドライブ 1050や入出力チップ 1070等の比較的低速な入出力装置とが接続される。 ROM1 010は、コンピュータ 900が起動時に実行するブート'プログラムや、コンピュータ 90 0のハードウェアに依存するプログラム等を格納する。フレキシブルディスク ·ドライブ 1050は、フレキシブルディスク 1090からプログラム又はデータを読み取り、 RAM10 20を介して記憶装置 1040に提供する。入出力チップ 1070は、フレキシブルデイス ク 'ドライブ 1050や、例えばパラレル 'ポート、シリアル 'ポート、キーボード 'ポート、マ ウス'ポート等を介して各種の入出力装置を接続する。
[0063] RAM1020を介して記憶装置 1040に提供されるプログラムは、フレキシブルデイス ク 1090、 CD— ROM1095、又は ICカード等の記録媒体に格納されて利用者によつ て提供される。 WAS 120を HTTPサーバ部 125、 WEBアプリケーションサーバ部 1 30、処理時間取得部 140、処理負荷取得部 142、及びサーバ内負荷制御部 144と して機能させるプログラムは、記録媒体から読み出され、通信インターフェイス 1030 を介して WAS120にインストールされ、 WAS120として用いられるサーバコンビユー タにおいて実行される。また、 DBS 150を DB152、 DB処理要求 iZF部 153、処理 負荷取得部 156及びサーバ内負荷制御部 158として機能させるプログラムは、記録 媒体から読み出され、通信インターフェイス 1030及び負荷制御サーバ 160を介して DBS150にインストールされ、 DBS150として用いられるサーバコンピュータにおい て実行される。また、コンピュータ 900を負荷制御サーバ 160として機能させる負荷 制御プログラムは、記録媒体から読み出され、 RAM1020を介してコンピュータ 900 内の記憶装置 1040にインストールされ、 CPU1000において実行される。
[0064] WAS120にインストールされるプログラムは、 HTTPサーバプログラムと、多重度制 御モジュール及び DBアクセス制御モジュールを有する WEBアプリケーションサーバ プログラムと、処理時間取得モジュールと、処理負荷取得モジュールと、サーバ内負 荷制御モジュールとを備える。これらのプログラム及びモジュールは、 WAS 120を、 HTTPサーバ部 125と、多重度制御部 132及び DBアクセス制御部 136を有する W EBアプリケーションサーバ部 130と、処理時間取得部 140と、処理負荷取得部 142 と、サーバ内負荷制御部 144としてそれぞれ機能させる。
[0065] DBS 150にインストールされるプログラムは、 DBエンジンプログラムと、処理負荷取 得モジュールと、サーバ内負荷制御モジュールとを備える。これらのプログラム及び モジュールは、 DBS 150を、 DBエンジン 154と、処理負荷取得部 156と、サーバ内 負荷制御部 158としてそれぞれ機能させる。
[0066] コンピュータ 900にインストールされ、コンピュータ 900を負荷制御サーバ 160として 機能させる負荷制御プログラムは、処理時間監視モジュールと、ボトルネック特定モ ジュールと、処理負荷監視モジュールと、負荷制御情報取得モジュール及び負荷制 御処理モジュールを有する負荷制御モジュールとを備える。これらのプログラム及び モジュールは、コンピュータ 900を、処理時間監視部 165と、ボトルネック特定部 170 と、処理負荷監視部 190と、負荷制御情報取得部 179及び負荷制御処理部 181を 有する負荷制御部 175としてそれぞれ機能させる。
[0067] 以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。
記憶媒体としては、フレキシブルディスク 1090、 CD— ROM1095の他に、 DVDや P D等の光学記録媒体、 MD等の光磁気記録媒体、テープ媒体、 ICカード等の半導 体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続 されたサーバシステムに設けたノ、ードディスク又は RAM等の記憶装置を記録媒体と して使用し、ネットワークを介してプログラムをコンピュータ 900に提供し、コンピュータ 900から負荷制御サーバ 160を介して WAS 120又は WEBアプリケーションサーバ 部 130へ提供してもよい。
[0068] 以上に示した情報システム 10によれば、負荷制御情報格納部 177は、ボトルネック の存在箇所及び高負荷と判定された資源に対応して、適切な負荷制御処理を格納 することができる。そして負荷制御部 175は、負荷制御情報格納部 177に格納された 負荷制御情報に基づいて、 WAS 120上で実行されるアプリケーションプログラム 13 4の多重度を変更したり、 DB152をアクセスする処理の優先度を変更したりする等の 負荷制御処理を適切に行うことができる。
[0069] 更に情報システム 10によれば、複数のアプリケーションプログラム 134のそれぞれ の処理時間に応じて、複数のアプリケーションプログラム 134のそれぞれが実行され る多重度及び DBS150におけるアクセスの優先順位を適切に変更することができる 。これにより、多種多様な業務システム等を併せて情報システム 10で稼動させる場合 においても、あるアプリケーションプログラム 134が異常にシステム資源を消費した場 合の影響で、他のアプリケーションプログラム 134のサービスレベルが低下しても、自 動的に検知し、短時間で自動的に復旧させることができ、それぞれのアプリケーショ ンプログラム 134を別個の情報システム 10で実行した場合と同等の頑強さを有する 情報システム 10を実現することができる。
[0070] 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実 施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または 改良を加えることが可能であることが当業者に明らかである。その様な変更または改 良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から 明らかである。
図面の簡単な説明
[0071] [図 1]本発明の実施形態に係る情報システム 10の構成を示す。
[図 2]本発明の実施形態に係る情報システム 10のボトルネック特定フローを示す。
[図 3]本発明の実施形態に係る情報システム 10の高負荷判定方法を示す。
[図 4]本発明の実施形態に係る負荷制御情報格納部 177に格納される負荷制御情 報の一例を示す。
[図 5]本発明の実施形態に係るコンピュータ 900のハードウェア構成の一例を示す。

Claims

請求の範囲
[1] 端末力 受信したトランザクションに応じてアプリケーションプログラムをそれぞれ実 行する複数のアプリケーションサーバと、前記複数のアプリケーションサーバのそれ ぞれの要求に基づきデータベースをアクセスするデータベースサーバとを備える情 報システムであって、
前記複数のアプリケーションサーバのそれぞれについて、当該アプリケーションサ ーバが受信した前記トランザクションを前記アプリケーションプログラムが処理する処 理時間を監視する処理時間監視部と、
前記複数のアプリケーションサーバのそれぞれについての前記処理時間の監視結 果に基づいて、前記処理時間が予め定められた許容範囲内でない前記アプリケー シヨンサーバにボトルネックがあると特定するボトルネック特定部と、
ボトルネックがあると特定された前記アプリケーションサーバ上で前記アプリケーショ ンプログラムを実行する多重度を低下させる負荷制御部と
を備える†青報システム。
[2] 前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれについ ての前記処理時間の監視結果に基づ 、て、前記アプリケーションサーバ数未満のし きい値以下の数の前記アプリケーションサーバについて前記処理時間が予め定めら れた許容範囲内でな 、ことを条件として、当該アプリケーションサーバにボトルネック 力 Sあると特定する手段と、
前記しきい値を超える数の前記アプリケーションサーバについて前記処理時間が 予め定められた許容範囲内でない場合に、前記データベースサーバにボトルネック 力 Sあると特定する手段を備え、
前記負荷制御部は、当該アプリケーションサーバにボトルネックがあると特定された 場合に、当該アプリケーションサーバ上で前記アプリケーションプログラムを実行する 多重度を低下させ、
前記データベースサーバにボトルネックがあると特定された場合に、前記複数のァ プリケーシヨンサーバのそれぞれについて前記アプリケーションプログラムを実行する 多重度を低下させる 請求項 1記載の情報システム。
[3] 前記複数のアプリケーションサーバのそれぞれは、当該アプリケーションサーバ上 で実行されるべき優先度が設定された複数種類の前記アプリケーションプログラムの うち、前記端末力も受信した前記トランザクションの種類に対応する前記アプリケーシ ヨンプログラムを実行し、
前記処理時間監視部は、前記複数のアプリケーションサーバのそれぞれにつ!/、て 、前記アプリケーションプログラム毎の前記トランザクションの処理時間を監視し、 前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれにつ!/ヽ ての前記アプリケーションプログラム毎の前記処理時間の監視結果に基づ 、て、一 の前記アプリケーションプログラムの前記処理時間が予め定められた許容範囲内で ないことを条件として、当該アプリケーションサーバにボトルネックがあると特定し、 前記負荷制御部は、ボトルネックがあると特定された前記アプリケーションサーバ上 で前記一のアプリケーションプログラムより優先度が低い前記アプリケーションプログ ラムを実行する多重度を低下させる
請求項 1記載の情報システム。
[4] 前記複数のアプリケーションサーバのそれぞれは、当該アプリケーションサーバ上 で実行されるべき優先度が設定された複数種類の前記アプリケーションプログラムの うち、前記端末力も受信した前記トランザクションの種類に対応する前記アプリケーシ ヨンプログラムを実行し、
前記処理時間監視部は、前記複数のアプリケーションサーバのそれぞれにつ!/、て 、前記アプリケーションプログラム毎の前記トランザクションの処理時間を監視し、 前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれにつ!/ヽ ての前記アプリケーションプログラム毎の前記処理時間の監視結果に基づ 、て、予 め定められたしきい値を超える数の前記アプリケーションサーバについて、一の前記 アプリケーションプログラムの前記処理時間が予め定められた許容範囲内でない場 合に、前記データベースサーバにボトルネックがあると特定し、
前記負荷制御部は、ボトルネックがあると特定された前記データベースサーバにお ける、前記一のアプリケーションプログラムより優先度が低い前記アプリケーションプ ログラムの要求に基づき前記データベースをアクセスする処理の優先度を低下させ る
請求項 1記載の情報システム。
[5] 前記複数のアプリケーションサーバのそれぞれは、当該アプリケーションサーバ上 で実行されるべき優先度が設定された複数種類の前記アプリケーションプログラムの うち、前記端末力も受信した前記トランザクションの種類に対応する前記アプリケーシ ヨンプログラムを実行し、
前記処理時間監視部は、前記複数のアプリケーションサーバのそれぞれにつ!/、て 、前記アプリケーションプログラム毎の前記トランザクションの処理時間を監視し、 前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれにつ!/ヽ ての前記アプリケーションプログラム毎の前記処理時間の監視結果に基づ 、て、予 め定められたしきい値を超える数の前記アプリケーションサーバについて、一の前記 アプリケーションプログラムの前記処理時間が予め定められた許容範囲内でない場 合に、前記データベースサーバにボトルネックがあると特定し、
前記負荷制御部は、ボトルネックがあると特定された前記データベースサーバにお ける、前記一のアプリケーションプログラムからの要求に基づき前記データベースを アクセスする処理の優先度を低下させる
請求項 1記載の情報システム。
[6] 前記複数のアプリケーションサーバのそれぞれについて、当該アプリケーションサ ーバが有する、前記アプリケーションプログラムにより使用される資源であるアプリケ ーシヨンサーバ資源の使用量を監視する処理負荷監視部を更に備え、
前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれにつ!/ヽ ての前記処理時間の監視結果に基づ 、て、前記アプリケーションサーバ数未満のし きい値以下の数の前記アプリケーションサーバについて前記処理時間が予め定めら れた許容範囲内でな 、場合に、当該アプリケーションサーバにボトルネックがあると 特定し、
前記負荷制御部は、ボトルネックがあると特定された前記アプリケーションサーバに おける前記アプリケーションサーバ資源の使用量が予め定められた許容範囲内でな 、ことを条件として、ボトルネックがあると特定された前記アプリケーションサーバ上で 前記アプリケーションプログラムを実行する多重度を低下させる
請求項 1記載の情報システム。
[7] 前記処理負荷監視部は、前記データベースサーバが有する、前記アプリケーション プログラムが前記データベースをアクセスする場合に使用される資源であるデータべ ースサーバ資源の使用量を更に監視し、
前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれにつ!/ヽ ての前記処理時間の監視結果に基づ 、て、前記しき 、値を超える数の前記アプリケ ーシヨンサーバについて前記処理時間が予め定められた許容範囲内でないことを条 件として、前記データベースサーバにボトルネックがあると特定し、
前記負荷制御部は、ボトルネックがあると特定された前記データベースサーバにお ける前記データベースサーバ資源の使用量が予め定められた許容範囲内でな 、場 合に、前記複数のアプリケーションサーバのそれぞれについて当該アプリケーション サーバ上で前記アプリケーションプログラムを実行する多重度を低下させる
請求項 6記載の情報システム。
[8] 前記複数のアプリケーションサーバのそれぞれについて、当該アプリケーションサ ーバが有する、前記アプリケーションプログラムにより使用される資源である複数のァ プリケーシヨンサーバ資源の使用量と、前記データベースサーバが有する、前記アブ リケーシヨンプログラムが前記データベースをアクセスする場合に使用される資源で ある複数のデータベースサーバ資源の使用量とを監視する処理負荷監視部を更に 備え、
前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれにつ!/ヽ ての前記処理時間の監視結果に基づ 、て、前記複数のアプリケーションサーバ及び 前記データベースサーバのうち少なくとも 1つの前記アプリケーションサーバ又は前 記データベースサーバにボトルネックがあると特定し、
前記負荷制御部は、
前記アプリケーションサーバにおける前記複数のアプリケーションサーバ資源、及 び、前記データベースサーバにおける前記複数のデータベースサーバ資源のそれ ぞれに対応して、当該資源を有するサーバにボトルネックがあると特定され、かつ、 当該資源の使用量が予め定められた許容範囲内でない場合に前記負荷制御部が 行うべき負荷制御処理を指定する負荷制御情報を格納する負荷制御情報格納部と ボトルネックがあると特定されたサーバが有する資源の使用量が予め定められた許 容範囲内でない場合に、当該資源がボトルネックであると特定し、前記アプリケーショ ンサーバ資源がボトルネックであると特定された場合に、当該資源に対応して前記負 荷制御情報格納部に格納された前記負荷制御情報を取得し、前記データベースサ ーバ資源がボトルネックであると特定された場合に、当該資源に対応して前記負荷 制御情報格納部に格納された前記負荷制御情報を取得する負荷制御情報取得部と ボトルネックがあると特定されたサーバのボトルネックを解消するべぐ前記負荷制 御情報により指定される前記負荷制御処理を実行する負荷制御処理部と
を有する
請求項 1記載の情報システム。
[9] 前記複数のアプリケーションサーバのそれぞれは、複数種類の前記アプリケーショ ンプログラムのうち、前記端末力も受信した前記トランザクションの種類に対応する前 記アプリケーションプログラムを実行し、
前記処理時間監視部は、前記複数のアプリケーションサーバのそれぞれにつ!/、て 、前記アプリケーションプログラム毎の前記トランザクションの処理時間を監視し、 前記処理負荷監視部は、前記データベースサーバについて、当該データベースサ ーバが有する前記データベースサーバ資源であるプロセッサ及びデータベースの格 納されて ヽるディスクの使用量を監視し、
前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれにつ!/ヽ ての前記アプリケーションプログラム毎の前記処理時間の監視結果に基づ 、て、前 記しきい値を超える数の前記アプリケーションサーバについて、一の前記アプリケー シヨンプログラムの前記処理時間が予め定められた許容範囲内でないことを条件とし て、前記データベースサーバにボトルネックがあると特定し、 前記負荷制御情報格納部は、前記データベースサーバにおける前記アプリケーシ ヨン資源であるプロセッサに対応する第 1の前記負荷制御情報と、データベースの格 納されているディスクに対応する第 2の前記負荷制御情報とを格納し、
前記負荷制御情報取得部は、ボトルネックがあると特定された前記データベースサ ーバが有するプロセッサの使用量が予め定められた使用量を超える場合に前記第 1 の負荷制御情報を取得し、ボトルネックがあると特定された前記データベースサーバ が有するデータベースの格納されて 、るディスクの使用量が予め定められた使用量 を超える場合に前記第 2の負荷制御情報を取得し、
前記負荷制御処理部は、前記負荷制御情報取得部から前記第 1の負荷制御情報 が取得された場合に、前記複数のアプリケーションサーバのそれぞれにつ 、て前記 一のアプリケーションプログラムを実行する多重度を低下させ、前記負荷制御情報取 得部から前記第 2の負荷制御情報が取得された場合に、前記データベースサーバ にお 、て当該制御情報で指定された当該ディスクを使用するアプリケーションプログ ラムのグループの中で、前記一のアプリケーションプログラムより優先度が低い前記 アプリケーションプログラムからの要求に基づき前記データベースをアクセスする処 理の優先度を低下させる
請求項 8記載の情報システム。
[10] 前記負荷制御情報格納部に格納された一の前記負荷制御情報は、複数の前記負 荷制御処理と前記複数の負荷制御処理の優先順位とを指定する情報であり、 前記負荷制御処理部は、前記一の負荷制御情報により指定された一の前記負荷 制御処理を実行した後、ボトルネックがあると特定されたサーバのボトルネックが予め 設定された設定期間の間に解消しないことを検出した場合に、前記一の負荷制御情 報より指定される前記一の負荷制御処理より優先順位が低い他の前記負荷制御処 理を実行する
請求項 8記載の情報システム。
[11] 前記複数のアプリケーションサーバのそれぞれは、複数種類の前記アプリケーショ ンプログラムのうち、前記端末力も受信した前記トランザクションの種類に対応する前 記アプリケーションプログラムを実行し、 前記処理時間監視部は、前記複数のアプリケーションサーバのそれぞれにつ!/、て 、前記アプリケーションプログラム毎の前記トランザクションの処理時間を監視し、 前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれにつ!/ヽ ての前記アプリケーションプログラム毎の前記処理時間の監視結果に基づ 、て、前 記アプリケーションサーバ数未満のしきい値以下の前記アプリケーションサーバにつ いて一の前記アプリケーションプログラムの前記処理時間が予め定められた許容範 囲内でない場合に、当該アプリケーションサーバにボトルネックがあると特定し、 前記負荷制御部は、ボトルネックがあると特定された前記アプリケーションサーバ上 で前記一のアプリケーションプログラムより低い優先度に設定された前記アプリケー シヨンプログラムを実行する多重度を低下させ、当該アプリケーションサーバのボトル ネックが前記設定期間の間に解消しないことを検出した場合に、当該アプリケーショ ンサーバ上で前記一のアプリケーションプログラムを実行する多重度を更に低下させ る
請求項 8記載の情報システム。
[12] 端末力も受信したトランザクションに応じてアプリケーションプログラムをそれぞれ実 行する複数のアプリケーションサーバと、前記複数のアプリケーションサーバのそれ ぞれの要求に基づきデータベースをアクセスするデータベースサーバとを備える情 報システムをコンピュータにより制御する負荷制御方法であって、
前記複数のアプリケーションサーバのそれぞれについて、当該アプリケーションサ ーバが受信した前記トランザクションを前記アプリケーションプログラムが処理する処 理時間をコンピュータにより監視するステップと、
前記複数のアプリケーションサーバのそれぞれについての前記処理時間の監視結 果に基づいて、前記処理時間が予め定められた許容範囲内でない前記アプリケー シヨンサーバにボトルネックがあるとコンピュータにより特定するステップと、
ボトルネックがあると特定された前記アプリケーションサーバ上で前記アプリケーショ ンプログラムを実行する多重度をコンピュータにより低下させるステップと
を含む方法。
[13] 端末力も受信したトランザクションに応じてアプリケーションプログラムをそれぞれ実 行する複数のアプリケーションサーバと、前記複数のアプリケーションサーバのそれ ぞれの要求に基づきデータベースをアクセスするデータベースサーバとを備える情 報システムをコンピュータにより制御させる負荷制御プログラムであって、
前記コンピュータを、
前記複数のアプリケーションサーバのそれぞれについて、当該アプリケーションサ ーバが受信した前記トランザクションを前記アプリケーションプログラムが処理する処 理時間を監視する処理時間監視部と、
前記複数のアプリケーションサーバのそれぞれについての前記処理時間の監視結 果に基づいて、前記処理時間が予め定められた許容範囲内でない前記アプリケー シヨンサーバにボトルネックがあると特定するボトルネック特定部と、
ボトルネックがあると特定された前記アプリケーションサーバ上で前記アプリケーショ ンプログラムを実行する多重度を低下させる負荷制御部と
して機能させる負荷制御プログラム。
[14] 請求項 13に記載の負荷制御プログラムを記録した記録媒体。
PCT/JP2004/015902 2003-10-29 2004-10-27 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体 WO2005041038A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
BRPI0416101-7A BRPI0416101A (pt) 2003-10-29 2004-10-27 sistema de informação, método de controle de carga, programa de controle de carga e mìdia de gravação
US10/577,174 US7480719B2 (en) 2003-10-29 2004-10-27 Information system, load control method, load control program and recording medium
JP2005515011A JP4205103B2 (ja) 2003-10-29 2004-10-27 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体
MXPA06004071A MXPA06004071A (es) 2003-10-29 2004-10-27 Sistema de informacion, metodo de control de carga, programa de control de carga y medio de grabacion.
EP04793014A EP1679595A4 (en) 2003-10-29 2004-10-27 INFORMATION SYSTEM, LOAD CONTROL METHOD AND PROGRAM, AND RECORDING MEDIUM
CA2541576A CA2541576C (en) 2003-10-29 2004-10-27 Information system, load control method, load control program and recor ding medium
IL174874A IL174874A0 (en) 2003-10-29 2006-04-09 Information system, load control method, load control program, and recording medium
US12/351,277 US8386611B2 (en) 2003-10-29 2009-01-09 Information system, load control method, load control program and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003-368773 2003-10-29
JP2003368773 2003-10-29

Publications (1)

Publication Number Publication Date
WO2005041038A1 true WO2005041038A1 (ja) 2005-05-06

Family

ID=34510356

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2004/015902 WO2005041038A1 (ja) 2003-10-29 2004-10-27 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体

Country Status (10)

Country Link
US (2) US7480719B2 (ja)
EP (1) EP1679595A4 (ja)
JP (1) JP4205103B2 (ja)
KR (1) KR100866857B1 (ja)
CN (1) CN100465900C (ja)
BR (1) BRPI0416101A (ja)
CA (1) CA2541576C (ja)
IL (1) IL174874A0 (ja)
MX (1) MXPA06004071A (ja)
WO (1) WO2005041038A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176413A (ja) * 2009-01-29 2010-08-12 Fujitsu Ltd 情報処理装置、情報処理方法及びコンピュータプログラム
JP2011258098A (ja) * 2010-06-11 2011-12-22 Hitachi Ltd 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
JP2015191533A (ja) * 2014-03-28 2015-11-02 沖電気工業株式会社 データベースシステム、データベースサーバ、データベースサーバプログラム、データベースクライアント及びデータベースクライアントプログラム

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2541576C (en) * 2003-10-29 2011-12-20 International Business Machines Corporation Information system, load control method, load control program and recor ding medium
JP2005309703A (ja) * 2004-04-21 2005-11-04 Yokogawa Electric Corp 電子機器システム
JP4117299B2 (ja) * 2005-02-28 2008-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバの多重度の上限値を制御するための方法、管理サーバ、サーバ、およびプログラム
JP2007264921A (ja) * 2006-03-28 2007-10-11 Fujitsu Ltd 性能情報採取プログラム及び装置
US8161475B2 (en) * 2006-09-29 2012-04-17 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
US20080172671A1 (en) * 2007-01-11 2008-07-17 International Business Machines Corporation Method and system for efficient management of resource utilization data in on-demand computing
US20080195447A1 (en) * 2007-02-09 2008-08-14 Eric Bouillet System and method for capacity sizing for computer systems
US9081605B2 (en) * 2007-03-27 2015-07-14 Nec Corporation Conflicting sub-process identification method, apparatus and computer program
US20090031019A1 (en) * 2007-07-27 2009-01-29 Burr Michael J Technique for Graphically Displaying Application Processing Time Distributions in Real-Time
US8135824B2 (en) * 2007-10-01 2012-03-13 Ebay Inc. Method and system to detect a network deficiency
US8627327B2 (en) * 2007-10-24 2014-01-07 International Business Machines Corporation Thread classification suspension
US7930489B2 (en) * 2008-03-28 2011-04-19 Symantec Corporation Techniques for optimizing configuration partitioning
JP5195913B2 (ja) * 2008-07-22 2013-05-15 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
US8972885B2 (en) 2008-08-29 2015-03-03 8X8, Inc. Networked contact center user interface
US10033869B2 (en) 2008-08-29 2018-07-24 8X8, Inc. Methods and systems for information streaming to user interface
US8275116B2 (en) * 2008-08-29 2012-09-25 8X8, Inc. Networked contact center
US8243913B2 (en) 2008-08-29 2012-08-14 8×8, Inc. Limiting contact in a networked contact center environment
US8515833B2 (en) * 2008-08-29 2013-08-20 8X8, Inc. Methods and systems for multilayer provisioning of networked contact centers
US8204206B2 (en) * 2008-08-29 2012-06-19 8X8, Inc. Systems and methods for selection of a communication path
JP5428075B2 (ja) * 2009-04-17 2014-02-26 株式会社日立製作所 性能モニタリングシステム、ボトルネック判定方法及び管理計算機
JP5482052B2 (ja) * 2009-09-24 2014-04-23 富士通株式会社 観測分析装置および観測分析方法
US8640139B2 (en) * 2009-10-29 2014-01-28 Nec Corporation System deployment determination system, system deployment determination method, and program
CN101777009B (zh) * 2009-11-30 2012-12-19 英业达股份有限公司 应用程序的负载控管方法
US8468545B2 (en) 2010-08-18 2013-06-18 8X8, Inc. Interaction management
JP5625634B2 (ja) * 2010-09-01 2014-11-19 富士通株式会社 データ分散プログラム、データ格納プログラム、データ分散装置、データ格納装置、データ分散方法、およびデータ格納方法
EP2615511A1 (de) * 2012-01-12 2013-07-17 Siemens Aktiengesellschaft Verfahren zur synchronen Ausführung von Programmen in einem redundanten Automatisierungssystem
JP2013171347A (ja) * 2012-02-17 2013-09-02 Fujitsu Frontech Ltd 情報処理装置、サーバ検出方法、及びプログラム
US8856887B2 (en) 2012-07-09 2014-10-07 Ping Identity Corporation Methods and apparatus for delegated authentication token retrieval
US9274854B2 (en) * 2012-07-27 2016-03-01 International Business Machines Corporation Contamination based workload management
US9438488B2 (en) * 2012-11-09 2016-09-06 Citrix Systems, Inc. Systems and methods for appflow for datastream
CN104956325A (zh) * 2013-01-31 2015-09-30 惠普发展公司,有限责任合伙企业 物理资源分配
US8613055B1 (en) * 2013-02-22 2013-12-17 Ping Identity Corporation Methods and apparatus for selecting an authentication mode at time of issuance of an access token
US9495199B2 (en) * 2013-08-26 2016-11-15 International Business Machines Corporation Management of bottlenecks in database systems
US10348628B2 (en) * 2013-09-12 2019-07-09 Vmware, Inc. Placement of virtual machines in a virtualized computing environment
KR102165460B1 (ko) 2013-11-27 2020-10-14 삼성전자 주식회사 전자 장치 및 전자 장치의 메모리 관리 방법
CN104331406A (zh) * 2013-12-20 2015-02-04 乐视网信息技术(北京)股份有限公司 一种数据库容量控制方法及装置
CN105335142B (zh) * 2014-07-29 2019-03-15 国际商业机器公司 在事务处理系统中标识事务的性能瓶颈的方法和装置
CN105704175B (zh) * 2014-11-25 2019-03-19 阿里巴巴集团控股有限公司 一种连接建立方法和装置
CN104683463B (zh) * 2015-02-28 2019-01-25 北京京东尚科信息技术有限公司 一种应用服务器的控制方法和装置以及服务器系统
GB201504612D0 (en) 2015-03-18 2015-05-06 Inquisitive Systems Ltd Forensic analysis
CN105227374B (zh) * 2015-10-23 2018-05-29 浪潮(北京)电子信息产业有限公司 一种集群应用的故障迁移方法和系统
US10831509B2 (en) 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
GB201708671D0 (en) 2017-05-31 2017-07-12 Inquisitive Systems Ltd Forensic analysis
KR102088207B1 (ko) 2018-06-01 2020-03-12 주식회사 티맥스 소프트 서버, 서버를 제어하는 방법 및 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램
US11768707B2 (en) 2018-08-27 2023-09-26 Box, Inc. Workflow selection
US10984001B2 (en) * 2019-02-08 2021-04-20 Intuit Inc. Graph database applications
US11669793B2 (en) * 2019-10-01 2023-06-06 Box, Inc. Inter-application workflow performance analytics
US12154052B2 (en) 2019-10-02 2024-11-26 Box, Inc. Cross-enterprise workflow adaptation
US11681572B2 (en) 2019-12-23 2023-06-20 Box, Inc. Extensible workflow access
US20210294661A1 (en) * 2020-03-19 2021-09-23 Entertainment Technologists, Inc. TASK MANAGEMENT OF LARGE COMPUTING WORKLOADS in A CLOUD SERVICE AGGREGATED FROM DISPARATE, RESOURCE-LIMITED, PRIVATELY CONTROLLED SERVER FARMS
US11606392B2 (en) 2020-05-29 2023-03-14 Mcafee, Llc System for tuning a device having security software for security and performance
US11861029B2 (en) 2020-09-14 2024-01-02 Box Inc. Workflow execution state variables
KR20220101789A (ko) * 2021-01-12 2022-07-19 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
JPH11282695A (ja) * 1998-03-11 1999-10-15 Internatl Business Mach Corp <Ibm> 多重システム・クラスタ内のサ―バの数を制御する方法及び装置
JP2000268012A (ja) 1999-03-12 2000-09-29 Nec Corp クライアントサーバシステムにおけるサーバ負荷の分散方法ならびに装置
JP2001160040A (ja) 1999-12-01 2001-06-12 Nec Corp サーバ多重度制御装置、サーバ多重度制御方法およびサーバ多重度制御プログラムを記録した記録媒体
WO2001042908A2 (en) 1999-12-10 2001-06-14 Art Technology Group, Inc. Method and system for load balancing and management
JP2003298655A (ja) * 2002-04-05 2003-10-17 Nippon Telegr & Teleph Corp <Ntt> サイト領域内ボトルネック特定方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769845B2 (ja) 1987-01-27 1995-07-31 日本電気株式会社 多重ホストシステムのジヨブ多重度管理方式
US5235508A (en) 1990-05-31 1993-08-10 At&T Bell Laboratories Automated resource allocation cutting stock arrangement using random cut patterns
JP3501385B2 (ja) 1995-04-13 2004-03-02 株式会社日立製作所 ジョブ実行順序決定方法
JP2940450B2 (ja) 1995-10-26 1999-08-25 日本電気株式会社 クラスタ型コンピュータのジョブスケジュール方法及び装置
US6859834B1 (en) * 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
WO2001013228A2 (en) * 1999-08-13 2001-02-22 Sun Microsystems, Inc. Graceful distribution in application server load balancing
US6381617B1 (en) * 1999-08-25 2002-04-30 Hewlett-Packard Company Multiple database client transparency system and method therefor
US6615253B1 (en) * 1999-08-31 2003-09-02 Accenture Llp Efficient server side data retrieval for execution of client side applications
EP1137295A1 (en) 2000-03-20 2001-09-26 BRITISH TELECOMMUNICATIONS public limited company Communications network
US6950848B1 (en) * 2000-05-05 2005-09-27 Yousefi Zadeh Homayoun Database load balancing for multi-tier computer systems
US6485306B1 (en) * 2001-07-10 2002-11-26 Aiptek International Inc. Locus-recordable portable handwriting device
US6965938B1 (en) * 2000-09-07 2005-11-15 International Business Machines Corporation System and method for clustering servers for performance and load balancing
US7051330B1 (en) * 2000-11-21 2006-05-23 Microsoft Corporation Generic application server and method of operation therefor
US7296268B2 (en) * 2000-12-18 2007-11-13 Microsoft Corporation Dynamic monitor and controller of availability of a load-balancing cluster
WO2002086768A2 (en) * 2001-03-08 2002-10-31 Tririga, Inc. Data storage and access system employing clustering of servers
US20030028583A1 (en) * 2001-07-31 2003-02-06 International Business Machines Corporation Method and apparatus for providing dynamic workload transition during workload simulation on e-business application server
CN1407760A (zh) * 2001-08-31 2003-04-02 高建国际有限公司 便于用户在收看电视时浏览互联网的网络系统和方法
US7007207B2 (en) 2002-10-21 2006-02-28 International Business Machines Corporation Scheduling of transactions in system-level test program generation
US7263555B2 (en) * 2003-04-30 2007-08-28 International Business Machines Corporation Apparatus and method for dynamic sharing of server network interface resources
US7146353B2 (en) * 2003-07-22 2006-12-05 Hewlett-Packard Development Company, L.P. Resource allocation for multiple applications
US7441033B2 (en) * 2003-08-14 2008-10-21 Oracle International Corporation On demand node and server instance allocation and de-allocation
CA2541576C (en) 2003-10-29 2011-12-20 International Business Machines Corporation Information system, load control method, load control program and recor ding medium
US7493380B2 (en) 2003-12-02 2009-02-17 International Business Machines Corporation Method for determining load balancing weights using application instance topology information
JP4223411B2 (ja) 2004-01-19 2009-02-12 株式会社日立製作所 実行多重度制御システム、実行多重度制御システムの制御方法、及びプログラム
US7805509B2 (en) * 2004-06-04 2010-09-28 Optier Ltd. System and method for performance management in a multi-tier computing environment
US7281045B2 (en) * 2004-08-26 2007-10-09 International Business Machines Corporation Provisioning manager for optimizing selection of available resources
JP2006209165A (ja) 2005-01-25 2006-08-10 Hitachi Ltd 同時実行多重度調整システム及び方法
JP4117299B2 (ja) 2005-02-28 2008-07-16 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバの多重度の上限値を制御するための方法、管理サーバ、サーバ、およびプログラム
US9223622B2 (en) * 2007-03-09 2015-12-29 Hewlett-Packard Development Company, L.P. Capacity planning of multi-tiered applications from application logs
US8374929B1 (en) * 2007-08-06 2013-02-12 Gogrid, LLC System and method for billing for hosted services
US8086596B2 (en) * 2008-05-15 2011-12-27 International Business Machines Corporation Healthcheck of information technology infrastructure based on log data
US8756586B2 (en) * 2009-12-10 2014-06-17 Tata Consultancy Services Limited System and method for automated performance testing in a dynamic production environment
US20120060167A1 (en) * 2010-09-08 2012-03-08 Salsburg Michael A Method and system of simulating a data center

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
JPH11282695A (ja) * 1998-03-11 1999-10-15 Internatl Business Mach Corp <Ibm> 多重システム・クラスタ内のサ―バの数を制御する方法及び装置
JP2000268012A (ja) 1999-03-12 2000-09-29 Nec Corp クライアントサーバシステムにおけるサーバ負荷の分散方法ならびに装置
JP2001160040A (ja) 1999-12-01 2001-06-12 Nec Corp サーバ多重度制御装置、サーバ多重度制御方法およびサーバ多重度制御プログラムを記録した記録媒体
WO2001042908A2 (en) 1999-12-10 2001-06-14 Art Technology Group, Inc. Method and system for load balancing and management
JP2003298655A (ja) * 2002-04-05 2003-10-17 Nippon Telegr & Teleph Corp <Ntt> サイト領域内ボトルネック特定方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GRABS T. ET AL.: "High-level parallelisation in a database cluster: a feasibility study using document services", 17TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING, PROCEEDINGS, April 2001 (2001-04-01), pages 121 - 130, XP010538053 *
MARK MITCHELL; JEFFREY OLDHAM; ALEX SAMUEL, ADVANCED LINUX PROGRAMMING, 11 June 2001 (2001-06-11)
PARK H.H. ET AL.: "On the use of genetic algorithms in database client clustering", INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE, November 1999 (1999-11-01), pages 339 - 342, XP010365169 *
See also references of EP1679595A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010176413A (ja) * 2009-01-29 2010-08-12 Fujitsu Ltd 情報処理装置、情報処理方法及びコンピュータプログラム
JP2011258098A (ja) * 2010-06-11 2011-12-22 Hitachi Ltd 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
JP2015191533A (ja) * 2014-03-28 2015-11-02 沖電気工業株式会社 データベースシステム、データベースサーバ、データベースサーバプログラム、データベースクライアント及びデータベースクライアントプログラム

Also Published As

Publication number Publication date
US20070157210A1 (en) 2007-07-05
CA2541576A1 (en) 2005-05-06
US8386611B2 (en) 2013-02-26
JP4205103B2 (ja) 2009-01-07
CN100465900C (zh) 2009-03-04
BRPI0416101A (pt) 2007-01-02
KR20060079244A (ko) 2006-07-05
EP1679595A1 (en) 2006-07-12
US7480719B2 (en) 2009-01-20
JPWO2005041038A1 (ja) 2007-04-19
IL174874A0 (en) 2006-08-20
CN1875348A (zh) 2006-12-06
CA2541576C (en) 2011-12-20
KR100866857B1 (ko) 2008-11-04
MXPA06004071A (es) 2006-06-27
EP1679595A4 (en) 2008-06-04
US20090133031A1 (en) 2009-05-21

Similar Documents

Publication Publication Date Title
WO2005041038A1 (ja) 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体
US9413683B2 (en) Managing resources in a distributed system using dynamic clusters
US7444459B2 (en) Methods and systems for load balancing of virtual machines in clustered processors using storage related load information
US20140115586A1 (en) Method for dispatching central processing unit of hotspot domain virtual machine and virtual machine system
US20070130566A1 (en) Migrating Virtual Machines among Computer Systems to Balance Load Caused by Virtual Machines
JP2007207219A (ja) 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US8176076B2 (en) Method and system for controlling accesses to a database
JP2014120097A (ja) 情報処理装置、プログラム、及び、情報処理方法
CN111988234A (zh) 过载保护方法、装置、服务器及存储介质
WO2002097622A2 (en) A resource management method
CN109558216A (zh) 一种基于在线迁移的单根i/o虚拟化优化方法及其系统
WO2021164163A1 (zh) 一种请求处理方法、装置、设备及存储介质
KR102262645B1 (ko) 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템 및 방법
CN104899072B (zh) 基于虚拟化平台的细粒度资源调度系统及方法
EP2618272A1 (en) Method and apparatus for dynamic addition and dynamic removal of device
CN112395058A (zh) 任务调控装置、方法和系统
KR102571782B1 (ko) 리소스 관리 풀을 이용한 가상 머신 재배치를 위한 장치 및 방법
US20240370308A1 (en) Cpu resource control method and apparatus, and computer-readable storage medium
CN115756825A (zh) 一种中断负载均衡优化方法及装置
CN118708440A (zh) 一种云计算中容器状态判断方法及系统
CN118400374A (zh) 一种基于rlu算法的kafka监听容器管理方法
CN119668792A (zh) 动态功率感知工作负载调度器
CN118555244A (zh) 一种报文流量处理方法、装置、设备及可读存储介质
CN119201798A (zh) 一种数据处理方法、装置、数据存储系统及电子设备
CN103106115A (zh) 虚拟资源调整装置及其方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480032109.8

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

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

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 2541576

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 174874

Country of ref document: IL

WWE Wipo information: entry into national phase

Ref document number: PA/a/2006/004071

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2005515011

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004793014

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020067007611

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 10577174

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 3075/DELNP/2006

Country of ref document: IN

WWP Wipo information: published in national office

Ref document number: 2004793014

Country of ref document: EP

ENP Entry into the national phase

Ref document number: PI0416101

Country of ref document: BR

WWP Wipo information: published in national office

Ref document number: 10577174

Country of ref document: US