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

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

Info

Publication number
JP4205103B2
JP4205103B2 JP2005515011A JP2005515011A JP4205103B2 JP 4205103 B2 JP4205103 B2 JP 4205103B2 JP 2005515011 A JP2005515011 A JP 2005515011A JP 2005515011 A JP2005515011 A JP 2005515011A JP 4205103 B2 JP4205103 B2 JP 4205103B2
Authority
JP
Japan
Prior art keywords
application
load control
bottleneck
server
application program
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2005515011A
Other languages
English (en)
Other versions
JPWO2005041038A1 (ja
Inventor
正志 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPWO2005041038A1 publication Critical patent/JPWO2005041038A1/ja
Application granted granted Critical
Publication of JP4205103B2 publication Critical patent/JP4205103B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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

本発明は、情報システム、負荷制御方法、負荷制御プログラム及び記録媒体に関する。特に本発明は、複数のアプリケーションサーバ及びデータベースサーバを備え、負荷制御を行う情報システムと、その負荷制御方法、負荷制御プログラム及び記録媒体とに関する。
近年、Webページの表示と連携してサーバサイドでアプリケーションを実行可能とする各種の基盤技術が提供されていることから、利用者に良好なユーザインターフェイスを提供するWeb機能を用いて情報システムを実現することが主流となっている。
このような情報システムの負荷を制御する技術として、特開2001−160040号公報に、1台のコンピュータ上でサーバプログラムを実行させ、サーバプログラムが当該コンピュータのCPUを使用する使用率が高い場合にサーバプログラムの多重度を増加させる技術が開示されている。
また、特開2000−268012号公報に、LAN接続された負荷分散装置とサーバコンピュータとを備えるクライアントサーバシステムにおいて、サーバコンピュータの負荷がしきい値を超える場合に、負荷分散装置が端末からのトランザクションの受け入れを中断する技術が開示されている。
特開2001−160040号公報 特開2000−268012号公報
大規模な情報システムは、複数のアプリケーションサーバと、1台又は多重化されたデータベースサーバとを備えて構成される。アプリケーションサーバは、利用者によりWebページがアクセスされた場合に当該Webページに対応付けられたアプリケーションを実行し、実行結果を含めたWebページのデータを当該端末へ返信する。データベースサーバは、アプリケーションサーバからデータベースのアクセス要求を受けてデータベースをアクセスする。このような情報システムにおいては、利用者の端末から受信したトランザクションに対するレスポンス時間を許容範囲内に抑え、利用者の作業に遅延を生じさせないことが重要である。しかしながら、上記の技術においては、サーバプログラムやサーバコンピュータの負荷を一定以下に保つことを目的としており、トランザクションのレスポンス時間に基づいた制御を行うことができず、また、アプリケーションサーバ及びデータベースサーバのそれぞれに適した負荷制御処理を行うことができなかった。
そこで本発明は、上記の課題を解決することのできる情報システム、負荷制御方法、負荷制御プログラム及び記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
本発明の第1の形態によれば、端末から受信したトランザクションに応じてアプリケーションプログラムをそれぞれ実行する複数のアプリケーションサーバと、前記複数のアプリケーションサーバのそれぞれの要求に基づきデータベースをアクセスするデータベースサーバとを備える情報システムであって、前記複数のアプリケーションサーバのそれぞれについて、当該アプリケーションサーバが受信した前記トランザクションを前記アプリケーションプログラムが処理する処理時間を監視する処理時間監視部と、前記複数のアプリケーションサーバのそれぞれについての前記処理時間の監視結果に基づいて、前記処理時間が予め定められた許容範囲内でない前記アプリケーションサーバにボトルネックがあると特定するボトルネック特定部と、ボトルネックがあると特定された前記アプリケーションサーバ上で前記アプリケーションプログラムを実行する多重度を低下させる負荷制御部とを備える情報システムと、当該情報システムに関する負荷制御方法、負荷制御プログラム、及び記録媒体を提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、複数のアプリケーションサーバ及びデータベースサーバを備える情報システムにおいて、各アプリケーションサーバにおけるトランザクションの処理時間に応じて適切な負荷制御を行うことができる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る情報システム10の構成を示す。本実施形態に係る情報システム10は、複数のアプリケーションサーバ120のそれぞれにおけるトランザクションの処理時間と、複数のアプリケーションサーバ120及びデータベースサーバ150の処理負荷とを監視し、監視結果に基づいてアプリケーションサーバ120又はデータベースサーバ150のボトルネックを解消することができる適切な負荷制御を行う。また、本実施形態に係る情報システム10は、複数種類の業務等に対応する複数種類のアプリケーションプログラムを統合して稼動させた場合において、あるアプリケーションプログラムに生じた性能低下要因が他のアプリケーションプログラムの処理性能に影響を与えないように適切に負荷制御を行うことができる。
情報システム10は、当該情報システム10を利用する利用者がそれぞれ使用する複数の端末100にインターネットやイントラネット等のネットワーク110を介して接続されるサーバコンピュータシステムであり、複数のアプリケーションサーバ(WAS:Web Application Server)120、データベースサーバ(DBS:Database Server)150、及び負荷制御サーバ160を備える。
複数のWAS120のそれぞれは、端末100から受信したHTTPリクエスト等のトランザクションに応じて、Java(登録商標)サーブレットやJSP(Java Server Pages)等によるアプリケーションプログラムを実行するサーバコンピュータである。また、WAS120は、実行結果を含めたWebページを端末100へ返信する。このアプリケーションプログラムの実行中に、WAS120は、アプリケーションプログラムによる指示に基づきデータ−ベース(DB)152のアクセスをDBS150に要求する。
DBS150は、複数のWAS120のそれぞれの要求に基づきDB152をアクセスし、アクセス結果を要求元のWAS120に返信するサーバコンピュータである。負荷制御サーバ160は、複数のWAS120のそれぞれにおけるトランザクションの処理時間と、複数のWAS120及びDBS150の処理負荷とを監視し、監視結果に基づいて情報システム10の負荷制御を行う。
次に、WAS120、DBS150、及び負荷制御サーバ160の構成を示す。 複数のWAS120のそれぞれは、HTTPサーバ部125と、WEBアプリケーションサーバ部130と、処理時間取得部140と、処理負荷取得部142と、サーバ内負荷制御部144とを有する。HTTPサーバ部125は、端末100からトランザクションを受信し、当該トランザクションに対応するWebページを端末100へ返信する。なお、当構成においてHTTPサーバ部125は、物理的に別の筐体であるサーバ上で稼働していてもよい。
WEBアプリケーションサーバ部130は、端末100から受信したトランザクションに応じてアプリケーションプログラム134を実行する。本実施形態において、複数のWAS120のそれぞれにおけるWEBアプリケーションサーバ部130は、複数種類のアプリケーションプログラム134を混載し、複数種類のアプリケーションプログラム134のうち、端末100から受信したトランザクションの種類に対応するアプリケーションプログラム134を実行する。ここで複数種類のアプリケーションプログラム134は、当該WAS120上で実行されるべき優先度がそれぞれ設定される。より具体的には、複数種類のアプリケーションプログラム134は、優先度に応じて複数のグループに分類され、各アプリケーションプログラム134が属するグループに指定された優先度で実行される。
WEBアプリケーションサーバ部130は、多重度制御部132、DBアクセス制御部136、及びDBコネクションプール138を含む。多重度制御部132は、複数種類のアプリケーションプログラム134のそれぞれを実行すべき多重度を制御する。ここでアプリケーションプログラム134を実行する多重度とは、同一種類のトランザクションを複数受信した場合に、それぞれのトランザクションに対応してアプリケーションプログラム134の並行して動作させる数の最大値である。
DBアクセス制御部136は、複数種類のアプリケーションプログラム134のそれぞれによるDB152のアクセス要求を併せて処理する。そしてDBアクセス制御部136は、DBS150に対するアクセス要求の発行数をアプリケーションプログラム134毎に制限すると共に、DBS150内部で複数種類のアプリケーションプログラム134のそれぞれの優先度を特定可能とするようにDBコネクション139を割り当てる。より具体的には、DBアクセス制御部136は、優先度毎に異なるユーザIDを用いてDBS150に接続することにより、DBS150内部でアクセス要求の優先度を特定可能とする。
DBコネクションプール138は、複数のDBコネクション139を含む。それぞれのDBコネクション139は、DB152のアクセス要求を発行するためにDBS150と接続する接続点となる。
以上に示した多重度制御部132及びDBアクセス制御部136は、1台のWAS120上で複数種類のアプリケーションプログラム134を統合して効率良く稼動させるためのフレームワークを実現するクラス関数等を、WAS120上で実行することにより実現されてよい。
処理時間取得部140は、個々のトランザクションの処理時間やデータベース処理時間等を多重度制御部132およびDBアクセス制御部136から取得し、アプリケーションプログラム134毎の処理時間及びデータベース処理時間等の統計を取る。ここで、端末100から受信したトランザクションをアプリケーションプログラム134が処理する処理時間は、トランザクションのレスポンス時間とも呼ばれる。そして、処理時間取得部140は、一のアプリケーションプログラム134の処理時間が許容範囲内でない場合に、当該アプリケーションプログラム134についてサービスレベルが低下していることを示すサービスレベル低下イベントを負荷制御サーバ160へ通知する。ここで処理時間取得部140は、このサービスレベル低下イベントにデータベース処理時間等の情報を含めて負荷制御サーバ160へ通知してよい。
処理負荷取得部142は、当該WAS120が有する、アプリケーションプログラム134によりそれぞれ使用される資源である1又は複数のアプリケーションサーバ資源の使用量を、例えばWAS120上で動作するオペレーティングシステムのパフォーマンスモニタ機能等から取得し、当該アプリケーションサーバ資源の使用量の統計を取る。そして、処理負荷取得部142は、一のアプリケーションサーバ資源の使用量が許容範囲内で無い場合に、当該アプリケーションサーバ資源の処理負荷が高負荷であることを示すシステム資源高負荷イベントを負荷制御サーバ160へ通知する。以上において処理負荷取得部142は、アプリケーションサーバ資源の使用量をアプリケーションプログラム134毎に取得し、当該アプリケーションプログラム134による使用量が許容範囲で無い場合にシステム資源高負荷イベントを負荷制御サーバ160へ通知してもよく、これに代えて処理負荷取得部142は、全てのアプリケーションプログラム134によるアプリケーションサーバ資源の使用量の合計を取得し、当該使用量が許容範囲内で無い場合にシステム資源高負荷イベントを負荷制御サーバ160へ通知してもよい。
サーバ内負荷制御部144は、負荷制御サーバ160により実行される負荷制御処理に応じて、当該WAS120内における負荷制御を行う。本実施形態に係るサーバ内負荷制御部144は、WAS120内における負荷制御として、各アプリケーションプログラム134のそれぞれを実行する多重度を変更する。
DBS150は、DB152と、DB処理要求I/F部153と、DBエンジン154と、処理負荷取得部156と、サーバ内負荷制御部158とを有する。DB152は、複数のアプリケーションプログラム134のそれぞれによりアクセスされるデータを格納する。複数のDB処理要求I/F部153のそれぞれは、複数のDBコネクション139のそれぞれに対応して設けられ、WAS120がDB152に対するアクセス要求を発行するための接続点となる。本実施形態において、WAS120は、複数のアプリケーションプログラム134のそれぞれの優先度に応じて異なるユーザIDに対応するDB処理要求I/F部153に接続する。このためDBS150は、ユーザIDに基づいてアクセス要求を発行したアプリケーションプログラム134の優先度を識別することができる。
DBエンジン154は、複数のWAS120のそれぞれが複数のアプリケーションプログラム134のそれぞれの指示に基づき発行するSQLコマンド等のアクセス要求に基づき、DB152をアクセスする。処理負荷取得部156は、DBS150が有する、アプリケーションプログラム134がDB152をアクセスする場合に使用される資源である1又は複数のデータベースサーバ資源の使用量を、例えばDBS150上で動作するオペレーティングシステムのパフォーマンスモニタ機能から取得し、当該データベースサーバ資源の使用量の統計を取る。そして、処理負荷取得部156は、一のデータベースサーバ資源の使用量が許容範囲内でない場合に、当該データベースサーバ資源の処理負荷が高負荷であることを示すシステム資源高負荷イベントを負荷制御サーバ160へ通知する。以上において処理負荷取得部156は、データベースサーバ資源の使用量をDB処理要求I/F部153毎に取得し、対応するアプリケーションプログラム134による使用量が許容範囲内でない場合にシステム資源高負荷イベントを負荷制御サーバ160へ通知してもよく、これに代えて処理負荷取得部156は、全てのDB処理要求I/F部153によるデータベースサーバ資源の使用量の合計を取得し、当該使用量が許容範囲内でない場合にシステム資源高負荷イベントを負荷制御サーバ160へ通知してもよい。
サーバ内負荷制御部158は、負荷制御サーバ160により実行される負荷制御処理に応じて、DBS150内における負荷制御を行う。本実施形態に係るサーバ内負荷制御部158は、サーバ内負荷制御部158内における負荷制御として、DB処理要求I/F部153がDB152をアクセスする処理の優先度を変更する。
負荷制御サーバ160は、処理時間監視部165と、ボトルネック特定部170と、処理負荷監視部190と、負荷制御部175とを有する。処理時間監視部165は、複数のWAS120のそれぞれについて、当該WAS120が受信したトランザクションをアプリケーションプログラム134が処理する処理時間を監視する。本実施形態において、処理時間監視部165は、複数のWAS120のそれぞれについて、アプリケーションプログラム134毎のトランザクションの処理時間を監視する。ここで処理時間監視部165は、複数のWAS120のそれぞれから通知されるサービスレベル低下イベントに基づいて、アプリケーションプログラム134毎のトランザクションの処理時間が許容範囲外となったことを検出する。
ボトルネック特定部170は、複数のWAS120のそれぞれについての処理時間の監視結果に基づいて、複数のWAS120及びDBS150のうち少なくとも1つのWAS120又はDBS150にボトルネックがあると特定する。処理負荷監視部190は、複数のWAS120のそれぞれについての1又は複数のアプリケーションサーバ資源の使用量と、1又は複数のデータベースサーバ資源の使用量とを監視する。本実施形態において、処理負荷監視部190は、複数のWAS120及びDBS150のそれぞれから通知されるシステム資源高負荷イベントに基づいて、当該システム資源高負荷イベントにより特定されるアプリケーションサーバ資源又はデータベースサーバ資源の使用量が許容範囲外となったことを検出する。
負荷制御部175は、複数のWAS120又はDBS150の少なくとも1つのサーバにボトルネックがあると特定された場合に、ボトルネックがあると特定されたサーバのボトルネックを解消するための負荷制御処理を実行する。
負荷制御部175は、負荷制御情報格納部177と、負荷制御情報取得部179と、負荷制御処理部181とを含む。負荷制御情報格納部177は、ボトルネックと特定されたサーバと、当該サーバにおいて高負荷であることを検出された資源とに対応して、負荷制御部175内の負荷制御処理部181が行うべき負荷制御処理を指定する負荷制御情報を格納する。さらに、負荷制御情報格納部177は、アプリケーションプログラム134のそれぞれのグループ、グループの優先度、及び、当該アプリケーションプログラム134に設定可能な多重度を示す多重度情報を格納する。負荷制御情報取得部179は、ボトルネック特定部170によりボトルネックと特定されたサーバにおける、処理負荷監視部190により高負荷であることが検出された資源に対応する負荷制御情報を負荷制御情報格納部177から取得し、負荷制御処理部181へ出力する。負荷制御処理部181は、ボトルネックがあると特定されたサーバのボトルネックを解消するべく、負荷制御情報により指定される負荷制御処理を実行する。負荷制御処理において、負荷制御処理部181は、負荷制御の対象となるWAS120内のサーバ内負荷制御部144又はDBS150内のサーバ内負荷制御部158に対して、当該サーバ内の負荷制御を指示する。
以上に示した情報システム10によれば、複数のアプリケーションサーバ120のそれぞれにおけるトランザクションの処理時間と、複数のアプリケーションサーバ120及びデータベースサーバ150の処理負荷とを監視し、監視結果に基づいてボトルネックを解消する負荷制御処理を適切に選択し実行することができる。
図2は、本実施形態に係る情報システム10のボトルネック特定フローを示す。
まず、処理時間監視部165は、1又は複数のWAS120から1又は複数のサービスレベル低下イベントを通知されることにより、トランザクションの処理時間が許容範囲外となったことを検出する。ボトルネック特定部170は、複数のWAS120のそれぞれについての処理時間の監視結果に基づいて、ボトルネックの存在箇所を特定する。より具体的にはボトルネック特定部170は、複数のWAS120のそれぞれについてのアプリケーションプログラム134毎の処理時間の監視結果に基づいて、ボトルネックの存在箇所を特定する。
まず、ボトルネック特定部170は、1以上しきい値以下の数のWAS120について処理時間が許容範囲内でないことを条件として(ステップS200:Yes)、処理時間が許容範囲内でないWAS120にボトルネックがあると特定する(S220)。ここでボトルネック特定部170は、1以上しきい値以下の数のWAS120について一のアプリケーションプログラム134の処理時間が許容範囲内でない場合(S200:Yes)に、処理時間が許容範囲内でないWAS120における、他のアプリケーションプログラム134の処理時間も許容範囲内でないことを更に条件として(S210:Yes)当該WAS120にボトルネックがあると特定し(S220)、他のアプリケーションプログラム134の処理時間が許容範囲内であれば(S210:No)、当該アプリケーションプログラム134に対するトランザクションの特定の入力に関連する資源がボトルネックであると特定してもよい(S230)。ここでWAS120の数のしきい値は、WAS120の数未満の数であり、情報システム10の管理者等により予め設定されてよい。
また、しきい値を超える数のWAS120について処理時間が許容範囲内でない場合に(S200:No、S240:Yes)、情報システム10全体の共通資源であるDBS150にボトルネックがあると特定する。ここでボトルネック特定部170は、しきい値を超える数のWAS120について一のアプリケーションプログラム134の処理時間が許容範囲内でない場合(S200:No、S240:Yes)に、処理時間が許容範囲内でないWAS120における、他のアプリケーションプログラム134の処理時間も許容範囲内でないことを更に条件として(S250:Yes)DBS150にボトルネックがあると特定し(S260)、他のアプリケーションプログラム134の処理時間が許容範囲内であれば(S250:No)、当該アプリケーションプログラム134に対応するトランザクションに関連する資源がボトルネックであると特定してもよい(S270)。
なお、本実施形態に係るボトルネック特定部170は、以上に示した処理をアプリケーションプログラム134毎又はアプリケーションプログラム134のグループ毎に行う。すなわち、ボトルネック特定部170は、一のアプリケーションプログラム134又は一のグループに属するアプリケーションプログラム134の処理時間が許容範囲内でないことを条件として、当該アプリケーションプログラム134又は当該グループに属するアプリケーションプログラム134に関してWAS120にボトルネックがあると特定する。より具体的には、ボトルネック特定部170は、しきい値以下のWAS120について一のアプリケーションプログラム134又は一のグループに属するアプリケーションプログラム134の処理時間が許容範囲内でない場合に、これらのWAS120にボトルネックがあると特定し、しきい値を超えるWAS120について一のアプリケーションプログラム134又は一のグループに属するアプリケーションプログラム134の処理時間が予め定められた許容範囲内でない場合に、DBS150にボトルネックがあると特定する。
以上に示したボトルネック特定部170によれば、処理時間が予め定められた許容範囲内でないWAS120にボトルネックがあると特定することができる。より具体的には、ボトルネック特定部170は、処理時間が許容範囲内でないWAS120の数がしきい値以下であることを条件としてこれらのWAS120にボトルネックがあると特定し、処理時間が許容範囲内でないWAS120の数がしきい値を超える場合にはDBS150にボトルネックがあると特定することができる。すなわち例えばしきい値を1とした場合、ボトルネック特定部170は、処理時間が許容範囲内でないWAS120が1台である場合に当該WAS120にボトルネックがあると特定し、2台以上の場合にDBS150にボトルネックがあると特定することができる。また、例えばしきい値を(WAS120の台数―1)とした場合、全てのWAS120について処理時間が許容範囲内でない場合にDBS150にボトルネックがあると特定し、WAS120の台数未満のWAS120について処理時間が許容範囲内でない場合にこれらのWAS120にボトルネックがあると特定することができる。
これにより情報システム10は、ある特定のWAS120のサービスレベルが低下しているのか、それとも情報システム10全体に共通するDBS150がボトルネックとなって多数のWAS120のサービスレベルが低下しているのかを区別し、適切にボトルネックの存在箇所を特定することができる。ここで、ボトルネック特定部170は、例えばS210又はS250等以外の条件に更に基づいて、より詳細にボトルネックの存在箇所を特定してもよい。
以上において、処理時間の許容範囲は、例えば以下に示す予め定められた基準に基づき判断されてよい。すなわち処理時間監視部165は、例えば60秒等の予め定められた期間内にあるアプリケーションプログラム134に対してトランザクションの入力が予め定められた数以上ある場合において、例えば50%等の予め定められた割合以上のトランザクションについて当該アプリケーションプログラム134の処理時間が許容処理時間を超える場合に、当該アプリケーションプログラム134の処理時間が許容範囲を超えると判断する。この場合において、許容処理時間は、例えば過去の1ヶ月間等の期間内におけるピーク時の処理時間の平均値に、標準偏差に基づき定めたオフセット時間を加えて定められる。
図3は、本実施形態に係る情報システム10の高負荷判定方法を示す。処理負荷取得部142及び処理負荷取得部156は、監視対象となる複数の資源のそれぞれに対応する「検出条件」により指定された条件が成立した場合に当該資源が高負荷であることを検出する。そして、当該資源の高負荷の検出が「判定条件」により指定された回数等の条件を満たして行われた場合に、当該資源の使用量が許容範囲外となり高負荷な状態であると判定し、当該資源についてのシステム資源高負荷イベントを処理負荷監視部190へ通知する。また、当該資源の高負荷の通知後、当該資源の高負荷の検出が「解除条件」により指定された回数等の条件を満たす間行われなかった場合に、当該資源が高負荷でなくなったことを示すシステム資源高負荷解除イベントを処理負荷監視部190に通知する。これを受けて処理負荷監視部190は、当該データベース資源が高負荷でなくなったことを検出する。
処理負荷取得部156は、「ボトルネック箇所の分類」欄が「全体共通資源(DBS)」と示されている複数のデータベースサーバ資源のそれぞれについて、「検出条件」、「判定条件」及び「解除条件」に示した条件を用いて当該資源が高負荷であるか否かを判定する。ここで、本実施形態に係る処理負荷取得部156は、複数のデータベースサーバ資源として、プロセッサ、ディスク、メモリ、データベースバッファ等を含む複数のデータベースサーバ資源のそれぞれについて、条件を用いて高負荷であるか否かを判定する。
プロセッサ、データベースを格納するディスク、DB152のアクセスログを格納するディスク、データベースとアクセスログ以外のファイルを格納するディスクに関して、処理負荷取得部156は、当該データベース資源の使用率が「n秒間の間平均x%以上」である場合に高負荷であることを検出する。そして処理負荷取得部156は、この高負荷の状態がモニタリングするタイミングにおいてm回連続して検出された場合に、当該データベース資源が高負荷であると判定し、システム資源高負荷イベントを処理負荷監視部190に通知する。また処理負荷取得部156は、システム資源高負荷イベントを処理負荷監視部190に通知した後、高負荷の状態をf回連続して検出しなかった場合にシステム資源高負荷解除イベントを処理負荷監視部190に通知する。
また、処理負荷取得部156は、DBS150が搭載する実メモリに関して、ページングが「n秒間の間平均x回以上」発生している場合に、当該メモリの使用量が多くスワップが頻発しているとして高負荷であることを検出する。また、DBエンジン154が使用するデータベースバッファに関して、当該バッファのミス率が「n秒間の間平均x%以上」の場合に、当該バッファが不足しているとして高負荷であることを検出する。処理負荷取得部156は、これらのデータベースサーバ資源についてのシステム資源高負荷イベント及びシステム資源高負荷解除イベントの通知を、プロセッサ等のシステム資源高負荷イベント及びシステム資源高負荷解除イベントの通知と同様にして行う。
複数のWAS120のそれぞれの処理負荷取得部142は、「ボトルネック箇所の分類」欄が「WAS」と示されている複数のアプリケーションサーバ資源のそれぞれについて、「検出条件」、「判定条件」及び「解除条件」に示した条件を用いて当該資源が高負荷であるか否かを判定する。ここで、本実施形態に係る処理負荷取得部142は、複数のデータベースサーバ資源として、プロセッサ、ディスク、メモリ、JVM(Java Virtual Machine)メモリ、及びDBコネクション等を含む複数のアプリケーションサーバ資源のそれぞれについて、「検出条件」、「判定条件」及び「解除条件」に示した条件を用いて高負荷であるか否かを判定する。
プロセッサ、ディスク、及びメモリに関して、処理負荷取得部142は、処理負荷取得部156と同様にして高負荷の検出及びイベントの通知を行う。また処理負荷取得部142は、WEBアプリケーションサーバ部130を構成する各種のプログラム又はモジュールを実行するJVMが「ガベージコレクションをn秒間の間にx回以上」実行した場合に、JVMに割り当てたメモリが不足しているとして高負荷であることを検出する。そして処理負荷取得部142は、JVMメモリについてのシステム資源高負荷イベント及びシステム資源高負荷解除イベントの通知を、プロセッサ等のシステム資源高負荷イベント及びシステム資源高負荷解除イベントの通知と同様にして行う。
また、処理負荷取得部142は、DBコネクションに関して、DBコネクション139を使用する多重度が上限に達した場合に、DBコネクションが不足しているとして高負荷であることを検出する。処理負荷取得部142は、一旦DBコネクションが高負荷であることを検出すると、システム資源高負荷イベントを処理負荷監視部190に通知し、当該WAS120を停止するまで高負荷でなくなったことを処理負荷監視部190に通知しない。
また、処理負荷取得部142は、「ボトルネック箇所の分類」欄が「トランザクションに関連する資源」と示されているWAS120のプロセッサ、DBS150のプロセッサ、及びDBS150のディスク等の各資源について、「検出条件」、「判定条件」及び「解除条件」に示した条件を用いて当該資源がアプリケーションプログラム134の処理内容の影響により高負荷となっているか否かを判定する。
処理負荷取得部142は、WAS120のプロセッサに関して、トランザクションに対応してアプリケーションプログラム134を実行する処理時間全体のうち、DBS150によるDB152のアクセスに要する処理時間の比率がx%以下である場合に、WAS120のプロセッサによる処理時間の割合が高いとして高負荷を検出する。そして処理負荷取得部142は、高負荷を検出するとシステム資源高負荷イベントを処理負荷監視部190に通知し、検出条件に示された状態がn秒間発生しない場合にシステム資源高負荷解除イベントを処理負荷監視部190に通知する。
また、処理負荷取得部142は、DBS150のプロセッサに関して、トランザクションに対応してアプリケーションプログラム134を実行する処理時間全体のうちDBS150によるDB152のアクセスに要する処理時間の比率がx%以上である場合に、DBS150のプロセッサによる処理時間の割合が高いとして高負荷を検出する。そして処理負荷取得部142は、高負荷を検出するとシステム資源高負荷イベントを処理負荷監視部190に通知し、高負荷の検出がn秒間発生しない場合にシステム資源高負荷解除イベントを処理負荷監視部190に通知する。これを受けて処理負荷監視部190は、当該システム資源高負荷イベントの通知を受け、かつ、n秒以内にDBS150のプロセッサがボトルネックであるとDBS150により判定されていた場合に、トランザクションに対応してDBS150のプロセッサが高負荷であると判定する。また、処理負荷取得部142は、DBS150のディスクについても、DBS150のプロセッサと同様にして、トランザクションに対応してDBS150のディスクが高負荷であると判定する。
処理負荷監視部190は、複数のWAS120及びDBS150のそれぞれについて、当該サーバが有する複数の資源のそれぞれが高負荷であるか否かを、以上に例示したシステム資源高負荷イベント及びシステム資源高負荷解除イベントに基づいて検出する。ここで処理負荷監視部190は、複数の資源のそれぞれに対応する「検出条件」、「判定条件」及び「解除条件」を、例えば負荷制御サーバ160が有する記憶装置に格納したファイルとして保持し、情報システム10の管理者等の指示に基づき変更可能としてもよい。
また、ボトルネック特定部では、処理負荷取得部142により、アプリケーションプログラム134単位にシステム資源高負荷イベントが通知されている場合、および、処理負荷取得部156により、DB処理要求I/F部153単位にシステム資源高負荷イベントが通知されている場合には、より詳細にボトルネックの原因となるアプリケーションプログラム134を特定してもよい。
図4は、本実施形態に係る負荷制御情報格納部177に格納される負荷制御情報の一例を示す。負荷制御情報格納部177は、WAS120における複数のアプリケーションサーバ資源、及び、DBS150における複数のデータベースサーバ資源のそれぞれに対応して、当該資源を有するサーバにボトルネックがあると特定され、かつ、当該資源の使用量が予め定められた許容範囲内でない場合に負荷制御部175が行うべき負荷制御処理を指定する負荷制御情報を格納する。ここで負荷制御情報格納部177は、少なくとも1つの負荷制御情報として、複数の負荷制御処理と複数の負荷制御処理の優先順位とを指定する情報を格納してもよい。
負荷制御情報取得部179は、ボトルネックがあると特定されたサーバが有する資源の使用量が予め定められた許容範囲内でない場合に、当該資源がボトルネックであると特定する。そして、負荷制御情報取得部179は、当該資源がボトルネックであると特定された場合に、当該資源に対応して負荷制御情報格納部177に格納された負荷制御情報を取得する。より具体的には、負荷制御情報取得部179は、WAS120にボトルネックがあると特定された場合に、当該WAS120が有する複数のアプリケーションサーバ資源のうち、使用量が許容範囲内でないと処理負荷監視部190により判定されたアプリケーションサーバ資源に対応して、負荷制御情報格納部177に格納された負荷制御情報を取得する。また、負荷制御情報取得部179は、DBS150にボトルネックがあると特定された場合に、複数のデータベースサーバ資源のうち、使用量が許容範囲内でないと処理負荷監視部190により判定されたデータベースサーバ資源に対応して負荷制御情報格納部177に格納された負荷制御情報を取得する。
そして、負荷制御処理部181は、ボトルネック特定部170によりボトルネックがあると特定されたサーバのボトルネックを解消するべく、負荷制御情報取得部179により取得された負荷制御情報により指定される負荷制御処理を行う。ここで負荷制御処理部181は、ある負荷制御情報により指定された一の負荷制御処理を実行した後、ボトルネックがあると特定されたサーバのボトルネックが予め設定された設定期間の間に解消しないことを検出した場合に、当該負荷制御情報より指定される一の負荷制御処理より優先順位が低い他の負荷制御処理を実行する。これにより、負荷制御処理部181は、1種類の負荷制御処理のみではボトルネックが解消されない場合においても、他の負荷制御処理を更に行うことによってより効果的にボトルネックを解消することができる。
本実施形態に係る負荷制御処理部181は、以下に示す負荷制御処理を行う。
(1)負荷制御処理1
負荷制御処理部181は、処理時間が許容範囲内でないと判断されたアプリケーションプログラム134より優先度が低いグループのアプリケーションプログラム134を実行する多重度を低下させる。より具体的には、負荷制御処理部181は、処理時間が許容範囲内でないと判断されたアプリケーションプログラム134より低い優先度の複数のグループ識別子を、ボトルネック特定部170から負荷制御情報取得部179を介して取得する。そして、負荷制御処理部181は、取得した複数のグループ識別子を指定して、当該アプリケーションプログラム134より優先度が低い他のアプリケーションプログラム134の多重度を低下させるようにサーバ内負荷制御部144に指示する。この指示を受けてサーバ内負荷制御部144は、多重度制御部132が他のアプリケーションプログラム134を並行して動作させる数の最大値を低下させることにより、当該他のアプリケーションプログラム134を実行する多重度を低下させる。
DBS150にボトルネックがあると特定された場合において負荷制御処理1を実行する場合、負荷制御処理部181は、情報システム10が有する複数のWAS120のそれぞれについて上記の負荷制御処理1を実行する。これにより負荷制御処理部181は、全てのWAS120がトランザクションを受け入れる多重度を低減させて情報システム10におけるトランザクションの総処理量を低減させることができ、DB152のアクセス量を低減させることができる。
(2)負荷制御処理2
負荷制御処理部181は、処理時間が許容範囲内でないと判断されたアプリケーションプログラム134より優先度が低いグループのアプリケーションプログラム134の要求に基づきDB152をアクセスする処理の優先度を更に低下させる。より具体的には、負荷制御処理部181は、処理時間が許容範囲内でないと判断されたアプリケーションプログラム134より低い優先度の複数のグループ識別子を、ボトルネック特定部170から負荷制御情報取得部179を介して取得する。そして、負荷制御処理部181は、取得した複数のグループ識別子を指定して、当該アプリケーションプログラム134より優先度が低い他のアプリケーションプログラム134の要求に基づきDB152をアクセスする処理の優先度を低下させるようにサーバ内負荷制御部158に指示する。この指示を受けてサーバ内負荷制御部158は、対応するDB処理要求I/F部153のプロセス実行優先度を低下させる。
(3)負荷制御処理3
ボトルネック特定部により、ボトルネックが存在するサーバにおけるボトルネックとなっている資源の処理負荷を高くしているアプリケーションプログラム134がシステム資源高負荷イベントにより特定できている場合、負荷制御処理部181は、当該アプリケーションプログラム134のグループを実行する多重度を低下させる。より具体的には、負荷制御処理部181は、ボトルネックの原因となるアプリケーションプログラム134のグループ識別子を、ボトルネック特定部170から負荷制御情報取得部179を介して取得する。そして、負荷制御処理部181は、取得したグループ識別子を指定して、当該アプリケーションプログラム134の多重度を低下させるようにサーバ内負荷制御部144に指示する。この指示を受けてサーバ内負荷制御部144は、多重度制御部132がアプリケーションプログラム134を並行して動作させる数の最大値を低下させることにより、当該他のアプリケーションプログラム134を実行する多重度を低下させる。
DBS150にボトルネックがあると特定された場合において負荷制御処理3を実行する場合、負荷制御処理部181は、情報システム10が有する複数のWAS120のそれぞれについて上記の負荷制御処理3を実行する。これにより負荷制御処理部181は、全てのWAS120がトランザクションを受け入れる多重度を低減させて情報システム10におけるトランザクションの総処理量を低減させることができ、DB152のアクセス量を低減させることができる。
(4)負荷制御処理4
負荷制御処理部181は、ボトルネック特定部170により、ボトルネックが存在するサーバにおけるボトルネックとなっている資源の処理負荷を高くしているアプリケーションプログラム134がシステム資源高負荷イベントにより特定できている場合、当該アプリケーションプログラム134を実行するグループのアプリケーションプログラム134の要求に基づきDB152をアクセスする処理の優先度を低下させる。より具体的には、負荷制御処理部181は、ボトルネックの原因となるアプリケーションプログラム134のグループ識別子を、ボトルネック特定部170から負荷制御情報取得部179を介して取得する。そして、負荷制御処理部181は、取得したグループ識別子を指定して、当該アプリケーションプログラム134のグループのアプリケーションプログラム134の要求に基づきDB152をアクセスする処理の優先度を低下させるようにサーバ内負荷制御部158に指示する。この指示を受けてサーバ内負荷制御部158は、対応するDB処理要求I/F部のプロセス実行優先度を低下させる。
(5)負荷制御処理5
負荷制御処理部181は、処理時間が許容範囲内でないと判断されたアプリケーションプログラム134を実行する多重度を低下させる。より具体的には、負荷制御処理部181は、処理時間が許容範囲内でないと判断されたアプリケーションプログラム134のグループ識別子を、ボトルネック特定部170から負荷制御情報取得部179を介して取得する。そして、負荷制御処理部181は、当該アプリケーションプログラム134のグループ識別子を指定して、当該アプリケーションプログラム134の多重度を低下させるようにサーバ内負荷制御部144に指示する。この指示を受けてサーバ内負荷制御部144は、多重度制御部132が当該アプリケーションプログラム134を並行して動作させる数の最大値を低下させることにより、当該アプリケーションプログラム134を実行する多重度を低下させる。
DBS150にボトルネックがあると特定された場合において負荷制御処理3を実行する場合、負荷制御処理部181は、負荷制御処理1の場合と同様にして、情報システム10が有する複数のWAS120のそれぞれについて上記の負荷制御処理3を実行する。
(6)負荷制御処理6
負荷制御処理部181は、処理時間が許容範囲内でないと判断されたアプリケーションプログラム134の要求に基づきDB152をアクセスする処理の優先度を低下させる。より具体的には、負荷制御処理部181は、処理時間が許容範囲内でないと判断されたアプリケーションプログラム134のグループ識別子を、ボトルネック特定部170から負荷制御情報取得部179を介して取得する。そして、負荷制御処理部181は、当該アプリケーションプログラム134のグループ識別子を指定して、当該アプリケーションプログラム134の要求に基づきDB152をアクセスする処理の優先度を低下させるようにサーバ内負荷制御部158に指示する。この指示を受けてサーバ内負荷制御部158は、対応するDB処理要求I/F部153のプロセス実行優先度を低下させる。
本実施形態に係る負荷制御情報格納部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と同一のグループに属するアプリケーションプログラム134をWAS120により実行する多重度を低下させる。そして、この負荷制御処理によってもDBS150のボトルネックが解消しない場合に、負荷制御部175は、前記負荷制御処理1を実行することにより、更に当該アプリケーションプログラム134より優先度が低いグループに属する他のアプリケーションプログラム134をWAS120により実行する多重度を低下させることができる。これにより負荷制御部175は、まず、プロセッサを大量に消費しているアプリケーションプログラム134の処理量を減らしてDBS150の負荷低減を試み、これによって解決しない場合に当該アプリケーションプログラム134より優先度が低いアプリケーションプログラム134の処理量を減らしていくことにより、段階的にDBS150の負荷を減らすことができる。
そしてこれらの負荷制御処理によってもボトルネックが解消しない場合には、負荷制御部175は、負荷制御処理4、2を更に順に実行することにより、DBS150上で処理している要求への他の処理からの影響を軽減し、サービスレベルの改善を試みる。当初処理時間が許容範囲内でないと判定されたアプリケーションプログラム134自身の問題、又は、より優先度の高いアプリケーションプログラム134の問題でなければ、ここまでの負荷制御でボトルネックが解消されると考えられる。しかし、それでもレスポンスが改善しない場合には、負荷制御処理5により、サービスレベルが低下したアプリケーションプログラム134自体をWAS120により実行する多重度を減らして、DBS150の負荷をさらに減らすことができる。また、負荷制御処理5によってもレスポンスが改善しない場合には、負荷制御部175は、負荷制御処理6を実行することにより、アプリケーションプログラム134の要求に基づきDB152をアクセスする処理の優先度を低下させ、DBS150上で処理している要求が他の処理へ与える影響を軽減できる。
一方、負荷制御部175は、例えばDBS150にボトルネックがあると特定され、さらにデータベースを格納するディスクがボトルネックであると特定された場合において、DBS150の当該ディスク資源の使用量が許容範囲内でないアプリケーションプログラム134が特定できている場合は、負荷制御処理2を実行し、当該アプリケーションプログラム134より優先度が低いグループに属するアプリケーションプログラム134からの要求に基づきDB152をアクセスする処理の優先度を低下させる。ここでデータベースを格納するディスクが複数存在する場合、負荷制御部175は、負荷制御処理2において、当該アプリケーションプログラム134より優先度が低いグループに属し、当該アプリケーションプログラム134が使用するデータベースが格納されたディスクを使用するアプリケーションプログラム134からの要求に基づきDB152をアクセスする処理の優先度を低下させることが望ましい。そして、負荷制御処理2によってもDBS150のボトルネックが解消しない場合に、負荷制御部175は、負荷制御処理1、6、及び5をDBS150のボトルネックが解消されるまで順次実行する。
また、本実施形態に係る負荷制御情報格納部177は、WAS120のボトルネックに関して、複数のアプリケーションサーバ資源のいずれの使用量が許容範囲外となったかに応じて、図4に示した負荷制御情報を格納する。
より具体的には、プロセッサが許容範囲外となった場合に対応して、負荷制御情報格納部177は、負荷制御処理3、1、及び5をこの優先順位で行うべきことを示す負荷制御情報を格納する。また、メモリ、ディスク、JVMメモリ、及びDBコネクションの使用量の使用量が許容範囲外となった場合に対応して、負荷制御情報格納部177は、負荷制御処理1、及び5を行うべきことを示す負荷制御情報を格納する。
これらの負荷制御情報を用いて、負荷制御部175は、例えばWAS120にボトルネックがあると特定され、さらにプロセッサの使用量が許容範囲の使用量を超えておりプロセッサがボトルネックであると特定された場合において、WAS120のプロセッサ資源の使用量が許容範囲内でないアプリケーションプログラム134が特定できている場合は、負荷制御処理3を実行し、当該のアプリケーションプログラム134及び当該アプリケーションプログラム134と同一のグループに属するアプリケーションプログラム134をWAS120により実行する多重度を低下させる。そして、この負荷制御処理によってもWAS120のボトルネックが解消しない場合に、負荷制御部175は、負荷制御処理1を実行し、更に当該アプリケーションプログラム134より優先度が低いグループに属する他のアプリケーションプログラム134をWAS120により実行する多重度を低下させることができる。
当初処理時間が許容範囲内でないと判定されたアプリケーションプログラム134自身の問題、又は、より優先度の高いアプリケーションプログラム134の問題でなければ、ここまでの負荷制御でボトルネックが解消されると考えられる。しかし、それでもレスポンスが改善しない場合には、負荷制御部175は、負荷制御処理5を実行することにより、サービスレベルが低下したアプリケーションプログラム134自体をWAS120が実行する多重度を減らして、DBS150の負荷をさらに減らすことができる。
また、本実施形態に係る負荷制御情報格納部177は、トランザクションの内容やアプリケーションプログラム134の処理内容に関連する資源のボトルネックに関して、WAS120のプロセッサの使用量が許容範囲外になった場合に、負荷制御処理5を行うべきことを示す負荷制御情報を格納する。また、負荷制御情報格納部177は、トランザクションの内容やアプリケーションプログラム134の処理内容に関連する資源のボトルネックに関して、DBS150のプロセッサ又はディスクの使用量が許容範囲外になった場合に、負荷制御処理5及び6をこの優先順位で行うべきことを示す負荷制御情報を格納する。
図5は、本発明の実施形態に係るコンピュータ900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ900は、負荷制御プログラムを実行することにより負荷制御サーバ160として機能する。コンピュータ900は、ホスト・コントローラ1082により相互に接続されるCPU1000、RAM1020、グラフィック・コントローラ1075、及び表示装置1080を有するCPU周辺部と、入出力コントローラ1084によりホスト・コントローラ1082に接続される通信インターフェイス1030、記憶装置1040、及びCD−ROMドライブ1060を有する入出力部と、入出力コントローラ1084に接続されるROM1010、フレキシブルディスク・ドライブ1050、及び入出力チップ1070を有するレガシー入出力部とを備える。
ホスト・コントローラ1082は、RAM1020と、高い転送レートでRAM1020をアクセスするCPU1000及びグラフィック・コントローラ1075とを接続する。CPU1000は、ROM1010及びRAM1020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ1075は、CPU1000等がRAM1020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィック・コントローラ1075は、CPU1000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ1084は、ホスト・コントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、記憶装置1040、CD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して他の装置と通信する。記憶装置1040は、コンピュータ900内のCPU1000が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、RAM1020を介して記憶装置1040に提供する。
また、入出力コントローラ1084には、ROM1010と、フレキシブルディスク・ドライブ1050や入出力チップ1070等の比較的低速な入出力装置とが接続される。ROM1010は、コンピュータ900が起動時に実行するブート・プログラムや、コンピュータ900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、RAM1020を介して記憶装置1040に提供する。入出力チップ1070は、フレキシブルディスク・ドライブ1050や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
RAM1020を介して記憶装置1040に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。WAS120をHTTPサーバ部125、WEBアプリケーションサーバ部130、処理時間取得部140、処理負荷取得部142、及びサーバ内負荷制御部144として機能させるプログラムは、記録媒体から読み出され、通信インターフェイス1030を介してWAS120にインストールされ、WAS120として用いられるサーバコンピュータにおいて実行される。また、DBS150をDB152、DB処理要求I/F部153、処理負荷取得部156及びサーバ内負荷制御部158として機能させるプログラムは、記録媒体から読み出され、通信インターフェイス1030及び負荷制御サーバ160を介してDBS150にインストールされ、DBS150として用いられるサーバコンピュータにおいて実行される。また、コンピュータ900を負荷制御サーバ160として機能させる負荷制御プログラムは、記録媒体から読み出され、RAM1020を介してコンピュータ900内の記憶装置1040にインストールされ、CPU1000において実行される。
WAS120にインストールされるプログラムは、HTTPサーバプログラムと、多重度制御モジュール及びDBアクセス制御モジュールを有するWEBアプリケーションサーバプログラムと、処理時間取得モジュールと、処理負荷取得モジュールと、サーバ内負荷制御モジュールとを備える。これらのプログラム及びモジュールは、WAS120を、HTTPサーバ部125と、多重度制御部132及びDBアクセス制御部136を有するWEBアプリケーションサーバ部130と、処理時間取得部140と、処理負荷取得部142と、サーバ内負荷制御部144としてそれぞれ機能させる。
DBS150にインストールされるプログラムは、DBエンジンプログラムと、処理負荷取得モジュールと、サーバ内負荷制御モジュールとを備える。これらのプログラム及びモジュールは、DBS150を、DBエンジン154と、処理負荷取得部156と、サーバ内負荷制御部158としてそれぞれ機能させる。
コンピュータ900にインストールされ、コンピュータ900を負荷制御サーバ160として機能させる負荷制御プログラムは、処理時間監視モジュールと、ボトルネック特定モジュールと、処理負荷監視モジュールと、負荷制御情報取得モジュール及び負荷制御処理モジュールを有する負荷制御モジュールとを備える。これらのプログラム及びモジュールは、コンピュータ900を、処理時間監視部165と、ボトルネック特定部170と、処理負荷監視部190と、負荷制御情報取得部179及び負荷制御処理部181を有する負荷制御部175としてそれぞれ機能させる。
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ900に提供し、コンピュータ900から負荷制御サーバ160を介してWAS120又はWEBアプリケーションサーバ部130へ提供してもよい。
以上に示した情報システム10によれば、負荷制御情報格納部177は、ボトルネックの存在箇所及び高負荷と判定された資源に対応して、適切な負荷制御処理を格納することができる。そして負荷制御部175は、負荷制御情報格納部177に格納された負荷制御情報に基づいて、WAS120上で実行されるアプリケーションプログラム134の多重度を変更したり、DB152をアクセスする処理の優先度を変更したりする等の負荷制御処理を適切に行うことができる。
更に情報システム10によれば、複数のアプリケーションプログラム134のそれぞれの処理時間に応じて、複数のアプリケーションプログラム134のそれぞれが実行される多重度及びDBS150におけるアクセスの優先順位を適切に変更することができる。これにより、多種多様な業務システム等を併せて情報システム10で稼動させる場合においても、あるアプリケーションプログラム134が異常にシステム資源を消費した場合の影響で、他のアプリケーションプログラム134のサービスレベルが低下しても、自動的に検知し、短時間で自動的に復旧させることができ、それぞれのアプリケーションプログラム134を別個の情報システム10で実行した場合と同等の頑強さを有する情報システム10を実現することができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
本発明の実施形態に係る情報システム10の構成を示す。 本発明の実施形態に係る情報システム10のボトルネック特定フローを示す。 本発明の実施形態に係る情報システム10の高負荷判定方法を示す。 本発明の実施形態に係る負荷制御情報格納部177に格納される負荷制御情報の一例を示す。 本発明の実施形態に係るコンピュータ900のハードウェア構成の一例を示す。

Claims (14)

  1. 端末から受信したトランザクションに応じてアプリケーションプログラムをそれぞれ実行する複数のアプリケーションサーバと、前記複数のアプリケーションサーバのそれぞれの要求に基づきデータベースをアクセスするデータベースサーバとを備える情報システムであって、
    前記複数のアプリケーションサーバのそれぞれについて、当該アプリケーションサーバが受信した前記トランザクションを前記アプリケーションプログラムが処理する処理時間を監視する処理時間監視部と、
    前記複数のアプリケーションサーバのそれぞれについての前記処理時間の監視結果に基づいて、前記処理時間が予め定められた許容範囲内でない前記アプリケーションサーバにボトルネックがあると特定するボトルネック特定部と、
    ボトルネックがあると特定された前記アプリケーションサーバ上で前記アプリケーションプログラムを実行する多重度を低下させる負荷制御部と
    を備える情報システム。
  2. 前記ボトルネック特定部は、前記複数のアプリケーションサーバのそれぞれについての前記処理時間の監視結果に基づいて、前記アプリケーションサーバ数未満のしきい値以下の数の前記アプリケーションサーバについて前記処理時間が予め定められた許容範囲内でないことを条件として、当該アプリケーションサーバにボトルネックがあると特定する手段と、
    前記しきい値を超える数の前記アプリケーションサーバについて前記処理時間が予め定められた許容範囲内でない場合に、前記データベースサーバにボトルネックがあると特定する手段を備え、
    前記負荷制御部は、当該アプリケーションサーバにボトルネックがあると特定された場合に、当該アプリケーションサーバ上で前記アプリケーションプログラムを実行する多重度を低下させ、
    前記データベースサーバにボトルネックがあると特定された場合に、前記複数のアプリケーションサーバのそれぞれについて前記アプリケーションプログラムを実行する多重度を低下させる
    請求項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に記載の負荷制御プログラムを記録した記録媒体。
JP2005515011A 2003-10-29 2004-10-27 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体 Active JP4205103B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JPWO2005041038A1 JPWO2005041038A1 (ja) 2007-04-19
JP4205103B2 true JP4205103B2 (ja) 2009-01-07

Family

ID=34510356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005515011A Active JP4205103B2 (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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171347A (ja) * 2012-02-17 2013-09-02 Fujitsu Frontech Ltd 情報処理装置、サーバ検出方法、及びプログラム

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4205103B2 (ja) * 2003-10-29 2009-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体
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
WO2010010723A1 (ja) * 2008-07-22 2010-01-28 トヨタ自動車株式会社 マルチコアシステム、車両用電子制御ユニット、タスク切り替え方法
US8515833B2 (en) * 2008-08-29 2013-08-20 8X8, Inc. Methods and systems for multilayer provisioning of networked contact centers
US10033869B2 (en) 2008-08-29 2018-07-24 8X8, Inc. Methods and systems for information streaming to user interface
US8972885B2 (en) * 2008-08-29 2015-03-03 8X8, Inc. Networked contact center 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
US8204206B2 (en) * 2008-08-29 2012-06-19 8X8, Inc. Systems and methods for selection of a communication path
JP5343586B2 (ja) * 2009-01-29 2013-11-13 富士通株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP5428075B2 (ja) * 2009-04-17 2014-02-26 株式会社日立製作所 性能モニタリングシステム、ボトルネック判定方法及び管理計算機
JP5482052B2 (ja) * 2009-09-24 2014-04-23 富士通株式会社 観測分析装置および観測分析方法
CN102597957B (zh) * 2009-10-29 2015-01-21 日本电气株式会社 系统部署确定系统、系统部署确定方法及程序
CN101777009B (zh) * 2009-11-30 2012-12-19 英业达股份有限公司 应用程序的负载控管方法
JP5458308B2 (ja) * 2010-06-11 2014-04-02 株式会社日立製作所 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置
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
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
EP2951686A4 (en) * 2013-01-31 2016-10-12 Hewlett Packard Entpr Dev Lp ASSIGNMENT OF PHYSICAL RESOURCES
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 乐视网信息技术(北京)股份有限公司 一种数据库容量控制方法及装置
JP6233141B2 (ja) * 2014-03-28 2017-11-22 沖電気工業株式会社 データベースシステム、データベースサーバ、データベースサーバプログラム、データベースクライアント及びデータベースクライアントプログラム
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
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
US20220083679A1 (en) 2020-09-14 2022-03-17 Box, Inc. Broker-assisted workflows
KR20220101789A (ko) * 2021-01-12 2022-07-19 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법

Family Cites Families (39)

* 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
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 日本電気株式会社 クラスタ型コンピュータのジョブスケジュール方法及び装置
US6230183B1 (en) * 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
JP2000268012A (ja) 1999-03-12 2000-09-29 Nec Corp クライアントサーバシステムにおけるサーバ負荷の分散方法ならびに装置
AU6902300A (en) 1999-08-13 2001-03-13 Sun Microsystems, Inc. Graceful distribution in application server load balancing
US6859834B1 (en) * 1999-08-13 2005-02-22 Sun Microsystems, Inc. System and method for enabling application server request failover
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
JP2001160040A (ja) 1999-12-01 2001-06-12 Nec Corp サーバ多重度制御装置、サーバ多重度制御方法およびサーバ多重度制御プログラムを記録した記録媒体
US6560717B1 (en) 1999-12-10 2003-05-06 Art Technology Group, Inc. Method and system for load balancing and management
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
US7069267B2 (en) * 2001-03-08 2006-06-27 Tririga Llc Data storage and access employing clustering
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 高建国际有限公司 便于用户在收看电视时浏览互联网的网络系统和方法
JP3805711B2 (ja) * 2002-04-05 2006-08-09 日本電信電話株式会社 サイト領域内ボトルネック特定方法
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
JP4205103B2 (ja) 2003-10-29 2009-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体
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 株式会社日立製作所 実行多重度制御システム、実行多重度制御システムの制御方法、及びプログラム
IL167628A (en) * 2004-06-04 2010-11-30 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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171347A (ja) * 2012-02-17 2013-09-02 Fujitsu Frontech Ltd 情報処理装置、サーバ検出方法、及びプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4205103B2 (ja) 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体
US9244703B2 (en) Server system and management unit identifying a plurality of business application software on a virtual machine based on a program boundary for dynamic resource allocation
JP4920391B2 (ja) 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US7975268B2 (en) Grid computing system, management server, processing server, control method, control program and recording medium
EP2698711B1 (en) Method for dispatching central processing unit of hotspot domain virtual machine and virtual machine system
US20070150571A1 (en) System, method, apparatus and program for event processing
US7574620B2 (en) Method for operating an arrangement of a plurality of computers in the event of a computer failure
US20170048163A1 (en) Method and system for resource scheduling
US20080263128A1 (en) Information Processing System and Information Processing Device
CN111988234A (zh) 过载保护方法、装置、服务器及存储介质
WO2002097622A2 (en) A resource management method
WO2024113813A1 (zh) 降功耗的方法、系统、计算机设备及存储介质
US10303404B2 (en) Method for operating a print server for digital high-capacity printing systems
US9164765B2 (en) Method for managing a processor, lock contention management apparatus, and computer system
US20180173473A1 (en) Method for operating a print server for digital high-capacity printing systems
CN115543222B (zh) 一种存储优化方法、系统、设备及可读存储介质
CN116127494A (zh) 用户并发访问的控制方法及相关装置
JP3809870B2 (ja) 容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置
CN112395058A (zh) 任务调控装置、方法和系统
KR102262645B1 (ko) 클라우드 컴퓨팅 환경에서의 리소스관리를 위한 모니터링 시스템 및 방법
CN116431074A (zh) 一种热点数据访问方法、装置、设备及介质
CN117873404A (zh) 一种基于机器视觉多相机的硬盘存图优化方法及系统
CN115705246A (zh) 基于标签传递的资源动态调整系统及方法
WO2017027649A1 (en) Method and system for resource scheduling
JPS6394349A (ja) デ−タ処理装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20071029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081007

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081015

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4205103

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250