JP2013134636A - 計算機負荷制御方法 - Google Patents

計算機負荷制御方法 Download PDF

Info

Publication number
JP2013134636A
JP2013134636A JP2011284732A JP2011284732A JP2013134636A JP 2013134636 A JP2013134636 A JP 2013134636A JP 2011284732 A JP2011284732 A JP 2011284732A JP 2011284732 A JP2011284732 A JP 2011284732A JP 2013134636 A JP2013134636 A JP 2013134636A
Authority
JP
Japan
Prior art keywords
cpu
processing unit
usage rate
utilization rate
interruption
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.)
Pending
Application number
JP2011284732A
Other languages
English (en)
Inventor
Daisuke Matsui
大輔 松井
Yuichi Sakakibara
雄一 榊原
Shinichi Fukuda
晋一 福田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011284732A priority Critical patent/JP2013134636A/ja
Publication of JP2013134636A publication Critical patent/JP2013134636A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】計算機の高負荷状態検出時、他計算機へ処理の移設を行う際、高負荷状態が時間経過に伴い軽減される計算機を提供する。
【解決手段】業務処理部は、リクエスト受け付けて、前記リクエストに基づいて処理し、CPU利用率取得処理部は定期的にCPU利用率を取得し、CPU利用率記憶部は、前記取得した前記CPU利用率を格納し、中断処理部はCPU利用率監視及び定められた値に従いプロセスを中断し、設定情報部は、前記CPU利用率の閾値情報及び中断情報を格納し、プロセス中断処理部は、前記CPU利用率が閾値以上となり、高負荷状態を検出した場合、定められた値に従いプロセスを中断する事で高負荷状態を軽減する。
【選択図】図1

Description

本発明は、複数の計算機からなる計算機システムにおける計算機の負荷制御技術に関する。
本技術分野の背景技術として、特許文献1に開示されている。特許文献1には、ネットワークに接続された複数のサーバの負荷を監視し、サーバ間の負荷分散を行う負荷分散装置であって、負荷が予め定められた閾値以上のサーバを検出した場合、前記サーバに登録されているがセッション接続がないユーザ端末が存在する場合、前記ユーザ端末の登録を、負荷が前記閾値以上の前記サーバから、負荷が前記閾値よりも小さい他のサーバに変更する方式が記載されている。
特開2009−237935号公報
前記特許文献1に開示されているような技術では、計算機において高負荷状態を検出した際、高負荷状態ではない計算機へ処理の移設を行う事は出来るが、高負荷状態を検出した計算機における高負荷状態を軽減するといった制御は行っていない。
そこで、本発明の目的は、計算機の高負荷状態を検出した際の負荷を制御する方法を提供する。例えば、閾値を超える高負荷状態を検出した場合、定められた値に従いプロセスを中断し、計算機の負荷を軽減させることにある。
上記課題を解決するために、「ネットワークに接続され、ロードバランサを経由し、クライアント端末からのリクエストを受ける計算機において、リクエスト受けて動作する業務処理部と、定期的にCPU利用率を取得するCPU利用率取得処理部と、取得したCPU利用率を格納するCPU利用率記憶部とCPU利用率監視及び定められた値に従いプロセスを中断する中断処理部と、CPU利用率の閾値情報及び中断情報が格納された設定情報部を有し、CPU利用率が閾値以上となり、高負荷状態を検出した場合、定められた値に従いプロセスを中断する事で高負荷状態を軽減することを特徴とする。
本発明によれば、計算機の高負荷状態が継続するような状況において、定めれた値に従い、動作中の業務プロセスを中断する事で高負荷状態を軽減する事が出来る。
計算機の負荷制御を行う為の構成図である。 設定情報部のCPU利用率閾値情報の構成を示す一例である。 設定情報部の中断対象プロセスリストの構成を示す一例である。 設定情報部のプロセス中断情報の構成を示す一例である。 CPU利用率記憶部のシステム全体のCPU管理TABLEの構成を示す一例である。 CPU利用率記憶部のプロセス単位のCPU管理TABLEの構成を示す一例である。 CPU利用率取得処理部の処理を説明するシーケンスである。 中断処理部のCPU利用率監視処理部の処理を説明するフローチャートである。 中断処理部のプロセス中断処理部の処理を説明するフローチャートである。
以下、本発明を実施する為の形態について図面を用いて詳細に説明する。
図1は、本発明における計算機負荷制御方法の全体構成を示す構成図である。計算機106は、CPU107、メモリ108、ディスク120で構成され、ネットワーク102(105)を通じて、ロードバランサ103、クライアント端末101、管理端末104に接続する。ロードバランサ103は、複数ある計算機106へクライアント端末101からのリクエストを負荷分散させる為に用いる。また、管理端末104は負荷制御を行う為の設定情報を複数ある計算機106へ転送する為に用いる。
CPU107は、計算機106を動作させる上で必要となる中央演算処理装置である。ディスク120には、設定情報部121を有する。設定情報部121は、CPU利用率閾値情報122、中断対象プロセスリスト123、プロセス中断情報124で構成される。メモリ108には、OS109、業務処理部110、CPU利用率取得処理部111、CPU利用率記憶部114、中断処理部117を有する。
CPU利用率取得部111は、システム全体取得処理部112、プロセス単位取得処理部113とで構成される。また、CPU利用率記憶部114は、システム全体のCPU管理TABLE115、プロセス単位のCPU管理TABLE116とで構成される。また、中断処理部117は、CPU利用率監視処理部118、プロセス中断処理部119とで構成される。
前記した構成における負荷制御方法の概要を次に説明する。ネットワーク102(105)に接続されたクライアント端末101からのリクエストはロードバランサ103を経由し計算機106へ負荷分散して送られる。リクエストを受けた計算機106では、クライアント端末101から送られたリクエストを処理する業務処理部110が動作し、処理結果をクライアント端末101へ応答する。通常はこのような動作になるが、処理するデータ量の違いといった業務処理部110が動作する条件の差異により、CPU107のCPU利用率を多量に消費するようなケースがあった場合、その計算機106において高負荷状態になる可能性がある。
負荷制御を行う場合は、ネットワーク102に接続された管理端末104から各計算機106に、設定情報を転送し、ディスク120に格納する。設定情報がディスク120に格納されると、ロードバランサ103を経由するクライアント端末101からのリクエストを受け付けられるようになり、業務プロセスが動作する。業務プロセスが動作すると、システム全体取得処理部112は、OS109を経由してシステム全体のCPU利用率を1秒間隔で取得し、取得したCPU利用率の情報をシステム全体のCPU管理TABLE115に格納する。プロセス単位取得処理部113は、OS109を経由して、プロセス単位のCPU利用率603とPID602を1秒間隔で取得し、その取得したCPU利用率603とPID602をプロセス単位のCPU管理TABLE116に格納する。
システム全体のCPU管理TABLE115、プロセス単位のCPU管理TABLE116はメモリテーブルであり、前記のシステム全体取得処理部112、プロセス単位取得処理部113が取得した情報が格納される。
CPU利用率監視処理部118は、1秒間隔で、システム全体のCPU管理TABLE115を参照し、CPU利用率閾値情報122の値と比較する事で、CPU利用率501が閾値201以上かを確認する。システム全体のCPU管理TABLE115のCPU利用率501が閾値201以上の場合、プロセス中断処理部119が呼び出される。呼び出されたプロセス中断処理部119は、プロセス中断情報124、プロセス単位のCPU管理TABLE116を参照し、定められた値に従い、業務処理部110で動作するプロセスを中断する。
業務処理部110のプロセスを中断した場合、そのプロセスが処理していたクライアント端末101から送られたリクエストはエラーになってしまうが、ロードバランサ103がタイムアウトを検出する事で、クライアント端末101へエラーを返さず、他計算機106へリクエストを再送する。このように負荷制御する事で、高負荷状態時における負荷を軽減し、クライアント端末101からのリクエストをエラーとせず再送する。
各処理部は、プログラムやオブジェクトで実現する場合、CPU107でそれらを実行させることで、各処理部の機能を実現する。また、各処理部について同じ機能をハードウェアで実現することも可能である。
次に負荷制御を行う上で参照する設定情報とテーブルについて説明する。
図2は、設定情報部121のCPU利用率閾値情報122の構成内容を示す図である。CPU利用率閾値情報122の閾値201のみ保持し、閾値201にはシステム全体のCPU利用率に対する閾値201を登録する。閾値201は、CPU利用率監視処理部118がプロセス中断処理部119を呼び出す判定情報として使用する。なお、図2は、閾値201に80%を指定した例である。
また、閾値201を決定する際は、事前にシステムの運用状態を確認し平常時のシステム全体のCPU利用率の情報をOS109のCPU利用率取得コマンドで確認し、平常時を超える値を閾値201に設定する。
図3は、設定情報部121の中断対象プロセスリスト123の構成内容を示す図である。中断対象プロセスリスト123は、プロセス名301と閾値302のカラムで構成され、プロセス名301には中断対象となるプロセスの名称を1つ以上登録する。閾値302には、各プロセス名ごとのプロセス単位のCPU利用率の閾値302を登録する。登録情報は、プロセス中断処理部119がプロセスを中断する際の判定情報として使用する。
なお、図3は、プロセス名301にプロセスA、B〜Zを指定し、閾値302にそれぞれ20、30、10を指定303した例である。登録するプロセス名は、業務処理部110で動作するプロセス名を登録する。
また、プロセス単位の閾値302を決定する際は、事前にクライアント端末101からリクエストを受け業務処理部110が動作している状態において、各プロセスのCPU利用率をOS109のCPU利用率取得コマンドを用いて確認し、平常時を超える値を閾値302に設定する。
図4は、設定情報部121のプロセス中断情報124の構成内容を示す図である。プロセス中断情報124は、プロセス中断処理部119がプロセスを中断する際の判定情報として使用する。登録する情報は、CASE1(401)、CASE2(402)、CASE3(403)の3種類があり、CASE1(401)は中断対象プロセスリスト123の閾値302以上のCPU利用率603のプロセスを中断する、CASE2(402)は中断対象プロセスリスト123の閾値302に対して設定した割合以上のCPU利用率となっているプロセスを中断する、CASE3(403)は、中断対象プロセスリスト123に登録されているプロセス全てを中断する意味を有する。設定時、CASE1(401)、CASE2(402)、CASE3(403)のいずれかを登録する。なお、CASE2(402)を登録する場合、CASE2(402)と記述した後に「|割合の数値」を記述し登録する。
例えば、中断対象プロセスリスト123のあるプロセスの閾値302が80%が登録されている状態で、あるプロセスのCPU利用率が50%以上となったプロセスを中断する場合、「CASE2|7」のように登録する。このように登録する事で、CPU利用率56(8×7)%以上のプロセスが中断対象となる。
また、CASE1(401)、CASE2(402)、CASE3(403)を決定する際は、システムの運用として何が重点項目かによって決定する。必要最小限のプロセスのみ中断して高負荷状態を軽減する場合、CASE1(401)を登録する。閾値302に近づきつつあるプロセス含めてプロセスを中断し高負荷状態を軽減する場合、CASE2(402)を登録する。高負荷状態の軽減が優先の場合、CASE3(403)を登録する。
図5は、CPU利用率記憶部114のシステム全体のCPU管理TABLE115の構成内容を示す図である。システム全体のCPU管理TABLE115は、CPU利用率501のみ保持し、システム全体取得処理部112が定期的に取得したシステム全体のCPU利用率を登録する。登録した情報は、CPU利用率監視処理部118がプロセス中断処理部119を呼び出す判定情報として使用する。なお、図5は、CPU利用率に85%が登録されている例である。
図6は、CPU利用率記憶部114のプロセス単位のCPU管理TABLE116の構成内容を示す図である。プロセス単位のCPU管理TABLE116は、プロセス名601とPID602とCPU利用率603のカラムで構成され、プロセス名601には、中断対象プロセスリスト123の情報を登録する。PID602には、プロセス単位取得処理部113が定期的に取得した、中断対象プロセスリスト123のプロセス名301の現在のPID602を登録する。CPU利用率603には、プロセス単位取得処理部113が定期的に取得した中断対象プロセスが使用しているCPU利用率603を登録する。なお、図6は、プロセス名にプロセスA、B〜Z、PIDに1001、1002〜1026、CPU利用率にそれぞれ10、40〜3が登録されている例である。
次に計算機負荷制御方法の各種処理について説明する。
図7は、CPU利用率取得処理部111の動作を示すシーケンス図である。ステップS701において、システム全体のCPU利用率取得部112は、OS109のCPU利用率取得コマンドを用いてシステム全体のCPU利用率501を取得する。取得後、ステップS702において、システム全体取得処理部112は、システム全体のCPU管理TABLE115にシステム全体のCPU利用率501を登録する。
ステップS703において、プロセス単位取得処理部113はOS109のCPU利用率取得コマンドを用いて、プロセス単位のCPU利用率603とPID602を取得する。取得時、中断対象プロセスリスト123に登録されているプロセスA、B〜Zの名称をOS109の情報抽出コマンドを用いて絞り込み、必要な情報のみを取得する。
ステップS704において、プロセス単位取得処理部113は、プロセス単位のCPU管理TABLE116に中断対象プロセスごとのCPU利用率603とPID602を登録する。CPU利用率取得処理部111では、ステップS701、S702、S703、S704の動作を1秒間隔で行い、システム全体、中断対象プロセス、それぞれのCPU利用率501とCPU利用率603とPID602を定期的に取得し、CPU利用率記憶部114に登録する。
PIDを初回だけでなく、CPU利用率と合わせて定期的に取得するのは、そのプロセスが再起動し、PID602が変更されている可能性を考慮する為である。
図8は、CPU利用率監視処理部118の処理を示すフローチャートである。ステップS801において、CPU利用率監視処理部118は、システム全体のCPU管理TABLE115のCPU利用率501を参照し、CPU利用率閾値122の閾値201の値と比較を行う。ステップS802において、システム全体のCPU管理TABLE115のCPU利用率501がCPU利用率閾値122の閾値201の値以上の場合、ステップS803において、プロセス中断処理部119を呼び出す。
システム全体のCPU管理TABLE115のCPU利用率501がCPU利用率閾値122の閾値201の値未満の場合、ステップS801、S802の処理を1秒間隔で繰返し行う。なお、図8の例の場合、図2の閾値201以上となっている為、プロセス中断対象処理部119を呼び出す。
図9は、中断処理部117のプロセス中断処理部119の処理を示すフローチャートである。ステップS901において、プロセス中断処理部119は、プロセス中断情報124を参照する。参照後、ステップS902において、プロセス中断情報124に従い処理が分岐する。
CASE1(401)の場合、ステップS903において、プロセス単位のCPU管理TABLE116のCPU利用率603と中断対象プロセスリスト123の閾値302に対して、同一プロセス名の情報を比較する。ステップS904において、比較した結果を評価し、プロセス単位のCPU管理TABLE116のCPU利用率603が中断対象プロセスリスト123の閾値302以上の場合、ステップ905において、そのプロセス名601に対応したPID602に対して、OS109のプロセス中断コマンドを用いてプロセスを中断する。中断後、ステップ906において、現在処理しているプロセス数をカウントアップし、ステップ907において、プロセス数分繰返したかを判定する。
プロセス単位のCPU管理TABLE116のCPU利用率603が中断対象プロセスリスト123の閾値302未満の場合、ステップ906において、現在処理しているプロセス数をカウントアップし、ステップ907において、プロセス数分繰返したかを判定する。
プロセス数分繰返した場合、中断処理を終了する。プロセス数分繰返していない場合、ステップS903、S904、S905、S906、S907を繰返し実行する。図3と図6のように情報が登録されていた場合、プロセスA、Zは中断せず、プロセスBのみを中断する。このようにCPU利用率が閾値302以上のプロセスを中断する事で、計算機106の高負荷状態を軽減することができる。
CASE2(402)の場合、ステップS908において、プロセス単位のCPU管理TABLE116のCPU利用率603と中断対象プロセスリスト123の閾値302に対して、同一プロセス名の情報を比較する。ステップS909において、比較した結果を評価し、プロセス単位のCPU管理TABLE116のCPU利用率603が中断対象プロセスリスト123の閾値302に対して設定した割合以上の場合、ステップ910において、そのプロセス名601に対するPID602に対してOS109のプロセス中断コマンドを用いてプロセスを中断する。中断後、ステップ911において、現在処理しているプロセス数をカウントアップし、ステップ912において、プロセス数分繰返したかを判定する。
プロセス単位のCPU管理TABLE116のCPU利用率603が中断対象プロセスリスト123の閾値302に対して設定した割合未満の場合、ステップ911において、現在処理しているプロセス数をカウントアップし、ステップ912において、プロセス数分繰返したかを判定する。
プロセス数分繰返した場合、中断処理を終了する。プロセス数分繰返していない場合、ステップS908、S909、S905、S910、S911を繰返し実行する。
なお、閾値の設定した割合が5割と仮定し、図3と図6のように情報が登録されている場合、プロセスZは中断せず、プロセスA、Bを中断する。このように閾値302以上またはプロセス中断情報124に設定した割合402以上のプロセスが停止する事で、計算機106の高負荷状態を軽減することができる。
CASE3(403)の場合、ステップS913において、プロセス単位のCPU管理TABLE116を参照し、登録されているプロセス名601のPID602対して、ステップ914において、OS109のプロセス中断コマンドを用いてプロセスを中断する。中断後、ステップ915において、現在処理しているプロセス数をカウントアップし、ステップ916において、プロセス数分繰返したかを判定する。
プロセス数分繰返した場合、中断処理を終了する。プロセス数分繰返していない場合、ステップS913、S914、S915、S916を繰返し実行する。
なお、図6のCPU利用率603の状況に関わらず、中断対象プロセスリスト123のプロセス全てを中断する為、プロセスA、B〜Zが中断する。このように中断対象プロセスを一斉に中断する事で、計算機106の高負荷状態を軽減することができる。
前記の設定情報やテーブル等を用いて、各種処理を動作に従い、高負荷状態を検出した場合、負荷を軽減する事が出来る。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
101 クライアント端末
103 ロードバランサ
104 管理端末
106 計算機
110 業務処理部
111 CPU利用率取得処理部
112 システム全体取得処理部
113 プロセス単位取得処理部
114 CPU利用率記憶部
115 システム全体のCPU管理TABLE
116 プロセス単位のCPU管理TABLE
117 中断処理部
118 CPU利用率監視処理部
119 プロセス中断処理部
121 設定情報部
122 CPU利用率閾値情報
123 中断対象プロセスリスト
124 プロセス中断情報

Claims (1)

  1. 記憶装置を備えた複数の計算機がネットワークに接続され、ロードバランサを経由し、クライアント端末からのリクエストを受ける計算機を備えた計算機負荷制御方法において、
    業務処理部は、前記リクエスト受け付けて、前記リクエストに基づいてプロセスを実行し、
    設定情報部は、前記記憶装置に備えた前記CPU利用率の閾値情報を格納し、
    CPU利用率取得処理部は、定期的に前記計算機のCPU利用率を取得し、
    CPU利用率記憶部は、前記取得したCPU利用率を前記記憶装置に格納し、
    中断処理部は、前記プロセスを中断し、
    プロセス中断処理部は、前記格納したCPU利用率が閾値以上となり、高負荷状態を検出した場合、前記中断処理部により前記閾値以上のプロセスを中断する事で高負荷状態を軽減する
    ことを特徴とする計算機負荷制御方法。
JP2011284732A 2011-12-27 2011-12-27 計算機負荷制御方法 Pending JP2013134636A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011284732A JP2013134636A (ja) 2011-12-27 2011-12-27 計算機負荷制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011284732A JP2013134636A (ja) 2011-12-27 2011-12-27 計算機負荷制御方法

Publications (1)

Publication Number Publication Date
JP2013134636A true JP2013134636A (ja) 2013-07-08

Family

ID=48911279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011284732A Pending JP2013134636A (ja) 2011-12-27 2011-12-27 計算機負荷制御方法

Country Status (1)

Country Link
JP (1) JP2013134636A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015056084A (ja) * 2013-09-13 2015-03-23 ヤフー株式会社 情報システム、第一サーバ装置、情報処理方法、及びプログラム
CN111857996A (zh) * 2020-06-30 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种中断处理方法、系统、设备及计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015056084A (ja) * 2013-09-13 2015-03-23 ヤフー株式会社 情報システム、第一サーバ装置、情報処理方法、及びプログラム
CN111857996A (zh) * 2020-06-30 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 一种中断处理方法、系统、设备及计算机可读存储介质
CN111857996B (zh) * 2020-06-30 2023-04-07 山东云海国创云计算装备产业创新中心有限公司 一种中断处理方法、系统、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US9503548B2 (en) Subscriber based priority of messages in a publisher-subscriber domain
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
US9027020B2 (en) Data and state threading for virtualized partition management
CN106940699B (zh) 一种内存数据的同步处理方法、装置、服务器及系统
CN103309731A (zh) 处理系统
JP6788690B2 (ja) 優先度の制御方法及びデータ処理システム
JP2012088770A (ja) コンピュータリソース制御システム
WO2014045549A1 (ja) マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法
CN108984290B (zh) 任务调度方法和系统
JP2013134636A (ja) 計算機負荷制御方法
CN108733536B (zh) 监控管理系统及方法
JP2009223519A (ja) クラスタシステム及び同システムにおいてマスタノードを選択する方法
CN113760522A (zh) 一种任务处理方法和装置
KR20220113710A (ko) Gpu 패킷 집계 시스템
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质
JP2014191378A (ja) サーバ数調整システムおよび方法ならびにプログラム
US10616317B2 (en) Method and system for affinity load balancing
US9792305B1 (en) System for controlling access to stored values
US20230353709A1 (en) Configuring a virtualised environment in a telecommunications network
CN112486638A (zh) 用于执行处理任务的方法、装置、设备和存储介质
CN113472638B (zh) 边缘网关控制方法及系统、装置、电子设备、存储介质
CN110971697A (zh) Redis单实例保护处理方法、装置、计算机设备及存储介质
CN113703906A (zh) 一种数据处理方法、装置及系统
WO2015125453A1 (ja) 情報処理装置及び負荷制御方法
JP6226666B2 (ja) バッチ処理制御プログラム、バッチ処理システム