JPH09185532A - Method for estimating and monitoring software performance - Google Patents

Method for estimating and monitoring software performance

Info

Publication number
JPH09185532A
JPH09185532A JP7344047A JP34404795A JPH09185532A JP H09185532 A JPH09185532 A JP H09185532A JP 7344047 A JP7344047 A JP 7344047A JP 34404795 A JP34404795 A JP 34404795A JP H09185532 A JPH09185532 A JP H09185532A
Authority
JP
Japan
Prior art keywords
processing
performance
estimation
value
execution
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.)
Granted
Application number
JP7344047A
Other languages
Japanese (ja)
Other versions
JP3703549B2 (en
Inventor
Yasuo Yoshimoto
安男 吉本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP34404795A priority Critical patent/JP3703549B2/en
Publication of JPH09185532A publication Critical patent/JPH09185532A/en
Application granted granted Critical
Publication of JP3703549B2 publication Critical patent/JP3703549B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To automatically estimate and monitor the performance of software during the operation of a system without the need of estimating performance in designing the system. SOLUTION: Immediately before the execution start of respective processings 11 on software, a resource collection part 1 collects a variable at that time. An estimation expression execution part 2 calculates the overhead of the processing by using the value and an estimation expression which the program of the processing incorporates. A judgment part 4 compares the value with a reference value and judges whether the processing can be executed or not in accordance with the result. When the execution of the processing is judged to be possible, the processing is executed. When it is judged to be impossible, a control part 5 controls the processing. Thus, precise overhead can automatically be estimated on a real time basis during the operation of the system even if performance is not estimated at the time of designing the system.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ソフトウエアの性
能見積及び性能監視方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software performance estimation and performance monitoring method.

【0002】[0002]

【従来の技術】近年、コンピュータシステムに対して、
処理可能なデータ量又はトランザクション量の拡大が要
求されている。そして、システム規模が大きくなって
も、システムの最大限の性能を引き出すことが要求され
る。従来においては、システムの最大限の性能を引き出
すために、システム設計時の性能見積が不可欠であっ
た。また、業務開始後は、設計通りの目標性能が出てい
るかどうか、システム性能を継続して監視していく必要
があった。
2. Description of the Related Art In recent years, with respect to computer systems,
There is a demand to increase the amount of data or transactions that can be processed. And even if the system scale becomes large, it is required to maximize the performance of the system. In the past, performance estimation at the time of system design was indispensable in order to maximize the performance of the system. Moreover, after the start of work, it was necessary to continuously monitor the system performance to see if the target performance as designed was achieved.

【0003】ここで、設計時の性能見積においては、シ
ステム規模に従って増加する資源数が変数となる見積式
が使用される。このため、特に大規模システムにおいて
は、見積式への代入値は、システム運転の安全性を第一
に考えて決定する。例えば、最大負荷を想定した最大値
に設定したり、その最大値に安全係数を掛算して余裕を
持たせたり、さらに将来のシステム拡張を見込んで大き
な値を設定していた。
Here, in the performance estimation at the time of design, an estimation formula in which the number of resources increasing according to the system scale is a variable is used. For this reason, especially in a large-scale system, the substitution value in the estimation formula is determined by first considering the safety of system operation. For example, the maximum load was set to the maximum value assumed, or the maximum value was multiplied by a safety factor to give a margin, and a large value was set in anticipation of future system expansion.

【0004】例えば、代入値がファイル数という変数で
ある場合、作業用として一時的に作成されるファイルを
含めた数値が100である場合に、安全係数1.2を掛
けた120という数値を設定する。あるいは、代入値が
ログインユーザ数という変数である場合、業務開始当初
の最大ログインユーザ数は300に制限した運用を行う
ものであっても、2〜3年先に需要増加が見込まれれ
ば、予め400という大きめの値を設定しておく。
For example, if the substitution value is a variable called the number of files, and the numerical value including the files temporarily created for work is 100, a value of 120 multiplied by the safety factor 1.2 is set. To do. Alternatively, when the substitution value is a variable of the number of login users, even if the operation is performed with the maximum number of login users initially limited to 300, if demand is expected to increase in the next 2-3 years, A large value of 400 is set.

【0005】このように、性能見積は、見積り対象とな
る処理が動作する環境又はその時点のシステム負荷を最
悪のケースで想定することが多い。こうした従来の性能
見積方法では、想定した負荷による見積りがシステムの
設計上の許容範囲をオーバーする場合に、種々の問題が
発生する。例えば、想定した負荷による見積りがシステ
ムの設計上の許容範囲をオーバーしていたとしても、早
朝でログインユーザ数が20位しかないというような、
システムが低負荷で動作している状態では、その処理は
実行が可能である。しかしながら、従来の性能見積の方
法では、その処理を全く使えなくしてしまったり、同時
実行数を制限するという対応を必要としていた。
As described above, in performance estimation, the environment in which the process to be estimated operates or the system load at that time is often assumed in the worst case. In such a conventional performance estimation method, various problems occur when the estimated load exceeds the allowable range in the system design. For example, even if the estimated load exceeds the allowable range in the system design, the number of logged-in users is only 20th in the early morning.
When the system is operating under a low load, the processing can be executed. However, in the conventional performance estimation method, it is necessary to make the processing completely unusable or to limit the number of simultaneous executions.

【0006】この対応の具体例として、性能監視モニタ
における性能見積について説明する。性能監視モニタ
は、システムの性能状況をリアルタイムに表示するもの
で、その構造上、システム規模が大きくなるほど、ある
いはシステム負荷が高くなるほど、処理オーバヘッドが
増加する。このような性能監視モニタについてSEが性
能見積を行った結果、システムに接続/設定されている
資源のうち、特に数の多い資源の性能状況を表示する機
能が、昼間のオンライン業務で使用するには影響がある
と判断したとする。この場合、ユーザ側では、運用面か
らその影響のある機能だけを使わない方法又は、その機
能を使えなくするためのプログラム修正を行う方法の2
つの方法が考えられる。
As a specific example of this correspondence, performance estimation in the performance monitoring monitor will be described. The performance monitoring monitor displays the performance status of the system in real time. Due to its structure, the processing overhead increases as the system scale increases or the system load increases. As a result of the performance estimation by the SE for such a performance monitoring monitor, the function for displaying the performance status of a particularly large number of resources connected / configured in the system is not used in daytime online operations. Decides that there is an impact. In this case, on the user side, there is a method of not using only the function that has an operational effect, or a method of modifying the program to disable the function.
There are two ways.

【0007】ここで、運用面からのガードは、オペレー
タが操作ミスをするおそれがあるので不可能であると判
断した場合は、昼間のオンライン業務だけでなく、夜間
のバッチ業務までも含めて、その機能を全く使えなくす
るためのプログラム修正が行われる。具体的には、以下
の2つの修正が行われる。a.その機能を呼び出すPF
キーが押されても、エラーメッセージを出力して要求を
受け付けない修正。
[0007] Here, when it is judged that the guard from the operation side is impossible because the operator may make an operation mistake, not only the online business in the daytime but also the batch business in the night, A program is modified to disable the function at all. Specifically, the following two modifications are made. a. PF that calls that function
Even if a key is pressed, an error message will be output and the request will not be accepted.

【0008】b.指定された数以上の性能監視モニタが
起動できない修正。
B. Fixed a problem that more than the specified number of Performance Monitors could not be started.

【0009】[0009]

【発明が解決しようとする課題】上記のように、従来の
システム設計時の性能見積においては、システム負荷が
ピークに達したときの状況を考慮している。そのため
に、システム負荷が軽いときには使える処理であって
も、全く使えなくしてしまったり、そのためのプログラ
ム修正を加えるなどの対応をするといった問題を生じて
いた。また、見積りはあくまでも想定負荷によるもので
あることや、計算ミスなどによってシステム稼働後に実
測値とのギャップが生じたりして、信頼性の高い見積り
を得ることは難しいという問題も生じていた。
As described above, in the performance estimation in the conventional system design, the situation when the system load reaches the peak is taken into consideration. For this reason, even if the process can be used when the system load is light, there is a problem that the process is not used at all or the program is modified for that purpose. In addition, there is a problem that it is difficult to obtain a highly reliable estimate because the estimate is based on the assumed load, and a gap between the actual value and the actual value is generated after the system is operated due to a calculation error or the like.

【0010】見積りの不備が原因で、システムの設計上
の許容範囲をオーバーするようなプログラムを高プライ
オリティで連続走行させてしまった場合には、他のプロ
グラムに制御が移らないで、様々な弊害を生じることも
あった。本発明は、システム設計時の性能見積を不要と
し、システム運用中に自動的にソフトウエアの性能見積
及び性能監視ができる方法を提供することを目的とする
ものである。
If a program that exceeds the design allowable range of the system is continuously run at a high priority due to a poor estimate, control will not be transferred to another program, resulting in various adverse effects. Sometimes occurred. It is an object of the present invention to provide a method that does not require performance estimation at the time of system design and can automatically perform performance estimation and performance monitoring of software during system operation.

【0011】[0011]

【課題を解決するための手段】本発明は、上記目的を達
成するためのソフトウエアの性能見積及び性能監視方法
であって、ソフトウエアの各処理の実行開始直前に、そ
の処理のプログラムが内蔵する見積式とその時点におけ
る変数を用いてその処理のオーバヘッドを計算する。こ
のオーバヘッドを、基準値、例えば、予め定められた所
定値又は、システムの負荷状態と比較する。そして、そ
の結果により、その処理の実行が可能か否かを判定す
る。
SUMMARY OF THE INVENTION The present invention is a software performance estimation and performance monitoring method for achieving the above object, in which a program for the processing is built in immediately before the start of execution of each processing of the software. The overhead of the process is calculated using the estimation formula and the variable at that time. This overhead is compared with a reference value, for example, a predetermined value set in advance or the load state of the system. Then, based on the result, it is determined whether or not the process can be executed.

【0012】判定の結果、処理の実行が可能であると判
定されると、その処理が実行される。また、処理の実行
が不可能であると判定されると、処理の制御、例えば、
処理の放棄、処理の実行の待ち合わせ、処理の実行のプ
ライオリティの調節、又は、一定周期毎あるいは一定資
源使用毎による実行制御を行う。本発明によれば、シス
テム設計時に性能見積をしなくても、システム運用中に
リアルタイムで自動的に正確なオーバヘッドを見積るこ
とができる。また、新たにプログラム修正等を加えるこ
となく、システム負荷に応じて処理を実行したり、処理
を制御したりできるようになる。したがって、本発明に
より計算機システムの信頼性を向上させることができ
る。
If it is determined that the process can be executed as a result of the determination, the process is executed. When it is determined that the process cannot be executed, control of the process, for example,
It abandons the processing, waits for the execution of the processing, adjusts the priority of the execution of the processing, or controls the execution by a fixed cycle or a fixed resource use. According to the present invention, an accurate overhead can be automatically estimated in real time during system operation without performing performance estimation during system design. Further, it becomes possible to execute the process or control the process according to the system load without newly adding a program modification or the like. Therefore, the present invention can improve the reliability of the computer system.

【0013】[0013]

【発明の実施の形態】本発明の実施形態について、図1
を用いて説明する。図において、11はソフトウエアに
含まれる各処理のうちの1つの処理を示している。この
処理とは、機能、サブルーチン、関数、ジョブなどの単
位を意味する。図示の処理11は、見積り対象となる処
理本体6の前に、性能見積及び性能監視を実行するため
の、資源収集部1、見積式実行部2、外部記録部3、判
定部4、制御部5を内蔵する。なお、資源収集部1〜制
御部5は、処理に内蔵させずに、他から呼び出すように
することもできる。なお、以下の説明においては、資源
収集部1〜制御部5をまとめて「本機構」という。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG.
This will be described with reference to FIG. In the figure, 11 indicates one of the processes included in the software. This processing means a unit such as a function, a subroutine, a function, or a job. The process 11 shown in the drawing is a resource collection unit 1, an estimation formula execution unit 2, an external recording unit 3, a determination unit 4, a control unit for executing performance estimation and performance monitoring before the processing body 6 to be estimated. Built-in 5. The resource collection unit 1 to the control unit 5 may be called from another without being built in the process. In addition, in the following description, the resource collection unit 1 to the control unit 5 are collectively referred to as “main mechanism”.

【0014】最初に、図1に示した本機構の動作につい
て説明する。資源収集部1は、資源数の収集を行うもの
で、見積式の変数に代入すべき値を収集する。この代入
値が他処理で扱っている資源に関するものであれば、資
源収集用のサブルーチンを呼び出すか、又は、OS制御
表に代入されている値を参照して資源数の通知インタフ
ェースを提供する。一方、代入値が自処理11で扱う資
源なら、自処理自信が知っているのであるから、インタ
フェースの新設は不要となる。
First, the operation of the mechanism shown in FIG. 1 will be described. The resource collection unit 1 collects the number of resources, and collects the values to be substituted into the variables of the estimation formula. If the substituted value is related to the resource handled in other processing, the resource collection subroutine is called or the resource number notification interface is provided by referring to the value substituted in the OS control table. On the other hand, if the substitution value is a resource handled by the self-processing 11, the self-processing confidence is known, and thus new interface creation is unnecessary.

【0015】見積式実行部2は、見積式の変数に、資源
収集部1が収集した値を代入して見積式を実行するもの
である。この見積式は、自処理のプログラムの先頭位置
に内蔵されてある。見積式の例を示すと、ある処理が図
2に示すものであれば、その命令数は、「23+(23
+(45+エクステント数×3))×エクステントの種
類数+5126」という見積式で表される。ここで、エ
クステント数とエクステントの種類数の代入値が33及
び9であるとき、CPUオーバヘッド(ダイナミックス
テップ)は、6,652ステップと計算できる。なお、
以下の説明では、上記見積式を「見積式A」と略称する
こととする。
The estimation formula execution unit 2 executes the estimation formula by substituting the values collected by the resource collection unit 1 into the variables of the estimation formula. This estimation formula is built in at the start position of the self-processing program. As an example of the estimation formula, if a certain process is as shown in FIG. 2, the number of instructions is “23+ (23
+ (45 + number of extents × 3)) × number of types of extents + 5126 ”. Here, when the substitution values of the number of extents and the number of kinds of extents are 33 and 9, the CPU overhead (dynamic step) can be calculated as 6,652 steps. In addition,
In the following description, the above estimation formula will be abbreviated as “estimation formula A”.

【0016】図1に戻って、外部記録部3は、各処理1
1の見積り結果を外部ファイル等に記録又は表示装置に
表示する。各処理の見積り結果を外部ファイルなどに記
録すれば、システム設計時の見積りと記録された見積り
結果を比較することによって、設計時の見積りが正しか
ったかどうか検証できる。ここで、システム部門が定め
た目標性能が出ていないときには、オーバヘッドの相違
する処理がなんであるかも調査でき、原因究明が容易に
行えるといった効果もある。
Returning to FIG. 1, the external recording unit 3 performs the processing 1
Record the estimation result of 1 in an external file or display it on a display device. If the estimation result of each process is recorded in an external file or the like, it is possible to verify whether the estimation at the time of design was correct by comparing the estimation at the time of system design with the recorded estimation result. Here, when the target performance set by the system department is not obtained, it is possible to investigate what the processing with different overheads is, and it is possible to easily investigate the cause.

【0017】判定部4は、その処理を実行すべきかどう
かを判定するものである。判定部4は、見積式実行部2
の見積り結果と基準値とを比較する。この比較結果によ
って、制御部5に遷移する(処理を実行しない)か、制
御部5をスキップする(処理を実行する)かが決定され
る。比較の例としては次の2通りがあり、どちらの方法
で比較するかは、処理ごとに外部からの指定を可能とす
る。
The judging section 4 judges whether or not the processing should be executed. The determination unit 4 is the estimation formula execution unit 2
Comparing the estimation result of 1 with the reference value. Based on the comparison result, it is determined whether to transit to the control unit 5 (do not execute the process) or skip the control unit 5 (to execute the process). There are the following two examples of comparison. Which method is used for comparison can be designated from the outside for each process.

【0018】(1)ユーザ定義の基準値との比較 ユーザがファイル等で定義した基準値(所定値)と見積
り結果を比較する。例えば、上記の例Aで基準値が6,
000ステップと定義された場合には、652ステップ
だけ見積りが大きいため、処理は実行しないと判断す
る。あるいは、基準値として6,000+10%といっ
たように幅を持たせた定義を許し、見積り値が6,00
0以内だったら実行を許可し、6,001〜6,600
の範囲なら実行の待ち合わせ又はプライオリティを調節
し、6,600を超えていれば実行しないと判断するこ
とができる。なお、ユーザ定義の基準値はダイナミック
ステップに限定されるものではなく、これをCPU時間
又はCPU負荷率の単位に換算したものでもよい。
(1) Comparison with user-defined reference value The estimation result is compared with a reference value (predetermined value) defined by a user in a file or the like. For example, in the above example A, the reference value is 6,
If it is defined as 000 steps, it is determined that the process is not executed because the estimate is large for 652 steps. Alternatively, a definition with a width such as 6,000 + 10% is allowed as the reference value, and the estimated value is 6,000.
If it is less than 0, the execution is permitted and 6,001 to 6,600
If it is within the range, it is possible to adjust the waiting for execution or the priority, and if it exceeds 6,600, it can be judged that it is not executed. It should be noted that the user-defined reference value is not limited to the dynamic step, and may be converted into a unit of CPU time or CPU load factor.

【0019】(2)システム負荷状況との比較 見積られた時点のシステム負荷状況と見積り結果を比較
する。システムの負荷状況としてCPU負荷を例にとれ
ば、図3に示すような、システム余裕値(最大能力−実
測値)との比較が考えられる。この実測値は、リアルタ
イムAPIによって求めることができる。リアルタイム
APIによる実測の結果は、各処理が参照可能な領域
に、一定周期ごとに自処理とは非同期に更新されてい
る。上記の見積式Aの場合は、比較に先立って次式で見
積り値を実測値と同じ単位に変換する。
(2) Comparison with system load status The system load status at the time of estimation and the estimation result are compared. If the CPU load is taken as an example of the system load status, comparison with a system margin value (maximum capacity-measured value) as shown in FIG. 3 can be considered. This measured value can be obtained by the real-time API. The result of the actual measurement by the real-time API is updated in a region in which each process can be referred to, asynchronously with its own process at regular intervals. In the case of the above-mentioned estimation formula A, the estimation value is converted into the same unit as the actual measurement value by the following equation prior to the comparison.

【0020】見積り値〔%〕=(1命令当たりの平均命
令実行時間×ダイナミックステップ数/リアルタイムA
PIの更新周期)×100 仮に、1命令当たりの平均命令実行時間が10mS,リ
アルタイムAPIの更新周期が1分とすれば、1,65
2ステップは10mS×1652÷60000mS×1
00=27.5%となる。実測値として80%が得られ
たときの余裕値は20%となり、見積り値27.5%は
余裕値20%より大きいため、処理は実行しないと判断
できる。勿論、余裕値には、上記(1)の基準値と同様
に、幅を持たせることも可能である。
Estimated value [%] = (average instruction execution time per instruction × dynamic step number / real time A
PI update cycle) × 100 If the average instruction execution time per instruction is 10 mS and the real-time API update cycle is 1 minute, 1,65
2 steps are 10 mS x 1652 ÷ 60000 mS x 1
00 = 27.5%. When the measured value of 80% is obtained, the margin value is 20%, and since the estimated value 27.5% is larger than the margin value 20%, it can be determined that the process is not executed. Of course, the margin value may have a width, like the reference value of (1) above.

【0021】なお、上記見積り値の式において、高級言
語(COBOL,C)の場合のダイナミックステップ
は、言語1命令当たりの平均展開命令数×1命令当たり
の平均命令実行時間で求めることもできる。図1に戻っ
て、制御部5は、判定部4の判定の結果、処理を実行し
ない場合にその処理を制御するものである。その制御方
法の例として次の4通りがある。どの方法で制御するか
は、処理ごとに外部からの指定を可能とする。
In the above formula of the estimated value, the dynamic step in the case of a high-level language (COBOL, C) can also be calculated by the average number of expanded instructions per language instruction × the average instruction execution time per instruction. Returning to FIG. 1, the control unit 5 controls the process when the process is not executed as a result of the determination by the determination unit 4. There are the following four types of control methods. The method to control can be specified from the outside for each process.

【0022】(1) 処理放棄 処理放棄を示す復帰コードなどを設定して、処理の呼出
し元に復帰する。当然のことながら、処理が行われなか
ったために不都合が生じないように呼出し元とのインタ
フェースは守らなければならない。 (2) 待ち合わせ 一定時間待ち合わせに入り、その時間経過後、再び、資
源収集部1に戻る。どのくらいの時間を待つかは、処理
の性質又は属性によるが、外部からの指示の可能とす
る。
(1) Process Abandonment A return code indicating process abandonment is set, and the process is returned to the caller. As a matter of course, the interface with the caller must be protected so that no inconvenience occurs because the processing is not performed. (2) Waiting Waiting is started for a certain period of time, and after that time, the process returns to the resource collecting unit 1. How long to wait depends on the nature or attribute of the processing, but it is possible to give an instruction from the outside.

【0023】(3) 実行プライオリティ調節 実行プライオリティを調節(一般的には、プライオリテ
ィを下げる)した後、上記(1)の復帰を行う。どの程
度のプライオリティを調節するかは、外部から指定させ
てもよいし、システムに任せても良い。 (4) 一定周期または一定資源使用毎による制御 一定時間経過後に割り込みを発生、あるいはCPU時間
など一定資源使用毎に割り込みを発生させるようにし、
これら一定周期毎に処理を中断しながら、処理を実行す
る。(一定周期、一定資源毎に割り込みを発生させた
り、割り込みで中断された処理を再開させる技術は公知
である) なお、図1には、バイパスルートが示されているが、こ
れは、システム設計時の見積り精度が高く、本機構が無
用な場合に利用される。
(3) Execution priority adjustment After the execution priority is adjusted (generally, the priority is lowered), the return of the above (1) is performed. How much priority should be adjusted may be specified externally or may be left to the system. (4) Control by constant period or use of constant resource An interrupt is generated after a lapse of a constant time, or an interrupt is generated every time a constant resource such as CPU time is used.
The process is executed while interrupting the process at these fixed intervals. (A technique is known in which an interrupt is generated at a fixed period and a fixed resource, or a process interrupted by an interrupt is restarted.) A bypass route is shown in FIG. It is used when the accuracy of time estimation is high and this mechanism is unnecessary.

【0024】以上説明したように、本例によれば、性能
見積と性能監視を同時に実行することができる。したが
って、システム設計時に性能見積を行う必要がなくな
る。本例によれば、システム運用中にリアルタイムで自
動的にシステム負荷に応じた正確なオーバヘッドが再見
積りできるようになっている。また、見積り対象処理の
実行がシステム運用に影響があるかどうかの判断もで
き、処理の実行が制御できるようになる。
As described above, according to this example, performance estimation and performance monitoring can be executed simultaneously. Therefore, it is not necessary to estimate the performance when designing the system. According to this example, the accurate overhead according to the system load can be automatically re-estimated in real time during system operation. In addition, it is possible to judge whether the execution of the process to be estimated affects the system operation, and the execution of the process can be controlled.

【0025】以上、CPUオーバヘッドの見積りを例に
説明したが、例えば、メモリ又はディスク資源などにつ
いても考え方は同じであり、同様の方法で、見積式と変
数を帰ることにより、性能見積と性能監視を行うことが
できる。次に、以上説明した性能見積及び性能監視方法
を各種処理に適用した例について説明する。
Although the CPU overhead estimation has been described above as an example, the same idea can be applied to, for example, memory or disk resources, and the performance estimation and performance monitoring can be performed by returning the estimation formula and variables in the same manner. It can be performed. Next, an example in which the performance estimation and performance monitoring method described above is applied to various processes will be described.

【0026】図4は、性能監視モニタに適用した例を示
す。性能監視モニタ42は、ホストコンピュータ41の
リアルタイムAPIと、パソコン43との間に接続され
る。これらの構成は公知のものであるので、詳細な説明
は省略する。図1に示した本機構44,45が、性能監
視モニタ42の、レスポンス/処理時間/処理件数処
理、バッファ不足の資源検出処理などに内蔵される。レ
スポンス/処理時間/処理件数処理、バッファ不足の資
源検出処理などの見積り結果が基準値を超えた場合は、
その性能データの処理は実行されず、その性能データは
パソコン43に送信しない。
FIG. 4 shows an example applied to a performance monitoring monitor. The performance monitor 42 is connected between the real-time API of the host computer 41 and the personal computer 43. Since these configurations are publicly known, detailed description will be omitted. The mechanisms 44 and 45 shown in FIG. 1 are incorporated in the performance monitor 42 for response / processing time / process count processing, buffer shortage resource detection processing, and the like. If the estimated results such as response / processing time / number of processing, buffer shortage resource detection processing exceed the standard value,
The performance data is not processed, and the performance data is not transmitted to the personal computer 43.

【0027】したがって、パソコン43に送信されるデ
ータは、常時監視画面の性能データと、その他の処理の
基準値以下の性能データと、エラーメッセージとなり、
それらが、パソコン43のサブ画面に表示される。図5
は、コンパイラへの適用例を示す。コンパイラは、本機
構52と見積式53,54…を内蔵したオブジェクト5
1を出力する。各関数/サブルーチンの見積式53,5
4は、再帰的に呼び出される。
Therefore, the data transmitted to the personal computer 43 becomes the performance data of the constant monitoring screen, the performance data below the reference value of other processing, and the error message.
They are displayed on the sub screen of the personal computer 43. FIG.
Shows an example of application to a compiler. The compiler is an object 5 having the mechanism 52 and the estimation formulas 53, 54 ...
Outputs 1. Estimating formula 53,5 for each function / subroutine
4 is called recursively.

【0028】そして、アプリケーションが性能目標を満
たしていなければ、アプリケーションの実行は自ら放棄
することもできる。また、デバッガに応用すれば、命令
オフセットによるブレークポイントに加え、性能値によ
るブレークポイント(性能値が満足されないサブルーチ
ンが現れた時点でブレークなど)も指定できる。
If the application does not meet the performance target, the execution of the application can be abandoned by itself. Further, if applied to a debugger, in addition to a breakpoint by an instruction offset, a breakpoint by a performance value (a break when a subroutine whose performance value is not satisfied appears) can be specified.

【0029】さらに、アプリケーション実行中に性能監
視の観点からプログラムを中断させたり、再開させたり
することができるようになる。これは、アプリケーショ
ンのテスト、特に、アプリケーションが運用される実環
境において有効である。見積り結果のログを基にプログ
ラムの改善箇所が得られると共に、見積り値の検証もで
きる。
Further, the program can be suspended or restarted from the viewpoint of performance monitoring while the application is being executed. This is useful for testing an application, especially in a real environment where the application is operated. Based on the log of the estimation result, the improvement part of the program can be obtained and the estimation value can be verified.

【0030】また、アプリケーション実行中に基準値を
満足しなくなった場合の処置としては、システム状況と
の比較に基づき、コンパイルオプションで処理をその場
で中断するか、続行するかを指定でき、見積り値をスケ
ジューラなどに通知して、混み合っていれば、アプリケ
ーションの実行を待ち合わせるなど、実行の制御を兼ね
ることもできるようになる。
As a measure to be taken when the reference value is no longer satisfied during execution of the application, it is possible to specify whether to quit or continue the process with a compile option based on comparison with the system status. By notifying the value to the scheduler etc., if it is crowded, it becomes possible to also control the execution such as waiting for the execution of the application.

【0031】図6は、ダウンロード処理への適用例を示
す。パソコン通信でデータをダウンロードする際、時間
により課金がされるので、ダウンロードにどのくらいの
時間が掛かるかということが気になる。これに対処する
ため、図6に示すように、パソコン通信センタ61のダ
ウンローダ62とパソコン64の間本機構63を接続す
る。
FIG. 6 shows an example of application to download processing. When downloading data via PC communication, you will be charged depending on the time, so you will be wondering how long it will take to download. In order to deal with this, as shown in FIG. 6, the main mechanism 63 is connected between the downloader 62 and the personal computer 64 of the personal computer communication center 61.

【0032】この本機構63は、接続されている回線速
度、転送ブロック数から所要時間を求める。また、基準
値に例えば10分という値を指定しておく。本機構63
の見積りの結果、それ以上の時間が掛かるようであれ
ば、ダウンロードを自動的に中止することができる。ま
た、その時点の回線負荷と比較することにより、空いて
る回線に自動的に切り換えるか、負荷が下がるまでしば
らくダウンロードを見合わせるといった処理もできるよ
うになる。
This mechanism 63 obtains the required time from the line speed and the number of transfer blocks connected. Further, a value of, for example, 10 minutes is designated as the reference value. This mechanism 63
If it takes longer than that, the download can be automatically stopped. Also, by comparing with the line load at that time, it becomes possible to automatically switch to a vacant line or to suspend the download for a while until the load is reduced.

【0033】コピーコマンドへの適用例について説明す
る。パソコンソフトは、CPU速度、メモリ容量、ディ
スク容量の制約を受け、その構成によってはソフトが動
作しないことがある。したがって、ソフトの購入時に
は、事前調査を十分に行っておく必要がある。これに対
処するため、ソフトウエア提供媒体からパソコンへの複
写用コマンドが、プログラム/データを複写する際に、
複写されるプログラムの見積式に制御を渡し、そのパソ
コン環境による見積りを行う。そして、基準値以内であ
れば複写を許可し、そうでなければ複写を許可しない。
An example of application to the copy command will be described. Personal computer software is subject to restrictions on CPU speed, memory capacity, and disk capacity, and the software may not operate depending on its configuration. Therefore, before purchasing the software, it is necessary to conduct a thorough preliminary survey. To deal with this, when the copy command from the software providing medium to the personal computer copies the program / data,
Control is passed to the quotation formula of the program to be copied, and the quotation is performed according to the personal computer environment. If it is within the reference value, copying is permitted, and if not, copying is not permitted.

【0034】この方法によれば、コピー先システムが実
際に存在しなくても、コピー先システムを想定した見積
りの基礎データを準備しておくことにより、提供媒体を
入力して、どのパソコンなら使えるかが、そのパソコン
上で実際に使ってみなくとも確認することができる。
According to this method, even if the copy destination system does not actually exist, by preparing the basic data of the estimate assuming the copy destination system, the provision medium can be input and any personal computer can be used. However, you can check it without actually using it on the computer.

【0035】[0035]

【発明の効果】本発明によれば、システム設計時の性能
見積を不要とし、システム運用中に、リアルタイムに自
動的にソフトウエアの性能見積及び性能監視ができる。
これにより、新たにプログラム修正を加えることなく、
システムの負荷に応じて処理の実行を制御できるように
なる。本発明により、計算機システムの信頼性を向上す
ることができる。
According to the present invention, performance estimation at the time of system design is unnecessary, and performance estimation and performance monitoring of software can be automatically performed in real time during system operation.
With this, without adding new program modification,
The execution of processing can be controlled according to the system load. According to the present invention, the reliability of the computer system can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の方法を実行する機構を示す図。FIG. 1 shows a mechanism for carrying out the method of the invention.

【図2】本発明で用いる見積式の例を示す図。FIG. 2 is a diagram showing an example of an estimation formula used in the present invention.

【図3】本発明で用いる基準値のシステム負荷状況を説
明するための図。
FIG. 3 is a diagram for explaining a system load situation of a reference value used in the present invention.

【図4】本発明を性能監視モニタに適用した例を示す
図。
FIG. 4 is a diagram showing an example in which the present invention is applied to a performance monitoring monitor.

【図5】本発明をコンパイラへ適用した例を示す図。FIG. 5 is a diagram showing an example in which the present invention is applied to a compiler.

【図6】本発明をダウンロード処理へ適用した例を示す
図。
FIG. 6 is a diagram showing an example in which the present invention is applied to download processing.

【符号の説明】[Explanation of symbols]

1…資源収集部 2…見積式実行部 3…外部記録部 4…判定部 5…制御部 6…処理本体 1 ... Resource collection unit 2 ... Quotation formula execution unit 3 ... External recording unit 4 ... Judgment unit 5 ... Control unit 6 ... Processing body

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 ソフトウエアの処理の実行開始直前に、
その処理のプログラムが内蔵する見積式とその時点にお
ける変数を用いてその処理のオーバヘッドを計算し、そ
の値を基準値と比較することにより、その処理を実行す
るか、又はその処理を制御するかを決定することを特徴
とするソフトウエアの性能見積及び性能監視方法。
1. Immediately before starting execution of software processing,
Whether to execute the process or control the process by calculating the overhead of the process using the estimation formula built into the program of the process and the variable at that time and comparing the value with the reference value A software performance estimation and performance monitoring method characterized by:
【請求項2】 前記基準値が、予め定められた所定値で
あることを特徴とする請求項1記載のソフトウエアの性
能見積及び性能監視方法。
2. The software performance estimation and performance monitoring method according to claim 1, wherein the reference value is a predetermined value.
【請求項3】 前記基準値が、システムの負荷状態であ
ることを特徴とする請求項1記載のソフトウエアの性能
見積及び性能監視方法。
3. The software performance estimation and performance monitoring method according to claim 1, wherein the reference value is a system load state.
【請求項4】 前記処理の制御が、処理の放棄であるこ
とを特徴とする請求項1乃至3のいずれか1項に記載の
ソフトウエアの性能見積及び性能監視方法。
4. The software performance estimation and performance monitoring method according to claim 1, wherein the control of the processing is abandonment of the processing.
【請求項5】 前記処理の制御が、処理の実行を待ち合
わせることであることを特徴とする請求項1乃至3のい
ずれか1項に記載のソフトウエアの性能見積及び性能監
視方法。
5. The software performance estimation and performance monitoring method according to claim 1, wherein the control of the processing is waiting for execution of the processing.
【請求項6】 前記処理の制御が、処理の実行のプライ
オリティを調節することであることを特徴とする請求項
1乃至3のいずれか1項に記載のソフトウエアの性能見
積及び性能監視方法。
6. The software performance estimation and performance monitoring method according to claim 1, wherein the control of the processing is to adjust the priority of execution of the processing.
【請求項7】 前記処理の制御が、処理の実行を一定周
期または一定資源使用毎に行うことを特徴とする請求項
1乃至3のいずれか1項に記載のソフトウエアの性能見
積及び性能監視方法。
7. The software performance estimation and performance monitoring according to any one of claims 1 to 3, wherein the control of the process executes the process at a constant cycle or every time a constant resource is used. Method.
JP34404795A 1995-12-28 1995-12-28 Software performance estimation and performance monitoring method Expired - Fee Related JP3703549B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34404795A JP3703549B2 (en) 1995-12-28 1995-12-28 Software performance estimation and performance monitoring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34404795A JP3703549B2 (en) 1995-12-28 1995-12-28 Software performance estimation and performance monitoring method

Publications (2)

Publication Number Publication Date
JPH09185532A true JPH09185532A (en) 1997-07-15
JP3703549B2 JP3703549B2 (en) 2005-10-05

Family

ID=18366251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34404795A Expired - Fee Related JP3703549B2 (en) 1995-12-28 1995-12-28 Software performance estimation and performance monitoring method

Country Status (1)

Country Link
JP (1) JP3703549B2 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5488746A (en) * 1977-12-26 1979-07-14 Fujitsu Ltd Operation and control system of data processing system
JPS6279535A (en) * 1985-10-02 1987-04-11 Fujitsu Ltd Operation control system for test system in single computer system
JPS6336341A (en) * 1986-07-31 1988-02-17 Toshiba Corp Control method for cpu load demand
JPH0328939A (en) * 1989-06-27 1991-02-07 Toshiba Corp Cpu load monitor device
JPH05100912A (en) * 1991-10-08 1993-04-23 Oki Electric Ind Co Ltd Processing elapsed time informing method for program
JPH05324497A (en) * 1992-05-21 1993-12-07 Oki Electric Ind Co Ltd Real-time data processor
JPH07141305A (en) * 1993-11-16 1995-06-02 Hitachi Ltd Control method for execution of parallel computer
JPH07271614A (en) * 1994-04-01 1995-10-20 Hitachi Ltd Priority control system for task restricted in execution time

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5488746A (en) * 1977-12-26 1979-07-14 Fujitsu Ltd Operation and control system of data processing system
JPS6279535A (en) * 1985-10-02 1987-04-11 Fujitsu Ltd Operation control system for test system in single computer system
JPS6336341A (en) * 1986-07-31 1988-02-17 Toshiba Corp Control method for cpu load demand
JPH0328939A (en) * 1989-06-27 1991-02-07 Toshiba Corp Cpu load monitor device
JPH05100912A (en) * 1991-10-08 1993-04-23 Oki Electric Ind Co Ltd Processing elapsed time informing method for program
JPH05324497A (en) * 1992-05-21 1993-12-07 Oki Electric Ind Co Ltd Real-time data processor
JPH07141305A (en) * 1993-11-16 1995-06-02 Hitachi Ltd Control method for execution of parallel computer
JPH07271614A (en) * 1994-04-01 1995-10-20 Hitachi Ltd Priority control system for task restricted in execution time

Also Published As

Publication number Publication date
JP3703549B2 (en) 2005-10-05

Similar Documents

Publication Publication Date Title
US7716643B2 (en) Methods and apparatus for software profiling
JP4945935B2 (en) Autonomous operation management system, autonomous operation management method and program
CN107704314B (en) Method and device for migrating virtual machine
JP4321705B2 (en) Apparatus and storage system for controlling acquisition of snapshot
US5388254A (en) Method and means for limiting duration of input/output (I/O) requests
US11467944B2 (en) Information processing apparatus, tuning method, and computer readable medium
US8074123B2 (en) Multi-CPU failure detection/recovery system and method for the same
US6519637B1 (en) Method and apparatus for managing a memory shortage situation in a data processing system
US6321289B1 (en) Apparatus for automatically notifying operating system level applications of the occurrence of system management events
US6463492B1 (en) Technique to automatically notify an operating system level application of a system management event
JPH08221433A (en) Information retrieval system
CN109254856B (en) Method for providing interface to client by intelligent POS server
JP3703549B2 (en) Software performance estimation and performance monitoring method
US7287196B2 (en) Measuring reliability of transactions
CN113190491A (en) Serial port information display method, system and medium
JP2715904B2 (en) Computer system performance evaluation device
JPS6376028A (en) Method for controlling execution of instruction step in virtual computer system
CN118445818B (en) System updating method and device based on multi-system isolation
JP2875372B2 (en) Dynamic configuration change support method for communication systems
JPH08153057A (en) Disk controller
JP2508316B2 (en) Data base stationary point establishment processing system
CN116166403A (en) Processing method, medium, device and computing equipment for jitter of service system
CN116318900A (en) Application security management method, system, server and storage medium
JP2822728B2 (en) Computer system
JP3490465B2 (en) Abnormal data processing device

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031127

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040119

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050720

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080729

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090729

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100729

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100729

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110729

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110729

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120729

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees