JP5240220B2 - Software effective performance evaluation system, software effective performance evaluation method, and program - Google Patents
Software effective performance evaluation system, software effective performance evaluation method, and program Download PDFInfo
- Publication number
- JP5240220B2 JP5240220B2 JP2010047422A JP2010047422A JP5240220B2 JP 5240220 B2 JP5240220 B2 JP 5240220B2 JP 2010047422 A JP2010047422 A JP 2010047422A JP 2010047422 A JP2010047422 A JP 2010047422A JP 5240220 B2 JP5240220 B2 JP 5240220B2
- Authority
- JP
- Japan
- Prior art keywords
- performance
- software
- execution environment
- nest
- environment information
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明は、ソフトウェアの実効性能を評価する技術に関する。 The present invention relates to a technique for evaluating the effective performance of software.
ソフトウェアの実効性能を測定するためには、測定対象のソフトウェアを実行環境に配備し、実際に動作させ、性能測定用の各種ツールを利用してデータを収集するのが一般的である。このため測定者は、測定を実施するたびに煩雑な作業を行わなければならず、また、長時間を要する処理の実効性能を測定する際には、処理が完了するまで毎回待たなくてはならないという問題があった。 In order to measure the effective performance of software, it is common to deploy measurement target software in an execution environment, actually operate the software, and collect data using various tools for performance measurement. For this reason, the measurer must perform complicated work every time the measurement is performed, and when measuring the effective performance of a process that requires a long time, the measurer must wait every time until the process is completed. There was a problem.
さらに、ソフトウェアが、ハードウェア、ミドルウェア、ネットワーク等の実行環境の性能や仕様に大きく影響を受ける場合、実行環境を変更するたびに、実行環境と同様の構成で測定を実施し直す必要があり、そのたびに多大な手間と時間を費やさなければならなかった。 Furthermore, if the software is greatly affected by the performance and specifications of the execution environment such as hardware, middleware, and network, it is necessary to re-measure with the same configuration as the execution environment every time the execution environment is changed. I had to spend a lot of time and time each time.
特に、ソフトウェアの実行するための基盤となるハードウェアやミドルウェア、OS(Operating System)、ネットワーク等は年々多様化しており、その性能や仕様も様々である。ミドルウェアに関しては、商用利用に耐えるOSS(Open Source Software)が登場し、開発コスト削減のためにこれらのOSSミドルウェアを利用する企業が増加しているが、OSSのミドルウェアは有償のミドルウェアと比較すると、性能が劣る場合が多く、導入するためには各種のOSSの性能を慎重に比較検討する必要がある。また、ソフトウェアの開発形態は再利用性、柔軟性を追求したSaaS(Software as a Service)やSOA(Service-Oriented Architecture)等のサービス指向型アプリケーションの需要が高まっている。これらのサービス指向型アプリケーションにおいては、従来型のアプリケーションと比較して様々な実行環境に配備された個別のコンポーネントが、ネットワークを介して連携することが多く、アプリケーションの実行環境の性能がアプリケーションの性能に大きな影響を与える。 In particular, hardware and middleware, an OS (Operating System), a network, and the like, which are platforms for executing software, are diversified year by year, and their performance and specifications are also various. As for middleware, OSS (Open Source Software) that can withstand commercial use has appeared, and the number of companies that use these OSS middleware to reduce development costs is increasing. Compared with paid middleware, In many cases, the performance is inferior, and in order to introduce it, it is necessary to carefully compare the performance of various OSS. In addition, as for software development forms, demand for service-oriented applications such as SaaS (Software as a Service) and SOA (Service-Oriented Architecture) pursuing reusability and flexibility is increasing. In these service-oriented applications, compared to conventional applications, individual components deployed in various execution environments often cooperate via a network, and the performance of the application execution environment is the performance of the application. It has a big influence on.
このような状況から、ソフトウェアの実効性能の評価については、様々な手法が提案されている。例えば、特許文献1は、プログラムの実装前に、ソフトウェアのプログラムコードのステップ数を計測することで、ソフトウェアの性能を評価する技術を開示している。また、この他、実行環境のプロセッサのクロック数と、プログラムコード全体のステップ数とを比較して性能を自動測定するソフトウェアの実効性能を測定する方式も存在した(例えば、特許文献2)。
Under such circumstances, various methods have been proposed for evaluating the effective performance of software. For example,
しかしながら、上記の方式では、プロセッサのクロック数とプログラムコード全体のステップ数とを単純比較しているのみであり、プログラムが動作するOSやミドルウェア、ネットワークの仕様・性能を含めて性能を算出し、性能測定時の構成を指定して測定を行うことはできない。また、上記の方式では、プログラムコード全体のステップ数を対象としており、特定の分岐ブロックのみを通過するテストを行い、当該ブロック部分のみの性能を調べるといったことが困難であるという課題があった。 However, in the above method, only the number of clocks of the processor and the number of steps of the entire program code are simply compared, and the performance including the OS and middleware on which the program operates, the specifications and performance of the network are calculated, It is not possible to specify a configuration for performance measurement. Further, the above-described method targets the number of steps of the entire program code, and there is a problem that it is difficult to perform a test that passes only a specific branch block and examine the performance of only the block portion.
さらに、ソフトウェアの実効性能の測定手法や測定に用いる各種ツールが統一されておらず、異なる担当者が独自の方式で性能測定を実施した場合、担当者ごとの性能測定の結果に齟齬が発生する可能性があった。 In addition, the measurement method of the effective performance of the software and the various tools used for the measurement are not unified, and if different personnel perform performance measurement using their own method, the performance measurement results for each personnel will be inconsistent. There was a possibility.
本発明は、上記問題に鑑みてなされたものであり、ソフトウェアプログラムを実行させることなく、所定の実行環境における、特定ブロックのみの実効性能を求めることを可能とするソフトウェア実効性能評価システム及びソフトウェア実効性能評価方法、及びプログラムを提供することを目的とする。 The present invention has been made in view of the above problems, and a software effective performance evaluation system and software effective that can determine the effective performance of only a specific block in a predetermined execution environment without executing a software program. An object is to provide a performance evaluation method and program.
上記目的を達成する本発明の第1の観点に係るソフトウェア実効性能評価システムは、
ソフトウェアの実行環境を構成する要素の仕様及び性能を示す実行環境情報を所定の周期で取得する実行環境情報取得部と、
前記実行環境情報を記憶する実行環境情報記憶部と、
前記ソフトウェアのプログラムコードのネストと各ネストの性能とを解析するプログラム解析部と、
前記プログラム解析部が解析したネストの性能を示すネスト性能情報を記憶する解析結果記憶部と、
前記プログラムコードに含まれるネストから性能評価対象とするネストを選択する選択部と、
前記選択部が選択したネストのネスト性能情報を前記解析結果記憶部から読み出し、当該ネスト性能情報と、前記実行環境情報記憶部が記憶する前記実行環境情報とに基づいて、ソフトウェアの実効性能を示す値を取得する性能取得部と、
を備え、
前記性能取得部は、前記ソフトウェア環境を構成する複数の要素の前記実行環境情報を複合して、前記ソフトウェアの実効性能を示す値を取得する
ことを特徴とする。
A software effective performance evaluation system according to the first aspect of the present invention that achieves the above object is as follows:
An execution environment information acquisition unit that acquires execution environment information indicating the specifications and performance of elements constituting the execution environment of the software at a predetermined cycle ;
An execution environment information storage unit for storing the execution environment information;
A program analysis unit for analyzing the nesting of the program code of the software and the performance of each nest;
An analysis result storage unit that stores nest performance information indicating the performance of the nest analyzed by the program analysis unit;
A selection unit for selecting a nest to be evaluated from a nest included in the program code;
The nest performance information of the nest selected by the selection unit is read from the analysis result storage unit, and the effective performance of the software is indicated based on the nest performance information and the execution environment information stored in the execution environment information storage unit A performance acquisition unit for acquiring values;
Equipped with a,
The performance acquisition unit acquires a value indicating an effective performance of the software by combining the execution environment information of a plurality of elements constituting the software environment.
And wherein a call.
また、本発明の第2の観点に係るソフトウェア実効性能評価方法は、
実行環境情報取得部と、実行環境情報記憶部と、プログラム解析部と、解析結果記憶部と、選択部と、性能取得部と、を備える装置が行うソフトウェア実効性能評価方法であって、
前記実行環境情報取得部が、ソフトウェアの実行環境を構成する要素の仕様及び性能を示す実行環境情報を所定の周期で取得する実行環境情報取得工程と、
前記実行環境情報記憶部が、前記実行環境情報を記憶する実行環境情報記憶工程と、
前記プログラム解析部が、前記ソフトウェアのプログラムコードのネストと各ネストの性能とを解析するプログラム解析工程と、
前記解析結果記憶部が、前記プログラム解析部が解析したネストの性能を示すネスト性能情報を記憶する解析結果記憶工程と、
選択部が、前記プログラムコードに含まれるネストから性能評価対象とするネストを選択する選択工程と、
前記性能取得部が、前記選択部が選択したネストのネスト性能情報を前記解析結果記憶部から読み出し、当該ネスト性能情報と、前記実行環境情報記憶部が記憶する前記実行環境情報とに基づいて、ソフトウェアの実効性能を示す値を取得する性能取得工程と、
を備え、
前記性能取得工程において、前記性能取得部は、前記ソフトウェア環境を構成する複数の要素の前記実行環境情報を複合して、前記ソフトウェアの実効性能を示す値を取得する
ことを特徴とする。
The software effective performance evaluation method according to the second aspect of the present invention is as follows.
An execution environment information acquisition unit, an execution environment information storage unit, a program analysis unit, an analysis result storage unit, a selection unit, and a software acquisition performance evaluation method performed by a device including a performance acquisition unit,
An execution environment information acquisition step in which the execution environment information acquisition unit acquires execution environment information indicating the specifications and performance of elements constituting the execution environment of the software at a predetermined period ;
An execution environment information storage step in which the execution environment information storage unit stores the execution environment information;
The program analysis unit analyzes a program code nest of the software and the performance of each nest;
An analysis result storage step in which the analysis result storage unit stores nest performance information indicating the performance of the nest analyzed by the program analysis unit;
A selection step in which the selection unit selects a nest for performance evaluation from the nest included in the program code;
The performance acquisition unit reads the nest performance information of the nest selected by the selection unit from the analysis result storage unit, and based on the nest performance information and the execution environment information stored in the execution environment information storage unit, A performance acquisition step of acquiring a value indicating the effective performance of the software;
Equipped with a,
In the performance acquisition step, the performance acquisition unit acquires a value indicating the effective performance of the software by combining the execution environment information of a plurality of elements constituting the software environment.
And wherein a call.
また、本発明の第3の観点に係るプログラムは、
コンピュータを、
ソフトウェアの実行環境を構成する要素の仕様及び性能を示す実行環境情報を所定の周期で取得する実行環境情報取得部、
前記実行環境情報を記憶する実行環境情報記憶部、
前記ソフトウェアのプログラムコードのネストと各ネストの性能とを解析するプログラム解析部、
前記プログラム解析部が解析したネストの性能を示すネスト性能情報を記憶する解析結果記憶部、
前記プログラムコードに含まれるネストから性能評価対象とするネストを選択する選択部、
前記選択部が選択したネストのネスト性能情報を前記解析結果記憶部から読み出し、当該ネスト性能情報と、前記実行環境情報記憶部が記憶する前記実行環境情報とに基づいて、ソフトウェアの実効性能を示す値を取得する性能取得部、
として機能させ、
前記性能取得部は、前記ソフトウェア環境を構成する複数の要素の前記実行環境情報を複合して、前記ソフトウェアの実効性能を示す値を取得する
ように機能させることを特徴とする。
A program according to the third aspect of the present invention is:
Computer
An execution environment information acquisition unit for acquiring execution environment information indicating the specifications and performance of elements constituting the software execution environment at a predetermined cycle ;
An execution environment information storage unit for storing the execution environment information;
A program analysis unit for analyzing the nesting of the program code of the software and the performance of each nest;
An analysis result storage unit that stores nest performance information indicating the performance of the nest analyzed by the program analysis unit;
A selection unit for selecting a nest for performance evaluation from the nest included in the program code;
The nest performance information of the nest selected by the selection unit is read from the analysis result storage unit, and the effective performance of the software is indicated based on the nest performance information and the execution environment information stored in the execution environment information storage unit A performance acquisition unit that acquires values,
To function as,
The performance acquisition unit acquires a value indicating an effective performance of the software by combining the execution environment information of a plurality of elements constituting the software environment.
It is made to function as follows.
本発明によれば、ソフトウェアプログラムを実行させることなく、所定の実行環境での、特定ブロックのみの実効性能を求めることを可能とするソフトウェア実効性能評価システム及びソフトウェア実効性能評価方法、及びプログラムを提供することができる。 According to the present invention, there are provided a software effective performance evaluation system, a software effective performance evaluation method, and a program capable of obtaining the effective performance of only a specific block in a predetermined execution environment without executing the software program. can do.
(実施形態)
本発明の実施形態に係るソフトウェア実効性能評価システム1は、i)ソフトウェア実行環境の仕様及び性能に関する情報を取得して、当該情報をデータベースに登録し、ii)ソフトウェアのネスト及び各ネスト内のステップ数を解析し、iii)実行環境の仕様及びソフトウェアのネストの指定を受け付け、iv)データベースに記憶された情報と、選択されたネスト内のステップ数とに基づいて、ソフトウェアの実効性能を示す値を求める。
以下、図面を参照してソフトウェア実効性能評価システム1を詳細に説明する。
(Embodiment)
The software effective
Hereinafter, the software effective
ソフトウェア実効性能評価システム1は、図1に示すように、実行環境解析装置100と、実行環境データベース200と、ソフトウェア解析装置300と、実効性能測定装置400と、から構成される。実行環境解析装置100と実行環境データベース200は、例えば、LAN(Local Area Network)により、相互にデータの送受が可能である。また、同様に、実行環境データベース200と実効性能測定装置400、及び、ソフトウェア解析装置300と実効性能測定装置400は、例えば、LANにより、相互にデータの送受が可能である。実行環境解析装置100は、インターネット等のネットワーク500を介して、ソフトウェアを実行し得るソフトウェア実行環境601〜60nを構成するコンピュータと通信を行う。
As shown in FIG. 1, the software effective
ソフトウェア実行環境601〜60n(n:任意)は、例えば、ハードウェア、ミドルウェア、OS(Operating System)、ネットワーク、及びランタイムライブラリ等により構成される。そして、ソフトウェア実行環境601〜60nを構成する、ハードウェア、ミドルウェア、OS、ネットワーク、及びランタイムライブラリは、それぞれ、1つ以上の構成要素を有する。具体的には、ハードウェアはCPU等の構成要素、ミドルウェアはAPサーバ及びDBMS(Date Base Management System)等の構成要素、ネットワークはLANカード等の構成要素、ランタイムライブラリはDLL(Dynamic Link Library)等の構成要素を有する。 The software execution environments 601 to 60n (n: arbitrary) are configured by, for example, hardware, middleware, OS (Operating System), network, runtime library, and the like. The hardware, middleware, OS, network, and runtime library constituting the software execution environment 601 to 60n each have one or more components. Specifically, hardware is a component such as a CPU, middleware is a component such as an AP server and DBMS (Date Base Management System), a network is a component such as a LAN card, a runtime library is a DLL (Dynamic Link Library), etc. It has the following components.
実行環境解析装置100は、i)ソフトウェア実行環境(ソフトウェア実行環境601〜60n)の仕様及び性能に関する情報を取得して、データベース(実行環境データベース200)に登録する。 The execution environment analysis apparatus 100 acquires i) information related to the specifications and performance of the software execution environment (software execution environments 601 to 60n), and registers the information in the database (execution environment database 200).
実行環境解析装置100は、一般的なコンピュータにより実現され、機能的には、通信部101と、制御部102と、記憶部103と、I/F部104と、から構成される。
The execution environment analysis apparatus 100 is realized by a general computer, and functionally includes a
通信部101は、所定の通信方式により、第1のネットワーク500を介して、ソフトウェア実行環境601〜60nを構成するコンピュータとデータの送受を行う。また、通信部101は、所定の通信方式により、実行環境データベース200とデータの送受を行う。
The
制御部102は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ROM(Read Only Memory)と、を備え、ROM等に記憶されているソフトウェアプログラムに従って、実行環境解析装置100全体の制御を行う。制御部102は、所定の周期で、ソフトウェア実行環境601〜60nの仕様及び性能を検出する機能を有する。例えば、制御部102は、内部タイマに従って、図8のフローチャートに示す実行環境解析処理を行って、ソフトウェア実行環境601〜60nを構成するハードウェア、ミドルウェア、OS、ネットワーク、及びランタイムライブラリの構成要素の仕様を示す「実行環境情報」と、性能を示す「性能情報」とを取得し、取得した実行環境情報と性能情報とを、実行環境データベース200に格納させる。
The
なお、I/F部104が、ユーザより、ソフトウェア実行環境601〜60nの仕様及び性能を取得する処理の開始の指示を受け付けると、制御部102が、図8のフローチャートに示す実行環境解析処理を実行するようにしてもよい。
When the I /
また、制御部102は、所定の周期でソフトウェア実行環境601〜60nの仕様及び性能を検出するのではなく、仕様の変更を検出する機能を有し、変更が検出された場合に、図8のフローチャートに示す実行環境解析処理を実行して、ソフトウェア実行環境601〜60nの仕様及び性能を検出するようにしてもよい。例えば、制御部102は、所定の周期でソフトウェア実行環境601〜60nを構成するハードウェア、ミドルウェア、OS、ネットワーク、及びランタイムライブラリの構成ファイルを読み込み、読み込んだ結果を記憶部103等に記憶する。そして、制御部102は、記憶部103等が記憶する、先に読み込んだ構成ファイルと現在読み込んだ構成ファイルとを比較して、両者の間で差異が検出された場合、ソフトウェアの実行環境601〜60nの仕様が変更されたと見なし、実行環境解析処理を実行する。
In addition, the
以下、ハードウェア、ミドルウェア、OS、ネットワーク、及びランタイムライブラリの各構成要素についての実行環境情報及び性能情報の具体例を示す。 Hereinafter, specific examples of execution environment information and performance information for each component of hardware, middleware, OS, network, and runtime library will be shown.
CPUの実行環境情報は、「CPUの名称(CPUネーム)」及びCPUの型番を示す「プロセッサナンバー」等を示す情報を含み、CPUの性能情報は、「キャッシュメモリ容量」、「動作周波数」及び「FSB(Front Side Bus)の動作周波数」等を示す情報を含む。 The CPU execution environment information includes information indicating “CPU name (CPU name)” and “processor number” indicating the CPU model number, and the CPU performance information includes “cache memory capacity”, “operating frequency”, and the like. It includes information indicating “FSB (Front Side Bus) operating frequency” and the like.
APサーバ及びDBMSの実行環境情報は、「AP/DBMSの名称(AP/DBMSネーム)」及び「バージョン」等を示す情報を含み、APサーバ及びDBMSの性能情報は、APサーバ及びDBMSが実行する各「実行コマンド」、各実行コマンドの「ステップ数」、所定のソフトウェア実行環境で各実行コマンドを実行する際に要した「TAT(Turn Around Time)」、「CPU使用率」、「メモリ使用率」、及び「ネットワーク帯域使用率」等を示す情報を含む。 The AP server and DBMS execution environment information includes information indicating “AP / DBMS name (AP / DBMS name)” and “version”, and the AP server and DBMS performance information is executed by the AP server and DBMS. Each “execution command”, “number of steps” of each execution command, “TAT (Turn Around Time)”, “CPU usage rate”, “memory usage rate” required to execute each execution command in a predetermined software execution environment ”And“ network bandwidth usage rate ”and the like.
OSの実行環境情報は、「OSの名称(OSネーム)」及び「バージョン」等を示す情報を含み、OSの性能情報は、OSの「推奨クロック速度」、OSの「推奨RAM容量」、及びOSの性能係数等を示す情報を含む。ここで、性能係数とは、ソフトウェア実効性能にOSの種類がどの程度影響を与えるかを示す値である。例えば、予め、同一のハードウェア構成及びソフトウェア構成を有するテスト環境において、テストプログラムを種々のOS上で実行した場合のソフトウェア実効性能の値(TAT、CPU使用率、メモリ使用率、TAT、及びネットワーク帯域使用率)を求める。そして、各実効性能の値が所定の閾値を越えた場合は“1”、超えない場合は“0”と定める。なお、性能係数の決め方は任意であり、例えば、上記テストにより求めたソフトウェア実効性能の値に比例するような値でもよい。 The OS execution environment information includes information indicating “OS name (OS name)” and “version”, and the OS performance information includes “recommended clock speed” of the OS, “recommended RAM capacity” of the OS, and It includes information indicating the OS performance coefficient and the like. Here, the performance coefficient is a value indicating how much the type of OS affects the software effective performance. For example, in the test environment having the same hardware configuration and software configuration in advance, the values of the software effective performance (TAT, CPU usage rate, memory usage rate, TAT, and network) when the test program is executed on various OSs Bandwidth utilization). Then, “1” is set when each effective performance value exceeds a predetermined threshold value, and “0” is set when it does not exceed the predetermined threshold value. The method of determining the performance coefficient is arbitrary, and may be a value that is proportional to the value of the software effective performance obtained by the test, for example.
LANカードの実行環境情報は、「LANカードの名称(LANカードネーム)」等を示す情報を含み、LANカードの性能情報は、「伝送速度」、「Jumbo Frame」の大きさ及び「伝送距離」等を示す情報を含む。 The LAN card execution environment information includes information indicating “LAN card name (LAN card name)” and the like, and the LAN card performance information includes “transmission speed”, “Jumbo Frame” size and “transmission distance”. And the like information.
DLLの実行環境情報は、「DLLファイルの名称(DLLネーム)」及び「バージョン」等を示す情報を含み、DLLの性能情報は、各DLLファイルの「ステップ数」、所定のソフトウェア実行環境で各DLLファイルを実行する際に要した「CPU使用率」、「メモリ使用率」、「TAT」、及び「ネットワーク帯域使用率」等を示す情報を含む。 The DLL execution environment information includes information indicating “DLL file name (DLL name)” and “version”, and the DLL performance information includes “number of steps” of each DLL file, It includes information indicating “CPU usage rate”, “memory usage rate”, “TAT”, “network bandwidth usage rate”, and the like required when executing the DLL file.
そして、制御部102は、通信部101に、取得した実行環境情報及び性能情報を、実行環境データベース200へ送出させる。
Then, the
記憶部103は、ハードディスクやフラッシュメモリ等の記憶装置から構成される。記憶部103は、例えば、制御部102が取得した、実行環境情報及び性能情報を一時的に格納する。
The
I/F部104は、モニタ等の表示装置やキーボード等の入力装置から構成される。例えば、I/F部104は、所定のソフトウェア実行環境に対する実行環境解析処理の開始の指示を受け付ける。
The I /
実行環境データベース200は、ハードディスク等の記憶装置から構成される。実行環境データベース200は、実行環境解析装置100が取得した(例えば、ソフトウェア実行環境601(SE1)の)実行環境情報及び性能情報を受け付けると、当該実行環境情報を実行環境情報テーブル201(図2)、当該性能情報を性能情報テーブル202(図3)に登録する。実行環境データベース200は、他のソフトウェア実行環境(ソフトウェア実行環境602〜60n)の実行環境情報及び性能情報を受け付けた場合も、同様に実行環境情報テーブル201、性能情報テーブル202に登録する。
The
ソフトウェア解析装置300は、ii)ソフトウェアのネスト構造及び各ネストの性能を解析する。
The
ソフトウェア解析装置300は、一般的なコンピュータにより実現され、機能的には、通信部301と、制御部302と、記憶部303と、I/F部304と、から構成される。
The
通信部301は、所定の通信方式により、実効性能測定装置400とデータの送受を行う。
The
制御部302は、CPUと、RAMと、ROMと、を備え、ROM等に記憶されているソフトウェアプログラムに従って、ソフトウェア解析装置300全体の制御を行う。例えば、実効性能測定装置400からソフトウェア解析処理の開始の指示を受け付けると、制御部302は、図9のフローチャートに示す処理(ソフトウェア解析処理)を行い、性能評価対象のソフトウェアのネスト構造及びネスト内のステップ数を取得する。また、例えば、I/F部304が、ユーザによるソフトウェア解析処理の開始の指示を受け付けると、図9のフローチャートに示す処理を行うようにしてもよい。
The
例えば、図4に示すソフトウェアソースコードSW1に対しソフトウェア解析処理を行ったとする。制御部302は、ソフトウェアソースコードSW1のネスト構造を分析し、各ネストa1(クラスを表すネスト)、ネストb1(メソッドや関数を表すネスト)、ネストc1/c2(分岐処理を表すネスト)、ネストd1(繰り返しを表すネスト)を抽出する。そして、制御部302は、各ネストに含まれるソースコードから、ステップ数を求める。この際、ネスト内で繰り返し処理が行われている場合は、ソースコードのライン数からステップ数を求めるのではなく、繰り返し回数を乗じて実際に実行されるステップ数を求める。制御部302は、解析した結果を記憶部303に記憶させる。
For example, assume that software analysis processing is performed on the software source code SW1 shown in FIG. The
記憶部303は、ハードディスクやフラッシュメモリ等の記憶装置から構成される。記憶部303は、制御部302が取得した、ソフトウェアのネスト構造及びネスト内のステップ数を、例えば、図5(ソフトウェアソースコード情報303a)に示すように格納する。ソフトウェアソースコード情報303aは、評価対象の「ソフトウェア」と、当該ソフトウェアに含まれる「ネスト」と、各ネストの「上位のネスト」と、各ネストの「下位のネスト」と、各ネストに含まれる「ステップ数」とを示す情報を含む。
The
I/F部304は、モニタ等の表示装置やキーボード等の入力装置から構成される。例えば、I/F部304は、ソフトウェア解析処理の開始の指示、及び実効性能解析の対象とするソフトウェアソースコードSW1の指定を受け付け、ソフトウェア解析処理の結果(図5のソフトウェアソースコード情報)をモニタに出力する。
The I /
実効性能測定装置400は、iii)実行環境の仕様及びソフトウェアのネストの指定を受け付け、iv)データベースに記憶された情報と、選択されたネスト内のステップ数とに基づいて、ソフトウェアの実効性能を示す値を求める。 The effective performance measuring device 400 accepts the specification of the execution environment and the software nesting, and iv) determines the effective performance of the software based on the information stored in the database and the number of steps in the selected nesting. Find the value shown.
実効性能測定装置400は、一般的なコンピュータにより実現され、機能的には、通信部401と、制御部402と、記憶部403と、I/F部404と、から構成される。
The effective performance measuring apparatus 400 is realized by a general computer, and functionally includes a
通信部401は、所定の通信方式により、実行環境データベース200、及びソフトウェア解析装置300とデータの送受を行う。
The
制御部402は、CPUと、RAMと、ROMと、を備え、ROM等に記憶されているソフトウェアプログラムに従って、実効性能測定装置400全体の制御を行う。例えば、I/F部404がソフトウェアの実効性能の測定を開始する指示を受け付けると、制御部402は、図10のフローチャートに示す処理(実効性能測定処理)を行う。すなわち、ユーザが指定した、実行環境の仕様を示す情報(CPU ID、APサーバID等)に基づいて実行環境データベース200から該当する実行環境の性能情報を読み込み、また、ユーザが指定したソフトウェアのネストに基づいて、ソフトウェア解析装置300に記憶されたソフトウェアソースコード情報303aから、当該ネスト内のステップ数を読み込む。そして、読み込んだ性能情報とステップ数とからソフトウェアの実効性能を示す値を求める。以下、ユーザが指定した実行環境の仕様及びソフトウェアのネストを、併せて「評価対象指定情報」という。
The
ここで、ソフトウェアの実効性能を示す値は、例えば、TAT、CPU使用率、メモリ使用率、又はネットワーク使用率であり、評価対象指定情報に基づいて、以下のように求めることができる。 Here, the value indicating the effective performance of the software is, for example, TAT, CPU usage rate, memory usage rate, or network usage rate, and can be obtained as follows based on the evaluation target designation information.
CPU、APサーバ、DBMS、OS、LANカード、及びDLLの構成要素を有する、所定の実行環境において、X個のステップ数を含むプログラムを実行した際に測定されたTAT、CPU使用率、メモリ使用率、及びネットワーク使用率をそれぞれ(t、u、v、w)とする。予め複数の実行環境の図3に示す性能情報と、当該実行環境においてX個のステップ数を有するソフトウェアを実行した場合のTAT、CPU使用率、メモリ使用率、及びネットワーク使用率の測定値(t1、u1、v1、w1)〜(tn、un、vn、wn)とを求めておく。そして、性能情報の値(図3)及びソフトウェアのステップ数を従属変数として、TAT、CPU使用率、メモリ使用率、又はネットワーク使用率を表す論理モデル(式)を回帰分析により求める。 TAT, CPU usage rate, and memory usage measured when a program including X steps is executed in a predetermined execution environment having components of CPU, AP server, DBMS, OS, LAN card, and DLL Let the rate and the network usage rate be (t, u, v, w), respectively. The performance information shown in FIG. 3 for a plurality of execution environments in advance, and measured values of the TAT, CPU usage rate, memory usage rate, and network usage rate when software having X number of steps is executed in the execution environment (t 1 , u 1 , v 1 , w 1 ) to (t n , u n , v n , w n ). Then, using the performance information value (FIG. 3) and the number of software steps as a dependent variable, a logical model (formula) representing TAT, CPU usage rate, memory usage rate, or network usage rate is obtained by regression analysis.
例えば、以下に示すTATの論理モデルの各係数a、b、c、d、e、f、gを、回帰分析により求める。
TAT=a×動作周波数+b×ステップ数(APサーバ)+c×ステップ数(DBMS)+d×性能係数+e×伝送速度+f×ステップ数(DLL)+g×X(ソフトウェアのステップ数)
なお、性能情報の組み合わせは任意であり、ユーザが適宜選択できるとする。
For example, each coefficient a, b, c, d, e, f, g of the following TAT logic model is obtained by regression analysis.
TAT = a × operation frequency + b × number of steps (AP server) + c × number of steps (DBMS) + d × performance coefficient + e × transmission speed + f × number of steps (DLL) + g × X (number of software steps)
Note that the combination of performance information is arbitrary and can be selected as appropriate by the user.
このように求めた論理式は、記憶部403に記憶され、ユーザが評価対象指定情報を指定すると、制御部402は、上記論理式の従属変数の値を求めて、当該論理式に代入し、ソフトウェアの実効性能を示す値を求める。
The logical expression obtained in this way is stored in the
記憶部403は、ハードディスクやフラッシュメモリ等の記憶装置を備え、例えば、ソフトウェアの実効性能を算出するための論理式や制御部402が求めたソフトウェアの実効性能を示す値を格納する。
The
I/F部404は、モニタ等の表示装置やキーボード等の入力装置から構成される。例えば、I/F部104は、実効性能測定処理の開始の指示を受け付け、モニタに、評価対象指定情報を指定するためのスクリプト(図6の評価対象指定スクリプト)を表示する。また、ユーザがキーボード等で評価対象指定スクリプトを編集して、評価対象指定情報を指定すると、制御部402は実効性能測定処理を行い、求めた結果(図7、実効性能測定結果テーブル)をモニタに出力する。
The I / F unit 404 includes a display device such as a monitor and an input device such as a keyboard. For example, the I /
次に、上記構成を有するソフトウェア実効性能評価システム1の実行環境解析装置100、ソフトウェア解析装置300、及び実効性能測定装置400が行う動作(図8乃至図10)について説明する。以下では、実行環境解析装置100は、内部タイマに従って所定の周期で、実行環境解析処理を行い、ソフトウェア解析装置300は、実効性能測定装置400からソフトウェア解析処理開始の指示を受け付けると、ソフトウェア解析処理を開始する。実効性能測定装置400は、ユーザから実効性能測定処理開始の指示を受け付けると、実効性能測定処理を開始する。この際、実効性能測定装置400は、ソフトウェア解析装置300に、ソフトウェア解析処理開始の指示を送信する。
Next, operations (FIGS. 8 to 10) performed by the execution environment analysis device 100, the
実行環境解析装置100は、内部タイマに従って、所定の周期で、図8に示す実行環境解析処理を開始する。 The execution environment analysis apparatus 100 starts the execution environment analysis process shown in FIG. 8 at a predetermined cycle according to the internal timer.
制御部102は、ソフトウェア実行環境601〜60nに関する情報を取得する(ステップS11)。例えば、ソフトウェア実行環境601〜60nを構成するコンピュータと通信を行い、当該コンピュータが有する構成ファイルを読み込む。
The
次に、制御部102は、取得したソフトウェア実行環境601〜60nを構成するハードウェア、ミドルウェア、OS、ネットワーク、及びランタイムライブラリの構成要素に関する実行環境情報及び性能情報を得る(ステップS12)。例えば、構成ファイルから、ソフトウェア実行環境601(SE1)が有するCPUの「CPUネーム」は“XXX”、「プロセッサナンバー」は“E8600”といった情報を取得する。同様に、APサーバの「APサーバネーム」は“XX Server”、「バージョン」は“6.0.1”、DBMSの「DBMSネーム」は“XX DB”、「バージョン」は“1.2.1”、OSの「OSネーム」は“XXXX”、「バージョン」は“YY”、LANカードの「LANカードネーム」は“XXX−XXX”、DLLの「DLLネーム」は“XXX.dll”、「バージョン」は“11.0.6568”等の情報を取得する。
Next, the
また、制御部102は、各構成要素の性能情報を取得する。例えば、上記CPU(“XXX”)の「キャッシュメモリ容量」は“6MB L2”、「動作周波数」は“3.33GHz”、「FSB」は“1333MHz”、上記APサーバ(“XX Server”)で実行される「実行コマンド」は“callEJB()”、「ステップ数」は“1000”、「CPU使用率」は“1%”、「メモリ使用率」は“1%”、「TAT」は“7000μs”、「ネットワーク帯域使用率」は“1%”、上記DBMS(“XX DB”)で実行される「実行コマンド」は“select”、「CPU使用率」は“1%”、「メモリ使用率」は“1%”、「TAT」は“300μs”、「ネットワーク帯域使用率」は“1%”、上記OS(“XXXX”)の「推奨クロック速度」は“300MHz”、「推奨RAM容量」は“128MB”、「HDD容量」は“2.1GB”、上記LANカード(“XXX−XXX”)の「伝送速度」は“1,000Mbps”、「Jumbo Frame」は“7,154bytes”、「伝送距離」は“100m”、上記DLL(“XXX.dll”)の「ステップ数」は“500”、「CPU使用率」は“1%”、「メモリ使用率」は“1%”、「TAT」は“300μs”、「ネットワーク帯域使用率」は“1%”等の情報を取得する。
Further, the
そして、制御部102は、解析した結果の、ハードウェア、ミドルウェア、OS、ネットワーク、及びランタイムライブラリの実行環境情報及び性能情報を、実行環境データベース200に出力する(ステップS13)。実行環境データベース200は、図2A乃至図2F(実行環境情報テーブル201)に示すように、制御部102が取得した各構成要素の実行環境情報にID(“CPU ID”、“APサーバID”、“DBMS ID”、“OS ID”、“LANカードID”、“DLL ID”)を付して、当該実行環境情報を構成要素毎のテーブルに格納する。また、図3(a)乃至図3(f)(性能情報テーブル202)に示すように、制御部102が取得した性能情報を構成要素毎のテーブルに格納する。この際、実行環境情報に対応する性能情報には、実行環境情報テーブルで用いられているものと同じIDを付する。これにより、IDをキーにして、各構成要素の実行環境情報及び性能情報を読み出すことができる。例えば、ユーザが、「CPU ID」が“CPU−001”のCPUを選択したとすると、“CPU−001”をキーとして、当該CPUの「CPUネーム」や「キャッシュメモリ容量」等の情報を読み出すことができる。
Then, the
次に、ソフトウェア解析装置300が行う処理の動作について説明する。ソフトウェア解析装置300は、実効性能測定装置400からソフトウェア解析処理の開始の指示を受け付けると、図9に示すソフトウェア解析処理を開始する。
Next, processing operations performed by the
実効性能測定装置400のユーザにより性能解析対象とするソフトウェアソースコードが指定されると、制御部302は、指定されたソフトウェアソースコードを読み込む(ステップS21)。次に、制御部302は、読み込んだソフトウェアソースコードのネスト構造を解析し、各ネストを抽出する(ステップS22)。例えば、制御部302が、図4のソフトウェアソースコードSW1を読み込んだとすると、制御部302は、ネストa1、ネストb1、ネストc1/c2、ネストd1を抽出する。
When the software source code targeted for performance analysis is designated by the user of the effective performance measuring apparatus 400, the
次に、制御部302は、各ネストに含まれるソフトウェアソースコードを解析し、各ネストの実行ステップ数を求める(ステップS23)。例えば、ソフトウェアソースコードSW1のネストd1に含まれる実行ステップ数は、20001(=1(繰り返し定義の行)+2(ループ内の行)×10000(繰り返し回数))と求まる。またネストd1の上位のネストc1の実行ステップ数は、ネストd1に含まれる実行ステップ数(20001)と、ネストd1以外に含まれるステップ数(例えば、100)を足して、20101と求まる。
Next, the
そして、制御部302は、解析した結果を、I/F部304に出力させる。例えば、制御部302は、図5に示すソフトウェアコード情報を、モニタに表示させる。本実施形態のソフトウェアコード情報は、解析したソフトウェアを示す「ソフトウェア」と、当該ソフトウェアに含まれる「ネスト」と、当該ネストの「上位のネスト」及び「下位のネスト」と、当該ネストに含まれる「ステップ数」と、を示す情報から構成される。
Then, the
実効性能測定装置400は、ユーザにより、I/F部304が性能測定処理の開始の指示を受け付けると、図10に示す性能測定処理を開始する。
When the I /
まず、制御部402は、実効性能を評価するソフトウェアを指定し、ソフトウェア解析装置300と通信を行い、ソフトウェア解析装置300に図9に示すソフトウェア解析処理を開始させる。そして、制御部402は、ソフトウェア解析装置300が解析したソフトウェアソースコード情報を取得する(ステップS31)。例えば、実効性能を評価するソフトウェアを図4のソフトウェアソースコードSW1とすると、制御部402は、ソフトウェア解析装置300から、図5のソフトウェアソースコード情報303aを取得し、制御部402のRAM等に一時格納する。
First, the
次に、制御部402は、I/F部104に評価対象指定スクリプト(図6)を表示させ、ユーザは、キーボート等を用いて評価対象指定スクリプトを編集して、評価対象指定情報を指定する。制御部402は、評価対象指定スクリプトから、評価対象指定情報を取得する(ステップS32)。例えば、ユーザが、ソフトウェアソースコードSW1のネストc1及びCPU−001、AP−001、DB−001、OS−001、LAN−001、及びDLL−001を評価対象指定情報として指定したとすると、それらを制御部402のRAM等に一時格納する。
Next, the
次に、制御部402は、ステップS32で読み込んだ性能能評価対象情報に記されたIDに基づいて、実行環境データベース200から性能情報を取得する(ステップS33)。例えば、図3に示す、CPU−001、AP−001、DB−001、OS−001、LAN−001、及びDLL−001の性能情報を、制御部402のRAM等に一時格納する。
Next, the
制御部402は、ソフトウェアソースコード情報と実行環境データベース200から読み込んだ性能情報とから、指定された評価対象指定情報に従い、ソフトウェアの性能を計算する(ステップS34)。例えば、制御部402は、指定されたソフトウェアソースコードSW1のネストc1のステップ数と、CPU−001、AP−001、DB−001、OS−001、LAN−001、及びDLL−001の性能情報を従属変数として、予め用意された回帰式に代入して、ソフトウェアソースコードSW1のネストc1のTATを求める。
The
そして、制御部402は、I/F部404にソフトウェアの性能測定をした結果(性能測定結果データ、図7)を表示させる。例えば、性能測定結果データは、評価対象とする「ソフトウェア」の種類及び当該ソフトウェアの「ネスト」、ユーザが指定した各実行環境のID、及び当該ソフトウェアの指定されたネストの性能を表す指標(例えば、「TAT」)等を含む。図7の例は、ソフトウェアソースコードSW1のネストc1を、CPU−001、AP−001、DB−001、OS−001、LAN−001、及びDLL−001を含むソフトウェア実行環境で実行した場合の性能(TAT)を示している。
Then, the
以上説明したように、ソフトウェア実効性能評価システム1によれば、自動的にソフトウェア実行環境の仕様・性能を解析・収集し、データベースに登録する仕組みを提供することにより、複雑な構成や、構成が頻繁に変更される場合にも、素早く性能測定に必要な情報を収集することができ、性能測定にかかる工数を削減することができる。また、実際にソフトウェアを実行環境に配備したり、実行させたりする手間が省けるので、性能測定にかかる工数を削減することができる。さらに、各種実行環境に関する詳細な仕様を把握していなくても性能測定が可能となり、性能測定に必要な学習コストを削減することができる。
As described above, according to the software effective
また、ソフトウェアソースコードのネスト単位での実効ステップ数を解析し、実際に実行されるネスト単位での性能測定を可能とし、各種条件下での実質的な性能に近いデータを計測することが可能となる。本発明を利用することで、環境ごとに一定の手順に従って性能測定を行うことが可能となるため、性能測定の担当者が変わっても性能測定の方式に違いが出たり、性能測定結果に齟齬が発生したりしにくくすることができる。 In addition, by analyzing the number of effective steps in the nesting unit of the software source code, it is possible to measure the performance in the nesting unit that is actually executed, and it is possible to measure data close to the actual performance under various conditions It becomes. By using the present invention, it becomes possible to perform performance measurement according to a certain procedure for each environment, so even if the person in charge of performance measurement changes, the performance measurement method may differ, and the performance measurement result may be different. Can be less likely to occur.
本発明のソフトウェア実効性能評価システムは、図1の構成に限られない。例えば、実行環境解析装置100、実行環境データベース200、ソフトウェア解析装置300、及び実効性能測定装置400は同一の装置により実現されてもよい。また、LANの代わりに、各装置がインターネットを介して通信可能であってもよい。
The software effective performance evaluation system of the present invention is not limited to the configuration shown in FIG. For example, the execution environment analysis device 100, the
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。 A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.
(付記1)ソフトウェアの実行環境の仕様及び性能を示す実行環境情報を取得する実行環境情報取得部と、前記実行環境情報を記憶する実行環境情報記憶部と、前記ソフトウェアのプログラムコードのネストと各ネストの性能とを解析するプログラム解析部と、前記プログラム解析部が解析したネストの性能を示すネスト性能情報を記憶する解析結果記憶部と、前記プログラムコードに含まれるネストから性能評価対象とするネストを選択する選択部と、前記選択部が選択したネストのネスト性能情報を前記解析結果記憶部から読み出し、当該ネスト性能情報と、前記実行環境情報記憶部が記憶する前記実行環境情報とに基づいて、ソフトウェアの実効性能を示す値を取得する性能取得部と、を備えることを特徴とするソフトウェア実効性能評価システム。 (Appendix 1) An execution environment information acquisition unit that acquires execution environment information indicating the specifications and performance of the software execution environment, an execution environment information storage unit that stores the execution environment information, and a nesting of program code of the software A program analysis unit for analyzing the performance of the nest, an analysis result storage unit for storing nest performance information indicating the performance of the nest analyzed by the program analysis unit, and a nest to be evaluated from the nest included in the program code A selection unit that selects the nest performance information of the nest selected by the selection unit from the analysis result storage unit, and based on the nest performance information and the execution environment information stored in the execution environment information storage unit And a performance acquisition unit for acquiring a value indicating the effective performance of the software. Value system.
(付記2)前記実行環境情報は、ソフトウェアを実行する装置のOS(Operating System)、ハードウェア、ミドルウェア、ネットワーク、又は、ランタイムライブラリの仕様及び性能を示す情報から構成されることを特徴とする付記1に記載のソフトウェア実効性能評価システム。 (Additional remark 2) The said execution environment information is comprised from the OS (Operating System) of the apparatus which performs software, hardware, middleware, a network, or the information which shows the specification and performance of a runtime library, It is characterized by the above-mentioned The software effective performance evaluation system according to 1.
(付記3)前記ネスト性能情報は、プログラムコードのステップ数を示す情報から構成されることを特徴とする付記1又は2に記載のソフトウェア実効性能評価システム。
(Supplementary note 3) The software effective performance evaluation system according to
(付記4)前記プログラムコードのステップ数は、当該プログラムコードが繰り返し処理を含む場合、繰り返し数を考慮した総ステップ数であることを特徴とする付記3に記載のソフトウェア実効性能評価システム。
(Supplementary note 4) The software effective performance evaluation system according to
(付記5)前記ソフトウェアの実行環境の仕様の変更を検出する仕様変更検出部をさらに備え、前記実行環境情報取得部は、前記仕様変更検出部が仕様の変更を検出した場合に、前記ソフトウェアの実行環境の実行環境情報を取得することを特徴とする付記1乃至4のうちいずれか1つに記載のソフトウェア実効性能評価システム。
(Additional remark 5) The specification change detection part which detects the change of the specification of the execution environment of the said software is further provided, The said execution environment information acquisition part, when the said specification change detection part detects the change of a specification, The software effective performance evaluation system according to any one of
(付記6)実行環境情報取得部と、実行環境情報記憶部と、プログラム解析部と、解析結果記憶部と、選択部と、性能取得部と、を備える装置が行うソフトウェア実効性能評価方法であって、前記実行環境情報取得部が、ソフトウェアの実行環境の仕様及び性能を示す実行環境情報を取得する実行環境情報取得工程と、前記実行環境情報記憶部が、前記実行環境情報を記憶する実行環境情報記憶工程と、前記プログラム解析部が、前記ソフトウェアのプログラムコードのネストと各ネストの性能とを解析するプログラム解析工程と、前記解析結果記憶部が、前記プログラム解析部が解析したネストの性能を示すネスト性能情報を記憶する解析結果記憶工程と、選択部が、前記プログラムコードに含まれるネストから性能評価対象とするネストを選択する選択工程と、性能取得部が、前記選択部が選択したネストのネスト性能情報を前記解析結果記憶部から読み出し、当該ネスト性能情報と、前記実行環境情報記憶部が記憶する前記実行環境情報とに基づいて、ソフトウェアの実効性能を示す値を取得する性能取得工程と、を備えることを特徴とするソフトウェア実効性能評価方法。 (Supplementary note 6) A software effective performance evaluation method performed by an apparatus including an execution environment information acquisition unit, an execution environment information storage unit, a program analysis unit, an analysis result storage unit, a selection unit, and a performance acquisition unit. An execution environment information acquisition step in which the execution environment information acquisition unit acquires execution environment information indicating the specifications and performance of the execution environment of the software, and an execution environment in which the execution environment information storage unit stores the execution environment information. An information storage step, a program analysis step in which the program analysis unit analyzes the nest of the program code of the software and the performance of each nest, and the analysis result storage unit determines the performance of the nest analyzed by the program analysis unit. The analysis result storage step for storing the nest performance information to be shown, and the nest to be selected as a performance evaluation target from the nest included in the program code The selection process to be selected, and the performance acquisition unit reads the nest performance information of the nest selected by the selection unit from the analysis result storage unit, and the execution environment information stored in the execution performance information storage unit. And a performance acquisition step of acquiring a value indicating the effective performance of the software based on the above.
(付記7)コンピュータを、ソフトウェアの実行環境の仕様及び性能を示す実行環境情報を取得する実行環境情報取得部、前記実行環境情報を記憶する実行環境情報記憶部、前記ソフトウェアのプログラムコードのネストと各ネストの性能とを解析するプログラム解析部、前記プログラム解析部が解析したネストの性能を示すネスト性能情報を記憶する解析結果記憶部、前記プログラムコードに含まれるネストから性能評価対象とするネストを選択する選択部、前記選択部が選択したネストのネスト性能情報を前記解析結果記憶部から読み出し、当該ネスト性能情報と、前記実行環境情報記憶部が記憶する前記実行環境情報とに基づいて、ソフトウェアの実効性能を示す値を取得する性能取得部、として機能させることを特徴とするプログラム。 (Supplementary Note 7) An execution environment information acquisition unit that acquires execution environment information indicating the specifications and performance of software execution environment, an execution environment information storage unit that stores the execution environment information, and a nesting of program code of the software A program analysis unit that analyzes the performance of each nest, an analysis result storage unit that stores nest performance information indicating the performance of the nest analyzed by the program analysis unit, and a nest that is subject to performance evaluation from the nests included in the program code The selection unit to be selected, the nest performance information of the nest selected by the selection unit is read from the analysis result storage unit, and based on the nest performance information and the execution environment information stored in the execution environment information storage unit, software A program that functions as a performance acquisition unit that acquires a value indicating the effective performance of .
1 ソフトウェア実効性能評価システム
100 実行環境解析装置
101 通信部
102 制御部
103 記憶部
104 I/F部
200 実行環境データベース
201 実行環境情報テーブル
202 性能情報テーブル
300 ソフトウェア解析装置
301 通信部
302 制御部
303 記憶部
303a ソフトウェアソースコード情報
304 I/F部
400 実効性能測定装置
401 通信部
402 制御部
403 記憶部
404 I/F部
500 ネットワーク
601〜60n ソフトウェア実行環境
DESCRIPTION OF
Claims (7)
前記実行環境情報を記憶する実行環境情報記憶部と、
前記ソフトウェアのプログラムコードのネストと各ネストの性能とを解析するプログラム解析部と、
前記プログラム解析部が解析したネストの性能を示すネスト性能情報を記憶する解析結果記憶部と、
前記プログラムコードに含まれるネストから性能評価対象とするネストを選択する選択部と、
前記選択部が選択したネストのネスト性能情報を前記解析結果記憶部から読み出し、当該ネスト性能情報と、前記実行環境情報記憶部が記憶する前記実行環境情報とに基づいて、ソフトウェアの実効性能を示す値を取得する性能取得部と、
を備え、
前記性能取得部は、前記ソフトウェア環境を構成する複数の要素の前記実行環境情報を複合して、前記ソフトウェアの実効性能を示す値を取得する
ことを特徴とするソフトウェア実効性能評価システム。 An execution environment information acquisition unit that acquires execution environment information indicating the specifications and performance of elements constituting the execution environment of the software at a predetermined cycle ;
An execution environment information storage unit for storing the execution environment information;
A program analysis unit for analyzing the nesting of the program code of the software and the performance of each nest;
An analysis result storage unit that stores nest performance information indicating the performance of the nest analyzed by the program analysis unit;
A selection unit for selecting a nest to be evaluated from a nest included in the program code;
The nest performance information of the nest selected by the selection unit is read from the analysis result storage unit, and the effective performance of the software is indicated based on the nest performance information and the execution environment information stored in the execution environment information storage unit A performance acquisition unit for acquiring values;
Equipped with a,
The performance acquisition unit acquires a value indicating an effective performance of the software by combining the execution environment information of a plurality of elements constituting the software environment.
Software effective performance evaluation system, wherein a call.
ことを特徴とする請求項1に記載のソフトウェア実効性能評価システム。 The said execution environment information is comprised from the information which shows the specification and performance of OS (Operating System) of an apparatus which performs software, hardware, middleware, a network, or a runtime library. Software effective performance evaluation system.
ことを特徴とする請求項1又は2に記載のソフトウェア実効性能評価システム。 3. The software effective performance evaluation system according to claim 1, wherein the nesting performance information includes information indicating the number of steps of the program code.
ことを特徴とする請求項3に記載のソフトウェア実効性能評価システム。 The software effective performance evaluation system according to claim 3, wherein the number of steps of the program code is a total number of steps in consideration of the number of repetitions when the program code includes repetition processing.
前記実行環境情報取得部は、前記仕様変更検出部が仕様の変更を検出した場合に、前記ソフトウェアの実行環境の実行環境情報を取得する
ことを特徴とする請求項1乃至4のうちいずれか1項に記載のソフトウェア実効性能評価システム。 A specification change detection unit for detecting a change in the specification of the execution environment of the software;
The execution environment information acquisition unit acquires the execution environment information of the execution environment of the software when the specification change detection unit detects a change in the specification. Software effective performance evaluation system described in the section.
前記実行環境情報取得部が、ソフトウェアの実行環境を構成する要素の仕様及び性能を示す実行環境情報を所定の周期で取得する実行環境情報取得工程と、
前記実行環境情報記憶部が、前記実行環境情報を記憶する実行環境情報記憶工程と、
前記プログラム解析部が、前記ソフトウェアのプログラムコードのネストと各ネストの性能とを解析するプログラム解析工程と、
前記解析結果記憶部が、前記プログラム解析部が解析したネストの性能を示すネスト性能情報を記憶する解析結果記憶工程と、
選択部が、前記プログラムコードに含まれるネストから性能評価対象とするネストを選択する選択工程と、
前記性能取得部が、前記選択部が選択したネストのネスト性能情報を前記解析結果記憶部から読み出し、当該ネスト性能情報と、前記実行環境情報記憶部が記憶する前記実行環境情報とに基づいて、ソフトウェアの実効性能を示す値を取得する性能取得工程と、
を備え、
前記性能取得工程において、前記性能取得部は、前記ソフトウェア環境を構成する複数の要素の前記実行環境情報を複合して、前記ソフトウェアの実効性能を示す値を取得する
ことを特徴とするソフトウェア実効性能評価方法。 An execution environment information acquisition unit, an execution environment information storage unit, a program analysis unit, an analysis result storage unit, a selection unit, and a software acquisition performance evaluation method performed by a device including a performance acquisition unit,
An execution environment information acquisition step in which the execution environment information acquisition unit acquires execution environment information indicating the specifications and performance of elements constituting the execution environment of the software at a predetermined period ;
An execution environment information storage step in which the execution environment information storage unit stores the execution environment information;
The program analysis unit analyzes a program code nest of the software and the performance of each nest;
An analysis result storage step in which the analysis result storage unit stores nest performance information indicating the performance of the nest analyzed by the program analysis unit;
A selection step in which the selection unit selects a nest for performance evaluation from the nest included in the program code;
The performance acquisition unit reads the nest performance information of the nest selected by the selection unit from the analysis result storage unit, and based on the nest performance information and the execution environment information stored in the execution environment information storage unit, A performance acquisition step of acquiring a value indicating the effective performance of the software;
Equipped with a,
In the performance acquisition step, the performance acquisition unit acquires a value indicating the effective performance of the software by combining the execution environment information of a plurality of elements constituting the software environment.
Software effective performance evaluation method, wherein a call.
ソフトウェアの実行環境を構成する要素の仕様及び性能を示す実行環境情報を所定の周期で取得する実行環境情報取得部、
前記実行環境情報を記憶する実行環境情報記憶部、
前記ソフトウェアのプログラムコードのネストと各ネストの性能とを解析するプログラム解析部、
前記プログラム解析部が解析したネストの性能を示すネスト性能情報を記憶する解析結果記憶部、
前記プログラムコードに含まれるネストから性能評価対象とするネストを選択する選択部、
前記選択部が選択したネストのネスト性能情報を前記解析結果記憶部から読み出し、当該ネスト性能情報と、前記実行環境情報記憶部が記憶する前記実行環境情報とに基づいて、ソフトウェアの実効性能を示す値を取得する性能取得部、
として機能させ、
前記性能取得部は、前記ソフトウェア環境を構成する複数の要素の前記実行環境情報を複合して、前記ソフトウェアの実効性能を示す値を取得する
ように機能させることを特徴とするプログラム。 Computer
An execution environment information acquisition unit for acquiring execution environment information indicating the specifications and performance of elements constituting the software execution environment at a predetermined cycle ;
An execution environment information storage unit for storing the execution environment information;
A program analysis unit for analyzing the nesting of the program code of the software and the performance of each nest;
An analysis result storage unit that stores nest performance information indicating the performance of the nest analyzed by the program analysis unit;
A selection unit for selecting a nest for performance evaluation from the nest included in the program code;
The nest performance information of the nest selected by the selection unit is read from the analysis result storage unit, and the effective performance of the software is indicated based on the nest performance information and the execution environment information stored in the execution environment information storage unit A performance acquisition unit that acquires values,
To function as,
The performance acquisition unit acquires a value indicating an effective performance of the software by combining the execution environment information of a plurality of elements constituting the software environment.
Program for causing to function as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010047422A JP5240220B2 (en) | 2010-03-04 | 2010-03-04 | Software effective performance evaluation system, software effective performance evaluation method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010047422A JP5240220B2 (en) | 2010-03-04 | 2010-03-04 | Software effective performance evaluation system, software effective performance evaluation method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011181034A JP2011181034A (en) | 2011-09-15 |
JP5240220B2 true JP5240220B2 (en) | 2013-07-17 |
Family
ID=44692438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010047422A Active JP5240220B2 (en) | 2010-03-04 | 2010-03-04 | Software effective performance evaluation system, software effective performance evaluation method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5240220B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9436608B1 (en) | 2015-02-12 | 2016-09-06 | International Business Machines Corporation | Memory nest efficiency with cache demand generation |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160004583A1 (en) * | 2013-02-14 | 2016-01-07 | Nec Corporation | System for project management from non-function evaluation, method for project management from non-function evaluation, and program for project management from non-function evaluation |
JP2014241021A (en) | 2013-06-11 | 2014-12-25 | 株式会社日立製作所 | Software evaluation device and method |
CN112765016B (en) * | 2021-01-08 | 2024-03-22 | 天翼数字生活科技有限公司 | Open source software availability judging method and device |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3335488B2 (en) * | 1994-11-14 | 2002-10-15 | 株式会社日立製作所 | Performance prediction apparatus and method |
JPH08202668A (en) * | 1995-01-27 | 1996-08-09 | Hitachi Eng Co Ltd | Device and method for evaluating performance |
JPH11296416A (en) * | 1998-04-14 | 1999-10-29 | Nippon Steel Corp | Load analysis device and load analysis method for computer system and storage medium |
JP2000020354A (en) * | 1998-07-07 | 2000-01-21 | Hitachi Ltd | Editor for number of execution steps |
JP3961787B2 (en) * | 2000-06-12 | 2007-08-22 | 富士通株式会社 | Object-oriented program performance improvement support device, recording medium, and program |
JP2002229818A (en) * | 2001-02-01 | 2002-08-16 | Hitachi Ltd | Program execution time analytical method and its device |
-
2010
- 2010-03-04 JP JP2010047422A patent/JP5240220B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9436608B1 (en) | 2015-02-12 | 2016-09-06 | International Business Machines Corporation | Memory nest efficiency with cache demand generation |
Also Published As
Publication number | Publication date |
---|---|
JP2011181034A (en) | 2011-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10419546B2 (en) | Migration assessment for cloud computing platforms | |
US8327325B2 (en) | Programmable framework for automatic tuning of software applications | |
Brosig et al. | Automated extraction of architecture-level performance models of distributed component-based systems | |
US11138058B2 (en) | Hierarchical fault determination in an application performance management system | |
CN106662986B (en) | The browser render process of optimization | |
KR20060061759A (en) | Automatic validation and calibration of transaction-based performance models | |
CN104025048B (en) | Method and system for estimating installation time of software product in operating environment | |
JP2017506400A (en) | Cloud release pipeline diagnosis and optimization | |
US8954311B2 (en) | Arrangements for extending configuration management in large IT environments to track changes proactively | |
JP5240220B2 (en) | Software effective performance evaluation system, software effective performance evaluation method, and program | |
KR101916294B1 (en) | Technologies for cloud data center analytics | |
CN107220121B (en) | Sandbox environment testing method and system under NUMA architecture | |
US11436133B2 (en) | Comparable user interface object identifications | |
KR100460536B1 (en) | Apparatus and method for recommending associated components based on performance measurement of components | |
Barve et al. | Fecbench: A holistic interference-aware approach for application performance modeling | |
JP6119767B2 (en) | Coping method creation program, coping method creation method, and information processing apparatus | |
CN108363660A (en) | A kind of method of generating test program and device | |
CN117234859B (en) | Performance event monitoring method, device, equipment and storage medium | |
Bader | Comparison of time series databases | |
US20160366021A1 (en) | User interface for an application performance management system | |
Ferme et al. | Performance comparison between BPMN 2.0 workflow management systems versions | |
KR101039874B1 (en) | System for integration platform of information communication | |
Marum et al. | Unified library for dependency graph reactivity on web and desktop user interfaces: Addendum | |
CN109800158A (en) | Compatibility test method, device and electronic equipment based on block chain | |
US11860757B2 (en) | Apparatus and method for determining the performance impact of changes in a computing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121227 |
|
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: 20130305 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130318 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |