JP2006317991A - プロセス数チューニング方法 - Google Patents
プロセス数チューニング方法 Download PDFInfo
- Publication number
- JP2006317991A JP2006317991A JP2005136799A JP2005136799A JP2006317991A JP 2006317991 A JP2006317991 A JP 2006317991A JP 2005136799 A JP2005136799 A JP 2005136799A JP 2005136799 A JP2005136799 A JP 2005136799A JP 2006317991 A JP2006317991 A JP 2006317991A
- Authority
- JP
- Japan
- Prior art keywords
- processes
- average
- load
- time
- multiplexity
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】 マルチプロセスコンピュータにおいて、クライアントからの要求によりサーバが高負荷状態の時に、従来は業務プログラムに実行優先度を動的に変更できることを前提としており、一方いわゆるオープンシステムで採用されるオペレーティングシステムではユーザレベルでのプロセスの実行優先度を変更する機能を備えていないことが大半であり、オープンシステムでは優先度の変更による負荷制御が実現できず負荷分散に困難が生じる。
【解決手段】 プロセスの並列処理数(多重度)を変更することで業務プログラムのスループットを調整し負荷分散を実現する。更に日々の業務プログラムごとの稼働統計情報によりCPU負荷のかからない時間帯にプロセスの並列処理数(多重度)を事前に変更し、高負荷状態時においては業務ごとのプロセスの並列処理数(多重度)のを調整してプロセスのチューニングを行う。
【選択図】 図1
【解決手段】 プロセスの並列処理数(多重度)を変更することで業務プログラムのスループットを調整し負荷分散を実現する。更に日々の業務プログラムごとの稼働統計情報によりCPU負荷のかからない時間帯にプロセスの並列処理数(多重度)を事前に変更し、高負荷状態時においては業務ごとのプロセスの並列処理数(多重度)のを調整してプロセスのチューニングを行う。
【選択図】 図1
Description
本発明はコンピュータシステムのチューニング方法に係り、特に、業務プログラム処理の要求性能に応じて、コンピュータシステム内のプロセス数を調整し、要求されたシステムの性能を発揮するために用いて好適なチューニング方法に関する。
従来、負荷分散を実現するものとして例えば特開2002-215406号公報に記載のように、クライアントからのサービス要求が高負荷の場合、業務プログラムの実行優先度を変更することでサーバ内の負荷分散を実現していた。
上記従来技術はクライアントの要求に優先度を設定し、優先度の高い要求を処理するプロセスの実行優先度を上げることで、システムに適した負荷制御を実現している。上記従来技術では業務プログラムの実行優先度を動的に変更できることを前提としている。一方いわゆるオープンシステムで採用されるオペレーティングシステムではユーザレベルでのプロセスの実行優先度を変更する機能を備えていないことが大半である。このため、オープンシステムでは優先度の変更による負荷制御が実現できず負荷分散に困難が生じる。
本発明の目的は実行時の優先度が変更できないオペレーティングシステムにおいても負荷分散を実現することである。また、本発明の更なる目的は、負荷分散のチューニング処理を自動化し性能管理コストを削減することである。
上記目的を達成するために、負荷分散装置はプロセスの並列処理数(多重度)を変更することで業務プログラムのスループットを調整し負荷分散を実現する。更に負荷分散装置は日々の業務プログラムごとの稼働統計情報をデータベースに集計し、業務プログラムに応じてCPU負荷のかからない時間帯にプロセスの並列処理数(多重度)を事前に変更する。クライアントからのサービス要求によりサーバが高負荷状態時においては、日々の業務ごとのプログラム処理時間や処理件数などの稼働統計情報と予め利用者が定義・設定した業務ごとの応答時間目標値の条件から業務ごとのプロセスの並列処理数(多重度)の決定を行う。
本発明は、オープンシステムでの負荷分散を実現する。また、日々の業務ごとの稼動統計情報を集計した集計結果と予め利用者が定義・設定した利用条件情報をもとにプロセスの数(多重度)を変更することでプロセス数チューニング機能を提供する。
以下、本発明の実施の形態について図面を用いて説明する。
図1は本発明の1実施例である。
CPU111、ディスプレイ112、キーボード113、2次記憶装置114、ネットワークインターフェース110、バス115を有するコンピュータシステム104上において、負荷制御装置105は業務プログラムA〜N個からなる業務プログラム群108と管理テーブル1、管理テーブル2を含むDB109を有する。コンピュータシステム104はバス115、ネットワークインターフェース110からネットワーク103を介して、クライアントプログラム102を有するひとつ又は複数のクライアントコンピュータ端末101に接続されている。負荷制御装置105は統計情報を取得するプロセス稼動統計情報計測部106とプロセス数(多重度)を管理するプロセス管理部107より成る。ここでプロセスとはオペレーティングシステムによって実行されているプログラムのインスタンスである。
図2は図1におけるプロセス稼働統計情報計測部106の手順である。プロセス稼動統計情報計測部106はクライアントの要求により業務ごとの実行プロセスのプロセス処理要求発生時間201、プログラム名称202、業務プログラム開始時間203、CPU使用率204、業務プログラム終了時間205の取得をおこない、業務ごと日時ごとの平均応答時間の取得206、平均処理時間の取得207、トランザクション発生件数の取得208、プロセス数の取得209を集計して、その結果をDB109の管理テーブル1に渡すものである。平均応答時間の取得206の集計方法は、業務プログラムの終了時間205とプロセス処理要求発生時間201の差分を応答時間とし、業務の応答時間ごとに日時ごとの平均値を算出し平均応答時間とするものである。平均処理時間の取得207の集計方法は、業務プログラム終了時間205と業務プログラム開始時間203の差分を処理時間とし、業務の処理時間ごとに日時ごとの平均値を平均処理時間とするものである。また、トランザクション発生件数の取得208の集計方法は、単位時間内の業務ごとのトランザクション発生数を積算することでトランザクション発生件数とするものである。プロセス数の取得209の算出方法は日時ごとの実行プロセス数の平均値をプロセス数とするものである。
図3は図1におけるプロセス管理部107の手順である。DB109の管理テーブル2より一定時間先の平均プロセス数503に変更があるかの判定301を行う。変更がない場合は管理テーブル1の利用条件情報の処理判定内か304に進み、変更がある場合はその変更が増加によるものかの判定302を行う。増加の変更でない場合は管理テーブル1の利用条件情報の処理判定内か304に進み、増加の変更の場合は現在のCPU利用率と管理テーブル2にある平均CPU利用率504よりCPU利用率の低い時間に平均プロセス数503の値となるまでプロセスを起動する303。次にDB109の管理テーブル2、から業務ごと日時ごとの平均処理時間407と平均トランザクション発生件数406、応答時間目標値403を取得し、平均処理時間407が予め利用者が定義・設定した応答時間目標値403の処理時間内か判定304を行う。範囲内であれば処理を終了する。範囲外であれば、プロセス数算出処理305を行う。ここでのプロセス数決定処理は一般に知られているものを使用する。例えば待ち行列理論(日科技連出版社 応用待ち行列理論)がある。直前の時刻の平均トランザクション発生数406をλ(平均到着率)、平均処理時間407の値をμ(平均処理率)として例えば待ち行列理論の以下の式により平均待ち時間Wの値を予め利用者が定義・設定した応答時間目標値403の時間内で処理できるようにプロセス数s(窓口の個数)の算出を行う。
Lq={λμaS/((s−1)!(sμ−λ) 2)}P0,
L=Lq+a,
Wq=Lq/λ,
W=Wq+1/μ
{a=λ/μ、ρ=a/s}
λ:平均到着率
μ:平均処理率
s:窓口の個数
ρ:利用率
P0:系の中を含むキューが0個である確率
Pn:系の中のキューがn個である確率
L:系の中にいるキューの平均待ち数
Lq:サービスを待っているキューの平均個数
W:平均応答時間
Wq:平均待ち時間
その結果算出された業務ごとのプロセスの多重度が、現在設定されているプロセス数の設定値を超えているかの判定を行う(306)。プロセスの設定値を超えている場合は、プロセスの多重度の値を目標値範囲内で処理できる値まで起動をおこない(307)、プロセスの設定値が超えていない場合は、303で行なわれた統計情報の事前起動によってプロセスが起動されているかの判定308を行い、事前起動によるものであれば処理を終了し、事前起動でない場合はプロセスの多重度の数を平均応答時間目標値範囲内で処理できる値まで停止する(309)。
Lq={λμaS/((s−1)!(sμ−λ) 2)}P0,
L=Lq+a,
Wq=Lq/λ,
W=Wq+1/μ
{a=λ/μ、ρ=a/s}
λ:平均到着率
μ:平均処理率
s:窓口の個数
ρ:利用率
P0:系の中を含むキューが0個である確率
Pn:系の中のキューがn個である確率
L:系の中にいるキューの平均待ち数
Lq:サービスを待っているキューの平均個数
W:平均応答時間
Wq:平均待ち時間
その結果算出された業務ごとのプロセスの多重度が、現在設定されているプロセス数の設定値を超えているかの判定を行う(306)。プロセスの設定値を超えている場合は、プロセスの多重度の値を目標値範囲内で処理できる値まで起動をおこない(307)、プロセスの設定値が超えていない場合は、303で行なわれた統計情報の事前起動によってプロセスが起動されているかの判定308を行い、事前起動によるものであれば処理を終了し、事前起動でない場合はプロセスの多重度の数を平均応答時間目標値範囲内で処理できる値まで停止する(309)。
図4は図1におけるDB109の管理テーブル1である。プロセス稼働統計情報計測部106により得た業務ごと日時ごとの集計単位401、業務プログラム名称402、プロセス数404、CPU使用率405、平均トランザクション発生件数406、平均処理時間407、平均応答時間408と予め利用者が設定した業務ごとの応答時間目標値403を格納している。
図5は図1におけるDB109の管理テーブル2である。管理テーブル1で格納したプロセス数404、CPU使用率405から時刻単位による集計単位501毎に平均値化し、業務プログラム名称502、平均プロセス数503、平均CPU使用率504に格納するものである。
101…クライアントコンピュータ端末、102…クライアントプログラム、103…ネットワーク、104…コンピュータシステム、105…負荷制御装置、106…プロセス稼動統計情報計測部、107…プロセス管理部、108…業務プログラム群、109…DB、110…ネットワークインターフェース、111…CPU、112…ディスプレイ、113…キーボード、114…2次記憶装置、115…バス。
Claims (1)
- ネットワークを介してひとつ又は複数のクライアントコンピュータに接続されたマルチプロセスコンピュータで、日々のプロセス稼働統計情報と応答時間目標値情報からプロセス数を調整するプロセス数チューニング方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005136799A JP2006317991A (ja) | 2005-05-10 | 2005-05-10 | プロセス数チューニング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005136799A JP2006317991A (ja) | 2005-05-10 | 2005-05-10 | プロセス数チューニング方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006317991A true JP2006317991A (ja) | 2006-11-24 |
Family
ID=37538659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005136799A Pending JP2006317991A (ja) | 2005-05-10 | 2005-05-10 | プロセス数チューニング方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006317991A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204243A (ja) * | 2007-02-21 | 2008-09-04 | Hitachi Software Eng Co Ltd | ジョブ実行制御方法およびシステム |
JP2011054114A (ja) * | 2009-09-04 | 2011-03-17 | Nippon Telegr & Teleph Corp <Ntt> | メモリリーク対応処理方法及び装置及びプログラム |
CN102207889A (zh) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | 命令控制方法和命令控制器 |
JP2015176321A (ja) * | 2014-03-14 | 2015-10-05 | 株式会社リコー | 情報処理システム、及び情報処理方法 |
US9329902B2 (en) | 2012-09-05 | 2016-05-03 | Fujitsu Limited | Information processing method of controlling variation in a number of processes, storage medium, and information processing device |
CN108509261A (zh) * | 2018-03-07 | 2018-09-07 | 青岛海信电器股份有限公司 | 终端设备中对象的设置方法、装置及终端设备 |
-
2005
- 2005-05-10 JP JP2005136799A patent/JP2006317991A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008204243A (ja) * | 2007-02-21 | 2008-09-04 | Hitachi Software Eng Co Ltd | ジョブ実行制御方法およびシステム |
JP2011054114A (ja) * | 2009-09-04 | 2011-03-17 | Nippon Telegr & Teleph Corp <Ntt> | メモリリーク対応処理方法及び装置及びプログラム |
CN102207889A (zh) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | 命令控制方法和命令控制器 |
CN102207889B (zh) * | 2010-03-31 | 2013-10-23 | 国际商业机器公司 | 命令控制方法和命令控制器 |
US9329902B2 (en) | 2012-09-05 | 2016-05-03 | Fujitsu Limited | Information processing method of controlling variation in a number of processes, storage medium, and information processing device |
JP2015176321A (ja) * | 2014-03-14 | 2015-10-05 | 株式会社リコー | 情報処理システム、及び情報処理方法 |
CN108509261A (zh) * | 2018-03-07 | 2018-09-07 | 青岛海信电器股份有限公司 | 终端设备中对象的设置方法、装置及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8448186B2 (en) | Parallel event processing in a database system | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US8386512B2 (en) | System for managing data collection processes | |
US20060212873A1 (en) | Method and system for managing load balancing in data processing system | |
US8006003B2 (en) | Apparatus, system, and method for enqueue prioritization | |
US20100005468A1 (en) | Black-box performance control for high-volume throughput-centric systems | |
JP2005062927A (ja) | 負荷制御方法および装置並びにその処理プログラム | |
US8745335B2 (en) | Memory arbiter with latency guarantees for multiple ports | |
JP2006317991A (ja) | プロセス数チューニング方法 | |
US8150994B2 (en) | Providing flow control and moderation in a distributed message processing system | |
US20030187969A1 (en) | Most eligible server in a common work queue environment | |
CN109117279A (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN116016546A (zh) | 一种在cdn中批量预热资源文件的方法及系统 | |
EP1607880A1 (en) | Decentralized processing control device, decentralized processing control method, decentralized processing control program | |
US20090222599A1 (en) | Apparatus, system, and method for enqueue prioritization | |
US7779411B2 (en) | System, method and medium for providing asynchronous input and output with less system calls to and from an operating system | |
JP2010198184A (ja) | ジョブ管理システム、その方法及びそのプログラム | |
US9298652B2 (en) | Moderated completion signaling | |
Xu et al. | Admission Control with Response Time Objectives for Low-latency Online Data Systems | |
US20190347139A1 (en) | Technique for Determining a Load of an Application | |
JP2006012065A (ja) | 資源負荷適正化管理システム | |
US10979359B1 (en) | Polling resource management system | |
US8732514B2 (en) | Using pulses to control work ingress | |
US9471374B2 (en) | Request processing system, method and program product | |
US20100094827A1 (en) | Query Stream Execution Using Priority Gradient Multiprogramming |