JP4416626B2 - Processing time calculation program - Google Patents

Processing time calculation program Download PDF

Info

Publication number
JP4416626B2
JP4416626B2 JP2004318657A JP2004318657A JP4416626B2 JP 4416626 B2 JP4416626 B2 JP 4416626B2 JP 2004318657 A JP2004318657 A JP 2004318657A JP 2004318657 A JP2004318657 A JP 2004318657A JP 4416626 B2 JP4416626 B2 JP 4416626B2
Authority
JP
Japan
Prior art keywords
server
processing time
transaction
time
packet
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.)
Expired - Fee Related
Application number
JP2004318657A
Other languages
Japanese (ja)
Other versions
JP2006133820A (en
Inventor
英喜 大河原
基行 河場
克彦 西川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2004318657A priority Critical patent/JP4416626B2/en
Publication of JP2006133820A publication Critical patent/JP2006133820A/en
Application granted granted Critical
Publication of JP4416626B2 publication Critical patent/JP4416626B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、処理時間算出プログラムおよびワークロードモデル作成プログラムに関し、特に実環境もしくはテスト環境でアプリケーションを実行する測定対象サーバ群について汎用観測ツールを用いて観測された測定情報に基づき、所定のトランザクションに要する処理時間を算出するための処理時間算出プログラムおよび算出された処理時間を用いてワークロードモデルを定義するためのワークロードモデル作成プログラムに関する。   The present invention relates to a processing time calculation program and a workload model creation program, and more particularly to a predetermined transaction based on measurement information observed using a general-purpose observation tool for a measurement target server group that executes an application in a real environment or a test environment. The present invention relates to a processing time calculation program for calculating a required processing time and a workload model creation program for defining a workload model using the calculated processing time.

近年、ITシステムの重要性が増してきており、資源不足による性能問題や、過剰な資源投入によるコスト増を防ぐため、十分な性能予測を行って適切な資源量のシステムを構築することが求められている。   In recent years, the importance of IT systems has increased, and in order to prevent performance problems due to resource shortages and cost increases due to excessive resource inputs, it is necessary to perform sufficient performance predictions to construct a system with an appropriate amount of resources. It has been.

性能評価にあたっては、精度の面だけを考えれば、実アプリケーションが稼動している運用システムやテスト環境上で性能を実測することが望ましいが、現実にはシステムを稼動させて任意の負荷をかけるのが困難であったり、時間的制約等により十分な実機テストを行うことができないことも多い。そこで、仮想的にITシステムの性能見積もりを行う技術が必要となる。一般的に、待ち行列論や、CPUサーバ処理時間等の積み上げ表計算を用いた予測も行われているが、最も詳細な評価方法として、運用システムないし同様な業務の別システム上で実測が可能なデータを基にワークロードモデルを作成し、シミュレーションを行って仮想的にITシステムの性能見積もりを行う技術がある。以下、ワークロードモデル作成について説明する。   For performance evaluation, considering only the accuracy, it is desirable to actually measure the performance on the operation system or test environment where the actual application is operating, but in reality, the system is operated and an arbitrary load is applied. Are often difficult, and sufficient actual machine tests cannot be performed due to time constraints. Therefore, a technology for virtually estimating the performance of the IT system is required. In general, predictions using queuing theory and accumulated table calculations such as CPU server processing time are also performed, but the most detailed evaluation method can be measured on an operational system or another system of similar work There is a technology that creates a workload model based on simple data and performs simulation to virtually estimate the performance of the IT system. Hereinafter, creation of a workload model will be described.

図15は、従来のワークロードモデル作成手順を示したフロー図である。
ワークロードモデルの作成にあたっては、ワークロードモデルの定義に用いるため、運用システムもしくは同様な業務を行う別システムにおいて、汎用ツールを用いて観測可能なデータを測定する。図の例では、作成されるワークロードモデルと同様の業務を行う実機システム900の動作状態を汎用ツールで測定し、パケットトレース情報910とサーバ資源情報920を得る(ステップS101)。たとえば、通信パケットをキャプチャする汎用ネットワークトレース採取ソフトウェアツールを用いて、クライアント、サーバ間、もしくは複数のサーバ間でネットワークを介して交換されるパケットのパケットトレース情報910を得る。また、各サーバに組込まれた汎用モニタなどにより、CPU使用時間、メモリ使用量、ディスクアクセス等のサーバ資源情報920を得る。
FIG. 15 is a flowchart showing a conventional workload model creation procedure.
When creating a workload model, observable data is measured using a general-purpose tool in an operational system or another system that performs similar tasks, because it is used to define the workload model. In the example of the figure, the operation state of the real machine system 900 that performs the same work as the created workload model is measured by a general-purpose tool, and packet trace information 910 and server resource information 920 are obtained (step S101). For example, the packet trace information 910 of a packet exchanged between a client, a server, or a plurality of servers via a network is obtained using a general-purpose network trace collection software tool that captures a communication packet. Further, server resource information 920 such as CPU usage time, memory usage, and disk access is obtained by a general-purpose monitor incorporated in each server.

次に、パケットトレース情報910を解析して、システム全体におけるトランザクション毎のトラフィックフロー930を作成する(ステップS102)。また、サーバ資源情報920を解析してトランザクション毎に消費されるサーバ資源に関する消費サーバ資源情報940を抽出する(ステップS103)。そして、ステップS102、ステップS103で得られたトランザクション毎のトラフィックフロー930と消費サーバ資源情報940をユーザアクション等のシミュレーション対象の処理単位毎に切り分けてモデルを定義し、ワークロードモデル950を作成する(ステップS104)。このとき、トラフィックフロー930からネットワークフローモデルが定義され、消費サーバ資源情報940からCPU使用時間が定義される。なお、従来、処理単位毎の定義はこれらの情報を参照し、手動で行われるのが一般的であった。   Next, the packet trace information 910 is analyzed to create a traffic flow 930 for each transaction in the entire system (step S102). Further, the server resource information 920 is analyzed to extract consumed server resource information 940 related to server resources consumed for each transaction (step S103). Then, the traffic flow 930 and the consumption server resource information 940 for each transaction obtained in step S102 and step S103 are divided into processing units to be simulated such as user actions, and a model is defined to create a workload model 950 ( Step S104). At this time, a network flow model is defined from the traffic flow 930 and a CPU usage time is defined from the consumption server resource information 940. Conventionally, the definition for each processing unit is generally performed manually with reference to these pieces of information.

図16は、ワークロードモデルの概要を示した図である。図は、クライアント901、サーバ1(902)およびサーバ2(903)から成るシステムのワークロードモデル一例である。図の例は、クライアント901からの要求をサーバ1(902)が受付け、必要に応じてサーバ2(903)に問合せを行った後、応答をクライアント901に返信するトランザクションを示している。図15に示したワークロードモデル作成手順で得られたトラフィックフロー930に基づいて、通信パケット911、912、913、914、915、916に関するモデルが定義される。同様に、消費サーバ資源情報940を用いて、所定のトランザクションにおけるサーバ1(902)およびサーバ2(903)の資源利用状況モデル(CPU使用時間、メモリ使用量、ディスクアクセス)921、922、923、924が定義される。こうして、観測データから抽出された性能基礎値に基づくワークロードモデルが作成される。   FIG. 16 is a diagram showing an outline of the workload model. The figure shows an example of a workload model of a system including a client 901, a server 1 (902), and a server 2 (903). The example in the figure shows a transaction in which the server 1 (902) receives a request from the client 901, inquires the server 2 (903) as necessary, and then returns a response to the client 901. Based on the traffic flow 930 obtained by the workload model creation procedure shown in FIG. 15, models relating to the communication packets 911, 912, 913, 914, 915, and 916 are defined. Similarly, the resource usage status models (CPU usage time, memory usage, disk access) 921, 922, 923, Server 1 (902) and Server 2 (903) in a predetermined transaction using the consumption server resource information 940 924 is defined. In this way, a workload model based on the performance basic value extracted from the observation data is created.

性能評価を行う場合には、以上の説明のワークロードモデルを用いた手法もしくは他の手法等、いずれの性能予測手法を用いる場合であっても、いかに高精度の性能基礎値を抽出できるかが重要となる。すなわち、観測データから抽出されるワークロードモデル定義のためのデータと実際の値との誤差をいかに少なくするかが課題となる。特に、サーバに関しては、各トランザクションが必要とするサーバのCPUサーバ処理時間をいかに適切にワークロードモデルに定義するかが重要となる。   When performing a performance evaluation, how accurate performance basic values can be extracted regardless of which performance prediction method is used, such as the method using the workload model described above or other methods It becomes important. That is, how to reduce the error between the data for defining the workload model extracted from the observation data and the actual value becomes a problem. In particular, regarding the server, it is important how to properly define the CPU server processing time of the server required for each transaction in the workload model.

このため、イベントトレース手法に基づく詳細なサーバ性能データ収集ツールとして、Linuxカーネルに特別なhookを組込むことで、各プロセスの割り込み処理イベントとタイムスタンプを記録する手法が研究されている(たとえば、非特許文献1参照)。
堀川隆、「性能基礎データ収集方法の比較検討」、情報処理学会研究報告、2004−EVA−10、pp.1−6、2004年8月1日
Therefore, as a detailed server performance data collection tool based on the event trace method, a method for recording an interrupt processing event and a time stamp of each process by incorporating a special hook into the Linux kernel has been studied (for example, non-processing). Patent Document 1).
Takashi Horikawa, “Comparison Study of Basic Performance Data Collection Methods”, Information Processing Society of Japan Research Report, 2004-EVA-10, pp. 1-6, August 1, 2004

しかし、従来のワークロードモデル手法では、高精度なワークロードモデルを定義することが難しいという問題点があった。
たとえば、一般的なWEBアプリケーションシステムを対象に、汎用観測データを基にユーザアクションごとのワークロードモデルを作成する場合、ネットワークフローモデルに関しては、対象のユーザアクションのみを実行させる一多重でネットワークトレース測定を行い、ポート番号や実行時間などによるパケットフィルタリングを行うことで、ユーザアクションの切り分けは比較的容易にできる。一方、サーバ資源情報に関しては、汎用的なサーバ資源使用状況の観測ツールで測定可能な情報は、数十秒から数分周期のサンプリングデータであり、トータルでのCPU使用時間やプロセス毎のCPU使用時間は抽出できる。ところが、このような周期のサンプリングデータからトランザクション毎のCPU使用時間を抽出することは困難である。そのため、汎用観測データを基にワークロードモデルを定義する際には、全て同一の処理と見なして平均化したCPUサーバ処理時間を用いるか、同一トランザクションのみが実行されている状況で実測を行ってトランザクション定義を行っている。しかしながら、このような手法では、実際のCPUサーバ処理時間に対して誤差が大きくなってしまうという問題点がある。また、こうして得られたCPUサーバ処理時間を用いてワークロードモデルを定義しても、高精度なワークロードモデルを得ることは難しく、結果として、性能予測の精度も低くなってしまう。
However, the conventional workload model method has a problem that it is difficult to define a highly accurate workload model.
For example, when creating a workload model for each user action based on general-purpose observation data for a general WEB application system, the network trace is a single network trace that executes only the target user action. By measuring and performing packet filtering based on the port number and execution time, the user actions can be separated relatively easily. On the other hand, with regard to server resource information, information that can be measured with a general-purpose server resource usage monitoring tool is sampling data with a period of several tens of seconds to several minutes, and total CPU usage time and CPU usage for each process Time can be extracted. However, it is difficult to extract the CPU usage time for each transaction from the sampling data having such a period. Therefore, when defining a workload model based on general-purpose observation data, use the CPU server processing time that is averaged by assuming that all are the same processing, or perform the measurement in a situation where only the same transaction is executed. Transaction definition is performed. However, such a method has a problem that an error becomes large with respect to the actual CPU server processing time. Further, even if a workload model is defined using the CPU server processing time obtained in this way, it is difficult to obtain a highly accurate workload model, and as a result, the accuracy of performance prediction is lowered.

一方、詳細なサーバ資源情報を測定するために独自にOSに手を加えたり、ハードウェアエミュレータを実装する手法は、高精度のサーバ資源使用情報を得ることは可能であるが、詳細情報を知り得て手を加えることが可能な独自OSや独自ハードウェアでないと適用できない等、広く一般のシステムに適用することは難しい。   On the other hand, methods that modify the OS independently or implement a hardware emulator to measure detailed server resource information can obtain highly accurate server resource usage information, but know the detailed information. It is difficult to apply to a wide range of general systems because it can only be applied to a unique OS or hardware that can be modified.

本発明はこのような点に鑑みてなされたものであり、汎用観測ツールを用いて測定した測定値を用いて高精度なワークロードモデルを定義することが可能となるように、所定のトランザクション処理におけるサーバ処理時間を高精度に算出する処理時間算出プログラム、およびワークロードモデル作成プログラムを提供することを目的とする。   The present invention has been made in view of the above points, and predetermined transaction processing is performed so that a highly accurate workload model can be defined using measurement values measured using a general-purpose observation tool. An object of the present invention is to provide a processing time calculation program and a workload model creation program for calculating the server processing time with high accuracy.

本発明では上記課題を解決するために、図1に示すような処理をコンピュータに実行させるための処理時間算出プログラムが提供される。本発明に係る処理時間算出プログラムは、ワークロードモデル作成装置1に適用され、コンピュータに以下の処理を実行させることができる。ワークロードモデル作成装置1は、実機システム2の測定対象サーバについて観測ツールを用いて観測された測定データとして、パケットトレース情報3を入力する。パケット解析手段1aは、観測ツールが捉えたサーバに送受信されるパケットのパケットトレース情報3を取得して解析し、所定のトランザクションに関し、トランザクションを構成するパケット群に関する情報を抽出したトランザクション情報5を作成する。サーバ処理時間算出手段1bは、トランザクション情報5に基づいて、依存関係のパケット群に関する処理がサーバに滞留しているサーバ滞留時間を算出する。そして、トランザクションの重なりやサーバの構成を含む測定対象の特性に基づき、サーバ滞留時間を補正し、トランザクションごとのサーバ処理時間を算出する。サーバ処理時間は、サーバ滞留時間のうちサーバ資源を使用して処理が行われている時間である。 In order to solve the above problems, the present invention provides a processing time calculation program for causing a computer to execute processing as shown in FIG. The processing time calculation program according to the present invention is applied to the workload model creation device 1 and can cause a computer to execute the following processing. Workload model creating apparatus 1 includes, as measurement data observed using the observation tool attached to the measurement object server of actual system 2, and inputs the packet trace information 3. Packet analyzing unit 1a acquires and analyzes the packet trace information 3 of packets transmitted and received to the server where the observation tool captures relates predetermined transaction, the transaction information 5 obtained by extracting information about the packet that constitute a transaction create. Based on the transaction information 5, the server processing time calculation unit 1 b calculates the server residence time during which the processing related to the packet group having the dependency relationship stays in the server. Then, based on the characteristics of the measurement target including transaction overlap and server configuration, the server residence time is corrected and the server processing time for each transaction is calculated. The server processing time is the time during which processing is performed using server resources in the server residence time.

このような処理時間算出プログラムを実行するワークロードモデル作成装置1によれば、観測ツールを用いて捉えられた、測定対象サーバに関するパケットトレース情報3が入力され、パケット解析手段1aで解析される。パケット解析手段1aによって、所定のトランザクションに関し、トランザクションを構成するパケット群に関する情報が抽出されたトランザクション情報5が作成される。サーバ処理時間算出手段1bによって、トランザクション情報5から依存関係のあるパケット群の処理がサーバに滞留しているサーバ滞留時間が算出され、トランザクションの重なりやサーバの構成を含む測定対象の特性に応じて補正され、トランザクションごとのサーバ処理時間が算出される。これにより、観測ツールにより測定された情報データから、高精度のサーバ処理時間が算出できる。 According to workload model creating apparatus 1 to perform such processing time calculation program, captured using the observation tool, the packet trace information 3 is input about the measurement object server are analyzed by the packet analyzing device 1a . The packet analysis means 1a creates transaction information 5 from which information relating to a packet group constituting the transaction is extracted with respect to a predetermined transaction. The server processing time calculation unit 1b calculates the server residence time during which the processing of the packet group having the dependency relation is staying in the server from the transaction information 5, and according to the characteristics of the measurement target including the transaction overlap and the server configuration. The server processing time for each transaction is calculated after correction. Accordingly, observation from the information data measured by the tool, server processing time with high accuracy can be calculated.

本発明では、観測ツールによって検出された測定対象サーバのパケットトレース情報を解析し、解析によって得られる所定のトランザクション処理における各サーバの滞留時間(実際のサーバ処理時間との誤差が含まれた見掛けのサーバ処理時間)を得る。そして、測定対象の特性に応じてサーバ滞留時間を補正して、サーバ処理時間を算出する。これにより、誤差の少ない高精度のサーバ処理時間を算出することができる。また、こうして算出された高精度のサーバ処理時間を用いてワークロードを定義してワークロードモデルを作成すれば、性能予測の精度が向上し、性能予測、キャパシティプランニング、ひいては最適な資源量のシステム構築を実現することができる。 Apparent in the present invention, which contains the observation analyzes the packet trace information of the measurement object server detected by the tool, the error between the residence time (the actual server processing time for each server in a given transaction processing obtained by analysis Server processing time). Then, the server residence time is corrected according to the characteristics of the measurement target, and the server processing time is calculated. Thereby, it is possible to calculate a highly accurate server processing time with little error. In addition, if a workload model is created by defining a workload using the server processing time calculated in this way, the accuracy of performance prediction can be improved, and performance prediction, capacity planning, and eventually the optimal resource amount System construction can be realized.

また、算出に使用される測定データは、一般的に使用される観測ツールによって生成されるデータであり、測定のためにOSや装置に手を加える必要がなく、性能評価のためのコストを削減することができるという利点もある。
The measurement data used for calculating is a data generated by the commonly used Ru observation tool, there is no need to tweak the OS and device for measurement, the cost for performance evaluation There is also an advantage that it can be reduced.

以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. First, the concept of the invention applied to the embodiment will be described, and then the specific contents of the embodiment will be described.
FIG. 1 is a conceptual diagram of the invention applied to the embodiment.

システムの性能評価では、まず、対象システムもしくは対象システムと同様のアプリケーションを実行する実機システム2を実環境ないしテスト環境で動作させ、図示しない汎用観測ツールを用いてパケットトレース情報3およびサーバ資源情報4などの測定情報を作成する。なお、解析容易性を考えると、注目するトランザクションのみを実行させる一多重でデータ測定することが望ましい。以下、特に断らない限り、測定データは一多重によるものとする。続いて、測定情報が作成されると、本発明に係るワークロードモデル作成装置1によって、測定情報に基づき、対象システムの性能評価を行うためのワークロードモデル7が作成される。そして、作成されたワークロードモデル7を用いて、システムの性能評価が行われる。   In the system performance evaluation, first, the target system or the real machine system 2 that executes an application similar to the target system is operated in a real environment or a test environment, and the packet trace information 3 and the server resource information 4 are used by using a general-purpose observation tool (not shown). Create measurement information. In view of the ease of analysis, it is desirable to measure data in a single multiplex in which only the transaction of interest is executed. Hereinafter, unless otherwise specified, the measurement data is based on a single multiplex. Subsequently, when the measurement information is created, the workload model creation device 1 according to the present invention creates a workload model 7 for performing performance evaluation of the target system based on the measurement information. Then, the performance evaluation of the system is performed using the created workload model 7.

ワークロードモデル作成装置1は、パケットトレース情報3についてパケット解析を行ってトランザクション情報5を作成するパケット解析手段1a、トランザクションごとのサーバ処理時間を算出するサーバ処理時間算出手段1b、トータルCPU使用時間とサーバ処理時間からトランザクションごとのCPU使用時間を算出するCPU使用時間補正手段1c、ワークロードモデル7を作成するワークロード定義手段1dを具備する。また、汎用観測ツールによる測定対象の実機システム2は、図示しないクライアントと、2つのCPU(便宜的にサーバA(2a)、サーバB(2b)と表記する)で処理を行うサーバで構成される。なお、本発明では、サーバの構成はこれに限定されず、任意の構成とすることができる。   The workload model creation device 1 performs packet analysis on the packet trace information 3 to create transaction information 5, server processing time calculation means 1 b that calculates server processing time for each transaction, total CPU usage time, CPU usage time correction means 1c for calculating the CPU usage time for each transaction from the server processing time, and workload definition means 1d for creating the workload model 7 are provided. In addition, the real system 2 to be measured by the general-purpose observation tool includes a client (not shown) and a server that performs processing with two CPUs (for convenience, server A (2a) and server B (2b)). . In the present invention, the configuration of the server is not limited to this, and can be any configuration.

ここで、サーバ滞留時間、サーバ処理時間およびCPU使用時間を定義しておく。サーバ滞留時間は、ネットワークパケットの依存関係を解析して、依存関係のあるパケット受信からパケット送信までの時間を累積し、必要に応じてネットワーク性能による遅延時間を補正した値である。すなわち、サーバ滞留時間は、パケットトレース情報より得られる見かけ上の値であり、実際のサーバ処理時間に対する誤差を含んでいる。サーバ処理時間は、上記サーバ滞留時間のうち、実際のサーバ資源を使用して処理が行われている時間であり、ネットワーク性能によるパケット送受信遅延時間や、資源競合による待ち時間を含まない値である。そして、CPU使用時間は、上記サーバ処理時間のうち、CPU資源を使用していたと定義する時間とする。   Here, a server residence time, a server processing time, and a CPU usage time are defined. The server residence time is a value obtained by analyzing the dependency relationship of the network packet, accumulating the time from the reception of the packet having the dependency relationship to the packet transmission, and correcting the delay time due to the network performance as necessary. In other words, the server residence time is an apparent value obtained from the packet trace information, and includes an error with respect to the actual server processing time. The server processing time is a time during which processing is performed using actual server resources in the above server residence time, and does not include a packet transmission / reception delay time due to network performance or a waiting time due to resource contention. . The CPU usage time is defined as the time during which CPU resources are used in the server processing time.

パケット解析手段1aは、汎用観測ツールが捉えたサーバA(2a)およびサーバB(2b)とクライアント間で交換されるパケットをキャプチャしたパケットトレース情報3を取得し、これをあらかじめトランザクション定義のための設定されたルール指定などに従って解析する。そして、該当のトランザクションに関し、依存関係を有するパケット群の情報を抽出し、トランザクション情報5を作成する。トランザクション情報5には、少なくとも、所定のトランザクションに関し依存関係のあるパケットの送信元と受信元、パケットの送受信時刻、およびパケットの種類などが格納される。   The packet analysis means 1a acquires packet trace information 3 that captures packets exchanged between the server A (2a) and the server B (2b) and the client captured by the general-purpose observation tool, and uses the packet trace information 3 for transaction definition in advance. Analyze according to the specified rule specification. Then, regarding the corresponding transaction, information on a packet group having a dependency relationship is extracted, and transaction information 5 is created. The transaction information 5 stores at least a transmission source and a reception source of a packet having a dependency relation with respect to a predetermined transaction, a packet transmission / reception time, a packet type, and the like.

サーバ処理時間算出手段1bは、トランザクション情報5を入力し、依存関係のあるパケット群のパケット受信からパケット送信までの間、すなわち、処理がサーバに滞留していたサーバ滞留時間を算出する。そして、測定対象の実機システム2の特性に応じた補正をサーバ滞留時間に施してサーバ処理時間を算出し、サーバ処理時間情報6を作成する。たとえば、1つのトランザクション単位であっても複数の要求が同時刻にサーバに滞留する場合があるし、異なるトランザクションの複数要求が同時刻にサーバに滞留する場合もある。また、サーバの構成に応じて、1つのCPUですべてを処理する場合もあるし、図の例のように複数のCPUでいくつかの処理を同時処理する場合もある。そこで、トランザクションの重なりやサーバの構成などの測定対象の特性に応じてサーバ滞留時間を補正し、サーバ処理時間を算出する。すなわち、サーバが複数のCPUで構成される場合には、1CPU当たりに換算したサーバ処理時間を算出し、異なるトランザクションが重なる場合は、重なる区間のサーバ処理時間に占める注目トランザクションの割合に応じて、サーバ処理時間を比例配分して補正を行う。なお、サーバ処理時間の算出方法の詳細については後述する。   The server processing time calculation means 1b receives the transaction information 5 and calculates the server residence time during which the processing stays in the server from the packet reception to the packet transmission of the dependent packet group. Then, the server processing time is calculated by applying the correction according to the characteristics of the actual machine system 2 to be measured to the server residence time, and the server processing time information 6 is created. For example, even in one transaction unit, a plurality of requests may stay on the server at the same time, and a plurality of requests of different transactions may stay on the server at the same time. Depending on the server configuration, all may be processed by one CPU, or several processes may be simultaneously processed by a plurality of CPUs as shown in the example of the figure. Therefore, the server residence time is corrected according to the characteristics of the measurement target such as transaction overlap and server configuration, and the server processing time is calculated. That is, when the server is composed of a plurality of CPUs, the server processing time converted per CPU is calculated, and when different transactions overlap, according to the ratio of the transaction of interest in the server processing time of the overlapping section, Correction is performed by proportionally allocating server processing time. The details of the server processing time calculation method will be described later.

CPU使用時間補正手段1cは、サーバ処理時間情報6とサーバ資源情報4を用いて、トランザクションごとのCPU使用時間を補正する。サーバ処理時間算出手段1bにより算出されたサーバ処理時間は、CPU処理時間とほぼ同じと見なすことができるが、システムによっては、その他の要因で、パケットトレース情報3から得られるサーバ滞留時間から算出されたサーバ処理時間と、汎用観測ツールが測定したトータルなCPU使用時間とにずれが生じてしまう可能性がある。そこで、必要に応じて、サーバ処理時間と、サーバ資源情報4より得られるトータルCPU使用時間からトランザクションごとのCPU使用時間を補正する。すなわち、算出されたトランザクションごとのサーバ処理時間を用いて、サーバ資源情報4のトータルCPU使用時間の実測値を比例分配してトランザクションごとのCPU処理時間を算出する。   The CPU usage time correction unit 1 c corrects the CPU usage time for each transaction using the server processing time information 6 and the server resource information 4. The server processing time calculated by the server processing time calculation unit 1b can be regarded as almost the same as the CPU processing time. However, depending on the system, the server processing time is calculated from the server residence time obtained from the packet trace information 3. There is a possibility that a difference occurs between the server processing time and the total CPU usage time measured by the general-purpose observation tool. Therefore, the CPU usage time for each transaction is corrected from the server processing time and the total CPU usage time obtained from the server resource information 4 as necessary. That is, using the calculated server processing time for each transaction, the CPU processing time for each transaction is calculated by proportionally distributing the measured value of the total CPU usage time of the server resource information 4.

ワークロード定義手段1dは、サーバ処理時間情報6に基づき、サーバ処理時間をCPU処理時間と見なしてワークロードを定義し、対象システムのワークロードモデル7を作成する。また、CPU処理時間算出手段1cにより、各トランザクションのCPU使用時間が補正された場合には、これを用いてワークロードを定義し、対象システムのワークロードモデル7を作成する。   Based on the server processing time information 6, the workload definition unit 1 d defines the workload by regarding the server processing time as the CPU processing time, and creates the workload model 7 of the target system. When the CPU usage time of each transaction is corrected by the CPU processing time calculation unit 1c, the workload is defined using the corrected CPU usage time and the workload model 7 of the target system is created.

このような構成のワークロードモデル作成装置1の動作について説明する。
汎用観測ツールによって、サーバA(2a)とサーバB(2b)を有する実機システム2の測定が行われ、クライアントとの間で交換されたパケットを捉えたパケットトレース情報3と、各サーバのCPU使用時間、メモリ使用量、ディスクアクセス等のサーバ資源情報4が作成される。ワークロードモデル作成装置1は、パケットトレース情報3とサーバ資源情報4を取得し、ワークロードモデル作成処理を開始する。
The operation of the workload model creation device 1 having such a configuration will be described.
Measurement of the real machine system 2 having the server A (2a) and the server B (2b) is performed by a general-purpose observation tool, and packet trace information 3 that captures packets exchanged with the client, and the CPU usage of each server Server resource information 4 such as time, memory usage, and disk access is created. The workload model creation device 1 acquires the packet trace information 3 and the server resource information 4 and starts a workload model creation process.

パケット解析手段1aは、取得したパケットトレース情報3をトランザクション定義のためのルール指定などに基づいて解析し、トランザクションに関して依存関係のあるパケット群を抽出して、トランザクション情報5を作成する。サーバ処理時間算出手段1bは、トランザクション情報5に基づき、依存関係のあるパケット群のパケット受信からパケット送信までの間のサーバ滞留時間を算出する。そして、実機システム2の特性に応じてサーバ滞留時間を補正してトランザクションごとのサーバ処理時間を算出し、サーバ処理時間情報6を作成する。さらに必要に応じて、CPU使用時間補正手段1cは、算出されたサーバ処理時間を用いてサーバ資源情報4のトータルCPU使用時間からCPU使用時間を補正する。ワークロード定義手段1dは、サーバ処理時間情報6に登録されたサーバ処理時間をCPU使用時間と見なすか、もしくはCPU使用時間補正手段1cの補正したCPU使用時間を用いてワークロードを定義し、ワークロードモデル7を作成する。   The packet analysis unit 1a analyzes the acquired packet trace information 3 based on a rule specification for defining a transaction, extracts a packet group having a dependency relationship with respect to the transaction, and creates the transaction information 5. Based on the transaction information 5, the server processing time calculation unit 1 b calculates the server residence time from the packet reception to the packet transmission of the packet group having the dependency relationship. Then, the server residence time is corrected according to the characteristics of the actual machine system 2 to calculate the server processing time for each transaction, and server processing time information 6 is created. Further, if necessary, the CPU usage time correcting unit 1c corrects the CPU usage time from the total CPU usage time of the server resource information 4 using the calculated server processing time. The workload definition unit 1d regards the server processing time registered in the server processing time information 6 as the CPU usage time, or defines the workload using the CPU usage time corrected by the CPU usage time correction unit 1c. A load model 7 is created.

このようなワークロードモデル作成装置1によれば、汎用観測ツールによって実機システム2について測定されたパケットトレース情報3に基づき、トランザクションごとのサーバ滞留時間が算出され、実機システム2の特性に応じてサーバ滞留時間からサーバ処理時間が算出される。トランザクションの各段階において発生するパケットの送受信時刻に基づいてサーバ処理時間が算出されるので、高精度なサーバの処理時間を得ることができる。また、サーバ資源情報4のトータルなCPU使用時間でトランザクションごとのCPU処理時間を補正する場合にも、サーバ滞留時間に基づくサーバ処理時間を用いてトータルなCPU使用時間を比例配分してトランザクションごとのCPU使用時間を決めるので、平均化されたCPU使用時間を用いた従来と比較して、高精度なCPU使用時間情報を得ることができる。このように、汎用観測ツールで実測したデータを用いて、複数トランザクションから成るワークロードモデルを高精度に定義することが可能となる。   According to such a workload model creation device 1, the server residence time for each transaction is calculated based on the packet trace information 3 measured for the real machine system 2 by the general-purpose observation tool, and the server is set according to the characteristics of the real machine system 2. Server processing time is calculated from the residence time. Since the server processing time is calculated based on the transmission / reception time of the packet generated at each stage of the transaction, it is possible to obtain a highly accurate server processing time. Also, when correcting the CPU processing time for each transaction with the total CPU usage time of the server resource information 4, the total CPU usage time is proportionally distributed using the server processing time based on the server residence time, and Since the CPU usage time is determined, highly accurate CPU usage time information can be obtained as compared with the conventional method using the averaged CPU usage time. In this way, it is possible to define a workload model composed of a plurality of transactions with high accuracy using data measured by a general-purpose observation tool.

以上の説明のワークロードモデル作成装置1は、コンピュータにワークロードモデル作成プログラムを実行することによってその処理機能が実現される。次に、ワークロードモデル作成装置1のハードウェア構成について説明する。   The workload model creation apparatus 1 described above realizes its processing function by executing a workload model creation program on a computer. Next, the hardware configuration of the workload model creation device 1 will be described.

図2は、本実施の形態のワークロードモデル作成装置のハードウェア構成例を示すブロック図である。
ワークロードモデル作成装置1は、CPU101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106が接続されている。
FIG. 2 is a block diagram illustrating a hardware configuration example of the workload model creation apparatus according to the present embodiment.
The entire workload model creation apparatus 1 is controlled by the CPU 101. A random access memory (RAM) 102, a hard disk drive (HDD) 103, a graphic processing device 104, an input interface 105, and a communication interface 106 are connected to the CPU 101 via a bus 107.

RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションのプログラムが格納される。グラフィック処理装置104には、モニタ108が接続されており、CPU101からの命令に従って画像をモニタ108の画面に表示させる。入力インタフェース105には、キーボード109aやマウス109bが接続されており、キーボード109aやマウス109bから送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワーク110に接続されており、ネットワーク110を介して実機システム2に組込まれた汎用ツールなどとの間でデータの送受信を行う。   The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data necessary for processing by the CPU 101. The HDD 103 stores the OS and application programs. A monitor 108 is connected to the graphic processing device 104, and an image is displayed on the screen of the monitor 108 in accordance with a command from the CPU 101. A keyboard 109 a and a mouse 109 b are connected to the input interface 105, and signals transmitted from the keyboard 109 a and the mouse 109 b are transmitted to the CPU 101 via the bus 107. The communication interface 106 is connected to the network 110 and transmits / receives data to / from a general-purpose tool incorporated in the actual machine system 2 via the network 110.

このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図2には、ワークロードモデル作成装置のハードウェア構成を示したが、性能評価の対象システムおよび実機システムを成すクライアントとサーバのハードウェア構成も同様である。   With such a hardware configuration, the processing functions of the present embodiment can be realized. Although FIG. 2 shows the hardware configuration of the workload model creation apparatus, the hardware configurations of the client and server that constitute the performance evaluation target system and the actual machine system are the same.

以下、実施の形態を、クライアント−WEBサーバシステムのワークロードモデル作成に適用した場合を例に図面を参照して詳細に説明する。第1の実施の形態として、クライアントとWEBサーバで構成されるモデルについて説明し、続いて、第2の実施の形態として、クライアントと、後段にAPPサーバのある二階層(WEBサーバ+APPサーバ)のサーバで構成されるモデルについて説明する。   Hereinafter, an embodiment will be described in detail with reference to the drawings, taking as an example a case where the embodiment is applied to creation of a workload model of a client-WEB server system. As a first embodiment, a model composed of a client and a WEB server will be described. Subsequently, as a second embodiment, a client and a two-tier (WEB server + APP server) having an APP server in the subsequent stage are described. A model composed of servers will be described.

[第1の実施の形態]
第1の実施の形態は、クライアントとWEBサーバで構成される。
まず、実環境もしくはテスト環境において、所定のアプリケーションを動作させ、WEBサーバとクライアントとの間で注目するトランザクション処理が行われるようにしておき、汎用観測ツールを用いてパケットトレース情報とサーバ資源情報を生成する。
[First Embodiment]
The first embodiment includes a client and a WEB server.
First, in a real environment or a test environment, a predetermined application is operated so that a transaction process to be noticed is performed between the WEB server and the client, and packet trace information and server resource information are obtained using a general-purpose observation tool. Generate.

次に、パケットトレース情報を用いて、サーバ処理時間算出処理が実行される。
図3は、第1の実施の形態のクライアント−WEBサーバにおける一連のパケットの流れを示した図である。
Next, a server processing time calculation process is executed using the packet trace information.
FIG. 3 is a diagram illustrating a series of packet flows in the client-WEB server according to the first embodiment.

図の例のパケットの流れを説明する。クライアント22からhttp Req(前半)301aとhttp Req(後半)301bの2回に分けて、注目トランザクションに関するパケットがサーバ21に対して送信される。サーバ21は、2回目の要求パケット301bの受信で注目トランザクションに関する処理を開始し、応答として、HTML Data302のパケットを4回に分けてクライアント22に送信する。そして、クライアント22からの肯定応答(ACK)303aに対し最終のHTML Data303bを送信して、一連のトランザクションが終了する。   The flow of the packet in the example in the figure will be described. A packet related to the transaction of interest is transmitted from the client 22 to the server 21 in two steps: http Req (first half) 301a and http Req (second half) 301b. The server 21 starts processing related to the transaction of interest upon reception of the second request packet 301b, and transmits the HTML Data 302 packet to the client 22 in four steps as a response. Then, a final HTML Data 303b is transmitted in response to an acknowledgment (ACK) 303a from the client 22, and a series of transactions is completed.

サーバ21が検出するパケットトレース情報には、これらのパケットをクライアント22から受信した時刻とクライアント22に送信した時刻が記録されているので、これらの時刻情報を用いて、依存関係のあるパケット群のパケット受信からパケット送信までの時間を算出する。たとえば、サーバ21は、2回目の要求パケット301bを受信してから処理を開始し、HTML Data302の最初のパケットを送信している。この間、サーバ21で処理が行われていると見なし、時刻情報からサーバ滞留時間501aを算出する。同様に、HTML Data302の第2、第3、第4のパケットが送信されるまでの時間は、サーバ21で処理が継続されていると見なし、サーバ滞留時間501b、501c、501dを算出する。そして、最後の肯定応答303aのパケット受信から処理が再開され、応答としてHTML Data303bが応答として送信される。この間も処理が行われていると見なし、サーバ滞留時間501eを算出する。こうして依存関係のあるパケット群のパケット受信から送信までの時間(個別のサーバ滞留時間)501a、501b、501c、501d、501eを累積した時間がトランザクションのサーバ滞留時間501として算出される。   The packet trace information detected by the server 21 records the time at which these packets are received from the client 22 and the time at which these packets are transmitted to the client 22. Therefore, using these time information, a packet group having a dependency relationship is recorded. Calculate the time from packet reception to packet transmission. For example, the server 21 starts processing after receiving the second request packet 301 b and transmits the first packet of HTML Data 302. During this time, it is assumed that processing is being performed by the server 21, and the server residence time 501a is calculated from the time information. Similarly, regarding the time until the second, third, and fourth packets of HTML Data 302 are transmitted, it is considered that the processing is continued in the server 21, and the server residence times 501b, 501c, and 501d are calculated. Then, the processing is restarted from the reception of the packet of the last acknowledgment 303a, and HTML Data 303b is transmitted as a response. During this time, it is considered that processing is being performed, and the server residence time 501e is calculated. In this way, the time from packet reception to transmission (individual server residence time) 501a, 501b, 501c, 501d, and 501e of the dependent packet group is calculated as the server residence time 501 of the transaction.

このようにして算出されたサーバ滞留時間501は、見掛けのサーバ処理時間とみなすことができる。なお、パケットデータサイズをネットワークスループット(bps)で割った値をサーバ滞留時間501から引く補正を行えば、さらに、見掛けのサーバ処理時間の精度が高くなる。   The server residence time 501 calculated in this way can be regarded as an apparent server processing time. If correction is performed by subtracting the value obtained by dividing the packet data size by the network throughput (bps) from the server residence time 501, the accuracy of the apparent server processing time is further increased.

ところで、実際のトランザクション処理では、同時に複数要求が発行される場合がある。たとえば、http処理におけるparallel GETでは、複数の要求が同時発生されることがある。このような場合は、何らかの処理がサーバに滞留している時間をサーバ処理時間とみなすと、サーバが複数のCPUを有する場合は、実際のサーバ処理時間よりも小さい値となってしまう。また、各コネクションの見掛けのサーバ滞留時間の総和をサーバ処理時間とすると、サーバのCPU数以上の同時要求が行われた場合は、実際のサーバ処理時間より大きい値となってしまう。そこで、サーバの有するCPUの数に応じて、処理の重なり具合を考慮して補正を行う必要がある。   By the way, in actual transaction processing, a plurality of requests may be issued simultaneously. For example, in parallel GET in http processing, a plurality of requests may be generated simultaneously. In such a case, if the time during which some processing stays in the server is regarded as the server processing time, if the server has a plurality of CPUs, the value is smaller than the actual server processing time. Also, assuming that the total of the apparent server residence time of each connection is the server processing time, when simultaneous requests exceeding the number of CPUs of the server are made, the value is larger than the actual server processing time. Therefore, it is necessary to perform correction in consideration of the degree of overlap of processing according to the number of CPUs of the server.

図4は、複数要求におけるCPUの個数に応じたサーバ処理時間の算出例を示している。(A)は、CPUが1つの場合、(B)はCPUが2つの場合、そして(C)はCPUが4つの場合を示している。   FIG. 4 shows an example of calculating the server processing time according to the number of CPUs in a plurality of requests. (A) shows the case where there is one CPU, (B) shows the case where there are two CPUs, and (C) shows the case where there are four CPUs.

パケットの流れは、いずれの場合も、クライアントからhttp REQ1(311)、http REQ2(312)、http REQ3(313)、http REQ4(314)、の複数要求が同時要求され、サーバからそれぞれの応答HTML Data1(315)、HTML Data2(316)、HTML Data3(317)、HTML Data4(318)、がクライアントに送信される。   In any case, the flow of packets is requested simultaneously from the client by multiple requests of http REQ1 (311), http REQ2 (312), http REQ3 (313), and http REQ4 (314), and each response HTML from the server. Data1 (315), HTML Data2 (316), HTML Data3 (317), and HTML Data4 (318) are transmitted to the client.

(A)1CPUの場合は、1つのCPUが同時要求された要求パケット311、312、313、314を順次処理し、応答パケット315、316、317、318を送信しているので、サーバ処理時間は、サーバ滞留時間と同じと見なせる。図の例の場合、最初の要求パケット311の受信から最後の応答パケット318の送信までの時間(サーバ滞留時間)がサーバ処理時間611になる。   (A) In the case of 1 CPU, since one CPU sequentially processes request packets 311, 312, 313, and 314 requested simultaneously, and transmits response packets 315, 316, 317, and 318, the server processing time is It can be regarded as the same as the server residence time. In the case of the example in the figure, the server processing time 611 is a time (server residence time) from the reception of the first request packet 311 to the transmission of the last response packet 318.

(B)2CPUの場合は、第1のCPUが第1の要求パケット311を処理し、次の第2のCPUが第2の要求パケット312を処理する。続く第3の要求パケット313を処理する他のCPUはないので、第1のCPUが第1の要求パケット311の処理終了後に処理を行う。同様に、第4の要求パケットは、第2のCPUが処理を行う。すなわち、第1のCPUについては、第1の要求パケット311と第3の要求パケット313を順次処理し、第1の応答パケット315と第3の応答パケット317を送信する処理が行われる。また、第2のCPUについては、第2の要求パケット312と第4の要求パケット314を順次処理し、第2の応答パケット316と第4の応答パケット318を送信する処理が行われる。したがって、第3の要求パケット313が受信されてから、第2の応答パケット316が送信されるまでの間は、CPUの処理待ちが発生していたことになる。そこで、サーバのCPUを考慮し、処理の重なりがCPU数を超えるまでは、その区間の時間を累積してサーバ処理時間とし、重なりがCPU数を超えた場合は、重複する時間をサーバ処理時間に加えないようにして、サーバ処理時間を算出する。図の例の場合、第1のCPUのサーバ処理時間(第1の要求パケット311受信から第1の応答パケット315送信までの時間612a+第1の応答パケット315送信から第3の応答パケット317送信までの時間612b)と、第2のCPUのサーバ処理時間(第2の要求パケット312受信から第2の応答パケット316送信までの時間613a+第2の応答パケット316送信から第4の応答パケット318送信までの時間613b)から、重複する区間の処理時間(第3の要求パケット313受信から第1の応答パケット送信315までの時間)を引いた時間がサーバ処理時間になる。   (B) In the case of 2 CPUs, the first CPU processes the first request packet 311, and the next second CPU processes the second request packet 312. Since there is no other CPU that processes the subsequent third request packet 313, the first CPU performs processing after the processing of the first request packet 311 is completed. Similarly, the second CPU processes the fourth request packet. That is, for the first CPU, processing for sequentially processing the first request packet 311 and the third request packet 313 and transmitting the first response packet 315 and the third response packet 317 is performed. For the second CPU, the second request packet 312 and the fourth request packet 314 are sequentially processed, and the second response packet 316 and the fourth response packet 318 are transmitted. Therefore, the CPU waits for processing until the second response packet 316 is transmitted after the third request packet 313 is received. Therefore, considering the CPU of the server, until the overlap of processing exceeds the number of CPUs, the time of the section is accumulated to be server processing time, and when the overlap exceeds the number of CPUs, the overlapping time is set as the server processing time. The server processing time is calculated without adding to the above. In the case of the example in the figure, the server processing time of the first CPU (time 612a from reception of the first request packet 311 to transmission of the first response packet 315 + from transmission of the first response packet 315 to transmission of the third response packet 317 612b) and server processing time of the second CPU (time 613a from reception of the second request packet 312 to transmission of the second response packet 316 + from transmission of the second response packet 316 to transmission of the fourth response packet 318) The time obtained by subtracting the processing time of the overlapping section (the time from the reception of the third request packet 313 to the transmission of the first response packet 315) from the time 613b) is the server processing time.

(C)4CPUの場合は、第1のCPUが第1の要求パケット311、第2のCPUが第2の要求パケット312、第3のCPUが第3の要求パケット313、第4のCPUが第4の要求パケット314、を処理し、それぞれ応答を送信する。したがって、サーバ処理時間は、それぞれのCPUの要求パケット受信から応答パケット送信まで累積となる。図の例の場合、第1のCPUのサーバ処理時間(要求パケット311の受信から応答パケット315の送信までの時間)614、第2のCPUのサーバ処理時間(要求パケット312の受信から応答パケット316の送信までの時間)615、第3のCPUのサーバ処理時間(要求パケット313の受信から応答パケット317の送信までの時間)616および第4のCPUのサーバ処理時間(要求パケット314の受信から応答パケット318の送信までの時間)617の総和が、サーバ処理時間になる。   (C) In the case of 4 CPUs, the first CPU is the first request packet 311, the second CPU is the second request packet 312, the third CPU is the third request packet 313, and the fourth CPU is the second CPU 4 request packets 314, and each sends a response. Therefore, the server processing time is accumulated from the request packet reception to the response packet transmission of each CPU. In the case of the example in the figure, the server processing time of the first CPU (time from the reception of the request packet 311 to the transmission of the response packet 315) 614, the server processing time of the second CPU (from reception of the request packet 312 to the response packet 316) 615, server processing time of the third CPU (time from reception of the request packet 313 to transmission of the response packet 317) 616 and server processing time of the fourth CPU (response from reception of the request packet 314 to response) The sum of 617 (time until transmission of packet 318) is the server processing time.

CPU数とサーバ処理時間の関係について詳細に説明する。
図5は、実施の形態のCPU数に応じたサーバ処理時間の算出方法を示した図である。
図は、同時に発生した複数要求について、パケットトレース情報の解析より得られるそれぞれのパケット受信から応答パケットの送信までの処理時間の経過を示した図である。処理1は、0.0で開始され、0.7で終了している。すなわち、パケットトレース情報における要求パケット受信が0.0、応答パケット送信が0.7に発生している。同様に、処理2は、0.1で開始されて0.8で終了し、処理3は0.2で開始されて0.9で終了し、処理4は0.3で開始されて1.0で終了している。
The relationship between the number of CPUs and server processing time will be described in detail.
FIG. 5 is a diagram illustrating a server processing time calculation method according to the number of CPUs according to the embodiment.
The figure is a diagram showing the lapse of processing time from the reception of each packet to the transmission of a response packet obtained by analyzing the packet trace information for a plurality of requests generated simultaneously. Process 1 starts at 0.0 and ends at 0.7. That is, request packet reception in packet trace information is 0.0, and response packet transmission is 0.7. Similarly, process 2 starts at 0.1 and ends at 0.8, process 3 starts at 0.2 and ends at 0.9, process 4 starts at 0.3 and 1. It is 0.

サーバが1CPUである場合、すべての処理は1つのCPUで行われので、処理1の開始から処理4の終了までがサーバ処理時間になる。サーバのCPU数が複数の場合、同時刻にCPU数までの処理は並列して実行されるが、CPU数を超えて重なる処理はCPU数までの処理しか行われない。   When the server is one CPU, all processing is performed by one CPU, so that the server processing time is from the start of the process 1 to the end of the process 4. When the number of CPUs of the server is plural, processing up to the number of CPUs is executed in parallel at the same time, but processing up to the number of CPUs is performed only when processing exceeds the number of CPUs.

これを区間ごとに考察すると、処理1開始から処理2が開始されるまでの区間1(0.0→0.1)の間は、処理1のみが実行されているので、この区間時間はサーバ処理時間に累積される。次に、処理2が開始されてから処理3が開始されるまでの区間2(0.1→0.2)は、処理1と処理2の2つの処理が実行されているので、CPU数が2以上であれば並列して処理が実行される。したがって、1CPU当たりに換算したサーバ処理時間は、区間時間*重なった処理数(=2)になる。一方、1CPUの場合、並列処理は行われないので、サーバ処理時間は区間時間になる。次の処理3が開始されてから処理4が開始されるまでの区間3(0.2→0.3)は、処理1と処理2と処理3の場合、CPU数が3以上であれば、並列して処理が実行され、サーバ処理時間は、区間時間*重なった処理数(=3)になる。また、CPU数が1であれば、サーバ処理時間は区間時間になる。そして、CPU数が2の場合は、2つのCPUで並列処理を行っているので、サーバ処理時間は区間時間*CPU数(=2)になる。以下、重なった処理数をコネクション数と表記する。   Considering this for each section, since only the process 1 is executed during the section 1 (0.0 → 0.1) from the start of the process 1 to the start of the process 2, this section time is determined by the server. Accumulated in processing time. Next, in the interval 2 (0.1 → 0.2) from the start of the process 2 to the start of the process 3, the two processes of the process 1 and the process 2 are executed. If two or more, the processes are executed in parallel. Therefore, the server processing time converted per CPU is the section time * the number of overlapping processes (= 2). On the other hand, in the case of 1 CPU, since parallel processing is not performed, the server processing time is a section time. Section 3 (0.2 → 0.3) from the start of the next process 3 to the start of process 4 is the case of process 1, process 2, and process 3 if the number of CPUs is 3 or more. The processes are executed in parallel, and the server processing time is the section time * the number of processes overlapped (= 3). If the number of CPUs is 1, the server processing time is a section time. When the number of CPUs is 2, since parallel processing is performed by two CPUs, the server processing time is section time * number of CPUs (= 2). Hereinafter, the number of overlapping processes is referred to as the number of connections.

以上のように、同時に処理が重なった場合、コネクション数がCPU数を超えない場合は、その区間のサーバ処理時間は、その区間時間*コネクション数で算出される。また、コネクション数がCPU数を超える場合には、その区間のサーバ処理時間は、その区間時間*CPU数で算出される。こうして算出された各区間のサーバ処理時間の総和がこのトランザクションのサーバ処理時間となる。   As described above, when the processes overlap at the same time, and the number of connections does not exceed the number of CPUs, the server processing time of the section is calculated by the section time * number of connections. If the number of connections exceeds the number of CPUs, the server processing time for that section is calculated by the section time * the number of CPUs. The sum of the server processing times for each section calculated in this way becomes the server processing time for this transaction.

図の例で説明する。1CPUの場合、処理が重なっている区間も、重なっていない区間も1処理ずつ順次実行されるので、すべての区間におけるサーバ処理時間が区間時間*処理数もしくはCPU数(=1)になる。したがって、区間1から区間10まで、区間時間(0.1)*1のサーバ処理時間となり、全体のサーバ処理時間は、1.0になる。   This will be described with reference to the example in the figure. In the case of 1 CPU, sections in which processing overlaps and sections in which processing does not overlap are sequentially executed one by one, so the server processing time in all the sections is section time * number of processes or number of CPUs (= 1). Therefore, from section 1 to section 10, the server processing time is section time (0.1) * 1, and the total server processing time is 1.0.

2CPUの場合、区間1は1処理であるので、区間時間*処理数(=1)、区間2は2処理であるので区間時間*処理数(=2)、区間3から区間8までは処理が3以上であるので区間時間*CPU数(=2)、同様にして、区間9、10は、区間時間*処理数で算出できる。したがって、全体のサーバ処理時間は、
0.1*1+0.1*2+0.6*2+0.1*2+0.1*1=1.8
と算出することができる。
In the case of 2 CPUs, since section 1 is one process, section time * number of processes (= 1) and section 2 is two processes, so section time * number of processes (= 2). Since it is 3 or more, section time * number of CPUs (= 2). Similarly, sections 9, 10 can be calculated by section time * number of processes. Therefore, the total server processing time is
0.1 * 1 + 0.1 * 2 + 0.6 * 2 + 0.1 * 2 + 0.1 * 1 = 1.8
Can be calculated.

4CPUの場合、全区間を区間時間*処理数で算出できるので、全体のサーバ処理時間は、
0.1*1+0.1*2+0.1*3+0.4*4+0.1*3+0.1*2+0.1*1=2.8
と算出することができる。
In the case of 4 CPUs, all sections can be calculated by section time * number of processes, so the total server processing time is
0.1 * 1 + 0.1 * 2 + 0.1 * 3 + 0.4 * 4 + 0.1 * 3 + 0.1 * 2 + 0.1 * 1 = 2.8
Can be calculated.

なお、上記の説明では、説明を簡単にするため、区間時間が等しくなっていたが、実際の区間時間は、関係のあるパケットの送受信時刻によって決まる。
また、上記の説明は、同一トランザクションの複数要求が同時刻に発生する場合について説明したが、複数のトランザクションによる複数要求が同時刻に発生する場合もある。理想的には、一多重時のネットワークトレースを測定することで、同一トランザクションのみ実行されている測定データの解析を行いたいが、どうしてもそのような状況を作り出すことができない場合もある。このような場合、異なるトランザクションの複数要求が重なった区間の総コネクション数に対する注目トランザクションのコネクションの割合に応じてこの区間のサーバ処理時間を比例配分することにより、注目トランザクションのこの区間におけるサーバ処理時間を算出することができる。
In the above description, for the sake of simplicity, the section times are the same, but the actual section time is determined by the transmission / reception times of the relevant packets.
In the above description, a case where a plurality of requests for the same transaction occur at the same time has been described. However, a plurality of requests by a plurality of transactions may occur at the same time. Ideally, it is desired to analyze the measurement data that is executed only in the same transaction by measuring the network trace at the time of multiplexing. However, there are cases where such a situation cannot be created. In such a case, the server processing time in this section of the target transaction is proportionally distributed according to the ratio of the connection of the target transaction to the total number of connections in the section where multiple requests of different transactions overlap. Can be calculated.

図6は、第1の実施の形態のコネクション数に応じたサーバ処理時間の算出方法を示した図である。図5の例は、同一トランザクションによって複数の要求が同時刻に発生したが、図6の場合は、異なるトランザクションの処理A、処理B、処理C、処理Dの要求が同時に処理される。なお、以下では、便宜的にサーバが有するCPU数を2とし、トランザクションAによる処理Aのサーバ処理時間の場合で説明する。処理B、処理Cおよび処理Dの場合も同様の手順でサーバ処理時間を算出することができる。   FIG. 6 is a diagram illustrating a server processing time calculation method according to the number of connections according to the first embodiment. In the example of FIG. 5, a plurality of requests are generated at the same time by the same transaction, but in the case of FIG. 6, requests of processing A, processing B, processing C, and processing D of different transactions are processed simultaneously. In the following description, it is assumed that the number of CPUs of the server is 2 for convenience and the server processing time of processing A by transaction A is described. In the case of processing B, processing C, and processing D, the server processing time can be calculated in the same procedure.

この場合も、サーバにおいて実行される処理が変化する区間ごとに、注目トランザクション(処理A)のサーバ処理時間を算出する。
区間1では、処理Aのみが実行されているので、この区間のサーバ処理時間は、区間時間になる。
Also in this case, the server processing time of the transaction of interest (process A) is calculated for each section in which the process executed on the server changes.
Since only the process A is executed in the section 1, the server processing time in this section is the section time.

次の区間2では、処理Aとともに異なるトランザクションの処理Bが実行されているので、全体のサーバ処理時間は、区間時間*コネクション数(=2)になる。ところで、この区間は、異なるトランザクションの処理Aと処理Bが実行されているので、全体のサーバ処理時間に占める処理A(トランザクションA)の処理時間は、この区間におけるトランザクションAのコネクション数の総コネクション数に占める割合で全体のサーバ処理時間を比例配分させることによって算出することができる。したがって、この区間のトランザクションAに関するサーバ処理時間は、この区間全体のサーバ処理時間*トランザクションAのコネクション数/全コネクション数(処理A+処理B)とあらわすことができる。この場合、トランザクションAの処理Aの割合は、1/2となるので、区間2のトランザクションAについてのサーバ処理時間は、
区間2サーバ処理時間=区間時間(=0.1)*コネクション数(=2)*(1/2)=0.1、
と算出することができる。
In the next section 2, processing B of a different transaction is executed together with the processing A, so that the total server processing time is section time * number of connections (= 2). By the way, since processing A and processing B of different transactions are executed in this section, the processing time of processing A (transaction A) in the total server processing time is the total number of connections of transaction A in this section. It can be calculated by proportionally allocating the entire server processing time as a percentage of the number. Therefore, the server processing time for transaction A in this section can be expressed as server processing time for this entire section * number of connections in transaction A / total number of connections (processing A + processing B). In this case, since the ratio of transaction A processing A is 1/2, the server processing time for transaction A in section 2 is
Section 2 server processing time = section time (= 0.1) * number of connections (= 2) * (1/2) = 0.1
Can be calculated.

同様に、区間3は、処理Aとともに処理B、処理Cが行われている3多重区間である。一方、区間3全体のサーバ処理時間は、区間時間*CPU数(=2)で算出される。したがって、トランザクションAの処理Aについて、この区間のサーバ処理時間は、
区間3サーバ処理時間=区間時間(=0.1)*CPU数(=2)*(1/3)≒0.67、
と算出することができる。
Similarly, section 3 is a three-multiplex section in which processes B and C are performed together with process A. On the other hand, the server processing time for the entire section 3 is calculated by section time * number of CPUs (= 2). Therefore, for the processing A of the transaction A, the server processing time in this section is
Section 3 server processing time = section time (= 0.1) * number of CPUs (= 2) * (1/3) ≈0.67,
Can be calculated.

また、区間4は、4多重区間であり、全体のサーバ処理時間は、区間時間*CPU数(=2)で算出される。そして、4多重であるので、処理Aについてのサーバ処理時間は、
区間4サーバ処理時間=区間時間(=0.4)*CPU数(=2)*(1/4)=0.2、
と算出することができる。
Section 4 is a four-multiplex section, and the total server processing time is calculated by section time * number of CPUs (= 2). And since there are four multiplexes, the server processing time for process A is
Section 4 server processing time = section time (= 0.4) * number of CPUs (= 2) * (1/4) = 0.2,
Can be calculated.

この結果、トランザクションAに関する処理Aのサーバ処理時間は、上記すべての区間の総和をとり、
区間1(0.1)+区間1(0.1)+区間3(0.67)+区間4(0.2)=1.07、
と算出される。
As a result, the server processing time of processing A related to transaction A is the sum of all the above sections,
Section 1 (0.1) + section 1 (0.1) + section 3 (0.67) + section 4 (0.2) = 1.07,
Is calculated.

以上のように、パケットトレース情報を用いて、各トランザクションのサーバ処理時間を高い精度で算出することができる。
なお、トランザクションごとの見掛けのサーバ処理時間の中には、CPU使用時間以外の要因が含まれている可能性もある。しかし、CPUがボトルネックのアプリケーションでは、サーバ処理時間に占めるCPU使用時間の割合が非常に大きいと考えられるため、トランザクションごとの見掛けのサーバ処理時間をCPU処理時間と見なしてワークロードモデルを定義することができる。
As described above, the server processing time of each transaction can be calculated with high accuracy using the packet trace information.
The apparent server processing time for each transaction may include factors other than the CPU usage time. However, in applications where the CPU is a bottleneck, the ratio of CPU usage to the server processing time is considered to be very large. Therefore, the workload model is defined by regarding the apparent server processing time for each transaction as the CPU processing time. be able to.

また、CPU以外にもボトルネックが存在したり、見掛けのサーバ処理時間の算出に誤差が含まれている場合には、実測のトータルCPU使用時間とずれが生じる可能性があるため、実測されたトータルCPU使用時間をT、トランザクションごとの見掛けのサーバ処理時間tiおよび該当区間のトランザクション件数niとすると、トータルCPU使用時間Tを、注目のトランザクションの全体の件数に占める割合で比例配分することで、トランザクションごとのCPU処理時間τiを補正することができる。したがって、トランザクションごとのCPU処理時間は、   In addition, if there is a bottleneck other than the CPU, or there is an error in the calculation of the apparent server processing time, there is a possibility that a deviation from the actual total CPU usage time may occur. Assuming that the total CPU usage time is T, the apparent server processing time ti for each transaction, and the number of transactions ni in the corresponding section, the total CPU usage time T is proportionally distributed as a percentage of the total number of transactions of interest. The CPU processing time τi for each transaction can be corrected. Therefore, the CPU processing time for each transaction is

Figure 0004416626
Figure 0004416626

で補正することができる。
次に、第1の実施の形態におけるサーバ処理時間算出方法について説明する。図7は、第1の実施の形態のサーバ処理時間算出手順を示したフローチャートである。
Can be corrected.
Next, a server processing time calculation method in the first embodiment will be described. FIG. 7 is a flowchart illustrating a server processing time calculation procedure according to the first embodiment.

汎用観測ツールによって測定されたパケットトレース情報をトランザクションやコネクション単位に分類した後、処理を開始する。
[ステップS01] 分類されたパケットトレース情報を参照し、各コネクションのパケットを見て、サーバ滞留時間の生成/終了に関係する区間の区間開始パケットを選択する。たとえば、クライアントから受信したトランザクション処理を要求する要求パケットなどを区間開始パケットとして選択する。
After the packet trace information measured by the general-purpose observation tool is classified into transactions and connections, processing is started.
[Step S01] With reference to the classified packet trace information, the packet of each connection is seen, and the section start packet of the section related to the generation / termination of the server residence time is selected. For example, a request packet for requesting transaction processing received from the client is selected as the section start packet.

[ステップS02] 分類されたパケットトレース情報を参照し、ステップS01で選択された区間開始パケットの次にサーバ滞留時間の生成/終了に関係するパケットを検索し、その有無を判定する。関係パケットが存在しない場合は、処理をステップS10へ進める。   [Step S02] With reference to the classified packet trace information, a packet related to generation / end of the server residence time is searched after the section start packet selected in Step S01, and the presence / absence thereof is determined. If there is no related packet, the process proceeds to step S10.

[ステップS03] ステップS01で選択された区間開始パケットの関係パケットが存在する場合、分類されたパケットトレース情報を参照し、次にサーバ滞留時間の生成/終了に関係する区間終了パケットを選択する。たとえば、ステップS01でクライアントから受信したトランザクション処理の応答パケット送信が次に検出された場合、これが選択される。また、たとえば、次のパケットが同一トランザクションの複数要求のパケットである場合も選択される。   [Step S03] When there is a related packet of the section start packet selected in step S01, the classified packet trace information is referred to, and then a section end packet related to generation / end of the server residence time is selected. For example, when the response packet transmission of the transaction process received from the client in step S01 is detected next, this is selected. Further, for example, the next packet is also selected when it is a multiple request packet of the same transaction.

[ステップS04] ステップS01とステップS03によって選択されたパケットにより規定される該当区間におけるサーバ滞留時間の重なり(同時コネクション総数)を検出し、CPU数と比較する。同時コネクション数がCPU数より大きい場合は、処理をステップS06へ進める。   [Step S04] The overlap (total number of simultaneous connections) of the server residence time in the corresponding section defined by the packet selected in Step S01 and Step S03 is detected and compared with the number of CPUs. If the number of simultaneous connections is greater than the number of CPUs, the process proceeds to step S06.

[ステップS05] 該当区間における同時コネクション数がCPU数よりも大きくない場合、サーバ処理時間として、同時コネクション数と区間時間の積を算出し、各トランザクションのサーバ処理時間として累積する。算出された値でサーバ処理時間を更新し、処理をステップS09へ進める。   [Step S05] If the number of simultaneous connections in the corresponding section is not greater than the number of CPUs, the product of the number of simultaneous connections and the section time is calculated as the server processing time and accumulated as the server processing time for each transaction. The server processing time is updated with the calculated value, and the process proceeds to step S09.

[ステップS06] 該当区間における同時コネクション数がCPU数よりも大きい場合、該当区間に異なるトランザクションのサーバ滞留時間の重なりがあるかどうかを判定する。存在する場合は、処理をステップS08へ進める。   [Step S06] When the number of simultaneous connections in the corresponding section is larger than the number of CPUs, it is determined whether there is an overlap of server residence times of different transactions in the corresponding section. If it exists, the process proceeds to step S08.

[ステップS07] 該当区間における同時コネクション数がCPU数よりも多いが、異なるトランザクションのサーバ滞留時間の重なりがない場合、CPU数と区間時間の積を算出し、各トランザクションのサーバ処理時間として累積する。算出された値でサーバ処理時間を更新し、処理をステップS09へ進める。   [Step S07] When the number of simultaneous connections in the corresponding section is larger than the number of CPUs, but there is no overlap of server residence times of different transactions, the product of the number of CPUs and the section time is calculated and accumulated as the server processing time of each transaction. . The server processing time is updated with the calculated value, and the process proceeds to step S09.

[ステップS08] 該当区間における同時コネクション数がCPU数よりも多く、異なるトランザクションのサーバ滞留時間の重なりがある場合、該当区間における該当トランザクションの同時コネクション数が同時コネクション数に占める割合に応じて区間時間を比例配分した値を算出し、各トランザクションのサーバ処理時間として累積する。算出された値でサーバ処理時間を更新する。   [Step S08] When the number of simultaneous connections in the corresponding section is larger than the number of CPUs and there is an overlap of server residence times of different transactions, the section time is determined according to the ratio of the number of simultaneous connections of the corresponding transaction in the section to the number of simultaneous connections Is calculated and accumulated as server processing time for each transaction. Update the server processing time with the calculated value.

[ステップS09] ステップS03で選択された現時の区間終了パケットを区間開始パケットとし、ステップS02に戻って、次の区間の処理を行う。
[ステップS10] 関係パケットが存在せず、次の処理区間が存在しない(トランザクション処理が終了している)場合、サーバ資源情報で測定したトータルCPU使用時間のサンプリング値でサーバ処理時間を補正するかどうかを判定する。補正しない場合、算出されたサーバ処理時間をCPU使用時間として定義し、処理を終了する。
[Step S09] The current section end packet selected in step S03 is set as a section start packet, and the process returns to step S02 to process the next section.
[Step S10] If the related packet does not exist and the next processing section does not exist (transaction processing is completed), is the server processing time corrected by the sampling value of the total CPU usage time measured by the server resource information? Determine if. If not corrected, the calculated server processing time is defined as the CPU usage time, and the process ends.

[ステップS11] トータルCPU使用時間で補正する場合、サンプリング区間のトランザクション数および累積したサーバ処理時間に基づき、トータルCPU使用時間を比例配分して、トランザクションごとのCPU使用時間を補正し、処理を終了する。   [Step S11] When correcting with the total CPU usage time, the total CPU usage time is proportionally distributed based on the number of transactions in the sampling period and the accumulated server processing time, the CPU usage time for each transaction is corrected, and the process is terminated. To do.

以上の手順が実行されることにより、各コネクションのパケットフロー列を同時に追いながら、多重度が変化する(要求ないし応答が発生する)までの区間ごとに多重度を計算しながら、各トランザクションのサーバ処理時間が算出される。そして、全パケットの検索が終了し、次の多重度変化がおきなくなったら、CPU使用時間が定義される。   By executing the above procedure, the server of each transaction calculates the multiplicity for each section until the multiplicity changes (request or response occurs) while simultaneously following the packet flow sequence of each connection. Processing time is calculated. When the search for all packets is completed and the next multiplicity change does not occur, the CPU usage time is defined.

[第2の実施の形態]
第2の実施の形態は、クライアントとWEBサーバ+APPサーバで構成される。第2の実施の形態は、WEBサーバの後段にAPPサーバが配置された二階層システムの例であり、WEBサーバおよびAPPサーバのそれぞれについてサーバ処理時間を算出する。以下、第1の実施の形態の場合と異なる点について説明する。
[Second Embodiment]
The second embodiment includes a client and a WEB server + APP server. The second embodiment is an example of a two-tier system in which an APP server is arranged at a subsequent stage of a WEB server, and server processing times are calculated for each of the WEB server and the APP server. Hereinafter, differences from the case of the first embodiment will be described.

図8は、第2の実施の形態のクライアント−二階層サーバにおける一連のパケットの流れを示した図である。
クライアント22と、二階層サーバ(WEBサーバ21+APPサーバ23)から成るシステム構成で、クライアント22からの要求によっては、WEBサーバ21からAPPサーバ23へ問合せが行われる。図の例では、クライアント22からの要求1パケット321がWEBサーバ21で受信されると、WEBサーバ21はAPPサーバ23へ要求3パケット322を送信して問合せを行う。そして、APPサーバ23から応答3パケット324を受信すると、WEBサーバ21は所定の処理の後、クライアント21に応答1パケット325を送信する。一方、クライアント22から要求2パケット323を受信した場合、WEBサーバ21は、自装置内で処理を行い、応答2パケット326をクライアント22に送信する。
FIG. 8 is a diagram illustrating a series of packet flows in the client-two-tier server according to the second embodiment.
In a system configuration comprising a client 22 and a two-tier server (WEB server 21 + APP server 23), an inquiry is made from the WEB server 21 to the APP server 23 depending on a request from the client 22. In the illustrated example, when the request 1 packet 321 from the client 22 is received by the WEB server 21, the WEB server 21 transmits a request 3 packet 322 to the APP server 23 to make an inquiry. When the response 3 packet 324 is received from the APP server 23, the WEB server 21 transmits a response 1 packet 325 to the client 21 after a predetermined process. On the other hand, when the request 2 packet 323 is received from the client 22, the WEB server 21 performs processing in its own apparatus and transmits a response 2 packet 326 to the client 22.

二階層システムの場合も、第1の実施の形態の場合と同様に、各区間におけるコネクションの多重度を考慮してサーバ処理時間を算出する。なお、後段のAPPサーバ23に要求送信した場合には、その応答を受信するまでの時間は、WEBサーバ21のサーバ処理時間ではないとみなす。そこで、この区間は、多重度=−1として重なり具合をカウントし、サーバ処理時間算出を行う。   In the case of a two-tier system, as in the case of the first embodiment, the server processing time is calculated in consideration of the multiplicity of connections in each section. If a request is transmitted to the subsequent APP server 23, the time until the response is received is not considered to be the server processing time of the WEB server 21. Therefore, in this section, the degree of overlap is counted as multiplicity = -1, and the server processing time is calculated.

図の例で説明する。WEBサーバ21が、クライアント22から要求1パケット321を受信した時点から、応答1パケット325を送信するまでのトランザクションT1に関する処理は多重度1となる。同様に、WEBサーバ21が、クライアント22から要求2パケット323を受信した時点から、応答2パケット326を送信するまでのトランザクションT2に関する処理は多重度1となる。また、APPサーバ23が、WEBサーバ21から要求3パケット322を受信した時点から、応答3パケット324を送信するまでのトランザクションT3に関する処理は多重度1となるが、このトランザクションT3におけるWEBサーバ21の多重度は−1される。したがって、WEBサーバ21について、APPサーバ23のT3処理が実行される区間の多重度は、T1処理およびT2処理から算出される多重度−1で多重度が決まる。   This will be described with reference to the example in the figure. The processing related to the transaction T1 from when the WEB server 21 receives the request 1 packet 321 from the client 22 to when the response 1 packet 325 is transmitted has a multiplicity of 1. Similarly, the processing related to the transaction T2 from when the WEB server 21 receives the request 2 packet 323 from the client 22 to when the response 2 packet 326 is transmitted has a multiplicity of 1. The processing related to the transaction T3 from when the APP server 23 receives the request 3 packet 322 from the WEB server 21 until the response 3 packet 324 is transmitted has a multiplicity of 1, but the WEB server 21 in the transaction T3 Multiplicity is reduced by -1. Therefore, for the WEB server 21, the multiplicity of the section in which the T3 process of the APP server 23 is executed is determined by the multiplicity-1 calculated from the T1 process and the T2 process.

図9は、第2の実施の形態における区間ごとの多重度を示した図である。
まず、WEBサーバ21について多重度を見る。多重度が変化する区間ごとに細かく分析すると、要求1パケット321を受信してから要求3パケット322送信までの区間は、WEBサーバ21のT1処理は、1多重で処理される。次の要求3パケット322受信から要求2パケット323受信までの区間は、T1処理の多重度+1と、WEBサーバにおけるT3処理の多重度−1とを加算した多重度0となる。すなわち、WEBサーバにおける処理はない。続く要求2パケット323受信から応答3パケット324受信までの区間は、T2処理が行われ、多重度は1になる。詳しくは、T1処理の多重度(+1)+T3処理の多重度(−1)+T2処理の多重度(+1)になる。同様にして、応答3パケット324受信から応答1パケット325までの区間の多重度は2、応答1パケット325送信から応答2パケット326送信までの区間の多重度は1になる。
FIG. 9 is a diagram showing the multiplicity for each section in the second embodiment.
First, the multiplicity of the WEB server 21 is checked. When analyzed in detail for each section where the multiplicity changes, the T1 processing of the WEB server 21 is processed in one multiplex in the section from the reception of the request 1 packet 321 to the transmission of the request 3 packet 322. The interval from the next request 3 packet 322 reception to the request 2 packet 323 reception is a multiplicity of 0 obtained by adding the multiplicity of T1 processing + 1 and the multiplicity-1 of T3 processing in the WEB server. That is, there is no processing in the WEB server. In the subsequent section from the request 2 packet 323 reception to the response 3 packet 324 reception, the T2 process is performed and the multiplicity is 1. Specifically, the multiplicity of the T1 process (+1) + the multiplicity of the T3 process (−1) + the multiplicity of the T2 process (+1). Similarly, the multiplicity of the section from the reception of the response 3 packet 324 to the response 1 packet 325 is 2, and the multiplicity of the section from the transmission of the response 1 packet 325 to the transmission of the response 2 packet 326 is 1.

一方、APPサーバ23は、要求3パケット322受信から応答3パケット324送信までの区間でT3処理が実行され、多重度は1になる。
したがって、WEBサーバ21が2CPU以上とした場合、T1とT2を合わせた全体のサーバ処理時間は、
WEBサーバ処理時間=T1_SV1+T2_SV1−T3_SV1
と算出することができる。
On the other hand, the APP server 23 executes the T3 process in the section from the request 3 packet 322 reception to the response 3 packet 324 transmission, and the multiplicity becomes 1.
Therefore, when the WEB server 21 is 2 CPUs or more, the total server processing time including T1 and T2 is
WEB server processing time = T1_SV1 + T2_SV1-T3_SV1
Can be calculated.

同様に、APPサーバ23は、
APPサーバ処理時間=T3_SV1
と算出することができる。
Similarly, the APP server 23
APP server processing time = T3_SV1
Can be calculated.

なお、WEBサーバ21について、各トランザクションごとのサーバ処理時間の算出方法は、第1の実施の形態の場合と同様の処理で行うことができるので、説明は省略する。
次に、上記の説明のサーバ処理時間(CPU使用時間)算出処理の手順について、各段階で生成される情報の一例を示しながら説明する。
For the WEB server 21, the server processing time calculation method for each transaction can be performed by the same processing as in the first embodiment, and the description thereof will be omitted.
Next, the server processing time (CPU usage time) calculation process described above will be described with reference to an example of information generated at each stage.

まず、汎用観測ツールを用いて対象システムを測定し、ネットワークを流れるパケットを捉えたパケットトレース情報を生成する。
図10は、クライアントで取得されたパケットトレース情報の一例を示した図であり、図11は、WEBサーバで取得されたパケットトレース情報の一例を示した図である。
First, the target system is measured using a general-purpose observation tool, and packet trace information that captures packets flowing through the network is generated.
FIG. 10 is a diagram illustrating an example of packet trace information acquired by the client, and FIG. 11 is a diagram illustrating an example of packet trace information acquired by the WEB server.

パケットトレース情報には、少なくともパケットが検出された時間、送信元、受信元およびパケットの内容情報が含まれている。たとえば、クライアントのパケットトレース情報では、時間0.0にクライアントからWEBサーバにhttp GETパケットが送信されたことが記録されている。同様に、WEBサーバでは、時間0.2にクライアントから送信されたhttp GETパケットを受信したことが記録されている。   The packet trace information includes at least a time when a packet is detected, a transmission source, a reception source, and packet content information. For example, in the packet trace information of the client, it is recorded that an http GET packet is transmitted from the client to the WEB server at time 0.0. Similarly, the WEB server records that it has received an http GET packet transmitted from the client at time 0.2.

パケット解析手段1aでは、トランザクション定義のためのルール指定に従って、パケットトレース情報を解析し、所定のトランザクションに関するパケットを抽出してトランザクションごとのコネクションを抽出したトランザクション情報を作成する。   The packet analysis unit 1a analyzes packet trace information in accordance with a rule specification for transaction definition, extracts a packet related to a predetermined transaction, and creates transaction information in which a connection for each transaction is extracted.

図12は、トランザクションAのトランザクション情報の一例を示した図であり、図13は、トランザクションBのトランザクション情報の一例を示した図である。
トランザクション情報には、それぞれのコネクションについて要求した側の情報(時間、要求元)と処理側の情報(時間、処理装置)と通信方向がパケットトレース情報から抽出され、格納されている。
FIG. 12 is a diagram illustrating an example of transaction information of transaction A, and FIG. 13 is a diagram illustrating an example of transaction information of transaction B.
In the transaction information, information on the requesting side (time and request source), information on the processing side (time and processing device) and communication direction are extracted from the packet trace information and stored.

たとえば、トランザクションAに関するトランザクション情報(図12)から、トランザクションAについては、2つのコネクション(コネクション1とコネクション2)が発生している。また、コネクション1は、WEBサーバ側の時間で0.2にクライアントから要求パケットを受信し、応答パケットを0.7と0.8で送信していることがわかる。同様に、コネクション2は、WEBサーバ側の時間で0.3にクライアントから要求パケットを受信し、応答パケットを0.9と1.0で送信していることがわかる。同様に、トランザクションBについても、トランザクションBに関するトランザクション情報(図13)から、2つのコネクション(コネクション3とコネクション4)が発生し、コネクション3は、WEBサーバ側の時間で5.2にクライアントから要求パケットを受信し、応答パケットを5.7で送信していることがわかる。   For example, from the transaction information relating to transaction A (FIG. 12), two connections (connection 1 and connection 2) have occurred for transaction A. Also, it can be seen that the connection 1 receives the request packet from the client at time 0.2 on the WEB server side, and transmits the response packet at 0.7 and 0.8. Similarly, it can be seen that the connection 2 receives the request packet from the client at 0.3 on the time of the WEB server side, and transmits the response packet at 0.9 and 1.0. Similarly, for transaction B, two connections (connection 3 and connection 4) are generated from the transaction information relating to transaction B (FIG. 13), and connection 3 is requested from the client at 5.2 on the WEB server side. It can be seen that the packet is received and the response packet is transmitted at 5.7.

このようにして得られたトランザクション情報に基づき、サーバ処理時間手段1bは、サーバ処理時間をする。また、必要に応じて、さらに、CPU使用時間補正手段1cがCPU処理時間を算出する。CPU使用時算出手段1cによる補正が行われない場合は、サーバ処理時間算出手段1bの算出したサーバ処理時間をCPU使用時間と見なす。   Based on the transaction information thus obtained, the server processing time means 1b performs server processing time. Further, if necessary, the CPU usage time correction unit 1c calculates the CPU processing time. When the correction by the CPU usage time calculation unit 1c is not performed, the server processing time calculated by the server processing time calculation unit 1b is regarded as the CPU usage time.

そして、トランザクションごとのCPU使用時間が算出される。
図14は、トランザクションごとのCPU使用時間情報の一例を示した図である。
図の例では、CPU使用時間情報として、トランザクションと、実行サーバ、そのCPU使用時間が格納される。たとえば、CPU使用時間情報から、トランザクションAは、WEBサーバで実行され、CPU使用時間は1.1であることがわかる。同様に、トランザクションBは、WEBサーバとAPPサーバで実行され、WEBサーバのCPU使用時間は0.2、APPサーバのCPU使用時間は0.3であることがわかる。
Then, the CPU usage time for each transaction is calculated.
FIG. 14 is a diagram illustrating an example of CPU usage time information for each transaction.
In the example of the figure, the transaction, the execution server, and the CPU usage time are stored as the CPU usage time information. For example, it can be seen from the CPU usage time information that transaction A is executed by the WEB server and the CPU usage time is 1.1. Similarly, transaction B is executed by the WEB server and the APP server, and the CPU usage time of the WEB server is 0.2 and the CPU usage time of the APP server is 0.3.

こうして算出されたCPU使用時間は、ワークロード定義手段1dで、モデルのワークロードを定義するために使用される。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ワークロードモデル作成装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
The CPU usage time calculated in this way is used by the workload definition means 1d to define the model workload.
The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions that the workload model creation apparatus should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic recording device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Examples of the optical disc include a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only Memory), and a CD-R (Recordable) / RW (ReWritable). Magneto-optical recording media include MO (Magneto-Optical disk).

プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, portable recording media such as a DVD and a CD-ROM in which the program is recorded are sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

(付記1) 実環境もしくはテスト環境でアプリケーションを実行する測定対象サーバ群について汎用観測ツールを用いて観測された測定情報に基づき、所定のトランザクションに要する処理時間を算出するための処理時間算出プログラムにおいて、
コンピュータを、
前記汎用観測ツールが捉えた前記サーバに送受信されるパケットのパケットトレース情報を取得して解析し、前記トランザクションに関し依存関係のあるパケット群に関する情報を抽出したトランザクション情報を作成するパケット解析手段、
前記トランザクション情報に基づいて、前記依存関係のあるパケット群の処理が前記サーバに滞留しているサーバ滞留時間を算出するとともに、前記トランザクションの重なりや前記サーバの構成を含む前記測定対象の特性に基づいて前記サーバ滞留時間を補正し、前記トランザクションごとの前記サーバ処理時間を算出するサーバ処理時間算出手段、
として機能させることを特徴とする処理時間算出プログラム。
(Supplementary Note 1) In a processing time calculation program for calculating processing time required for a predetermined transaction based on measurement information observed using a general-purpose observation tool for a measurement target server group that executes an application in a real environment or a test environment. ,
Computer
Packet analysis means for acquiring and analyzing packet trace information of packets transmitted to and received from the server captured by the general-purpose observation tool, and creating transaction information obtained by extracting information on a packet group having a dependency relationship with respect to the transaction,
Based on the transaction information, it calculates a server residence time during which the processing of the packet group having the dependency relationship stays in the server, and based on the characteristics of the measurement target including the overlap of the transactions and the configuration of the server A server processing time calculating means for correcting the server residence time and calculating the server processing time for each transaction,
A processing time calculation program characterized in that it is made to function as:

(付記2) 前記サーバ処理時間算出手段に、同一の前記トランザクションの複数要求が同一時刻に前記サーバに滞留している場合に、同一時刻に重複するコネクション数と前記サーバを構成するCPUの数を比較し、前記コネクション数が前記CPU数までは前記サーバ滞留時間を前記サーバ処理時間に加算し、前記コネクション数が前記CPU数を超える場合には超えた前記コネクション数の前記サーバ滞留時間を加算せずに前記サーバ処理時間を算出させる、
ことを特徴とする付記1記載の処理時間算出プログラム。
(Supplementary Note 2) When multiple requests for the same transaction are staying in the server at the same time, the server processing time calculation means calculates the number of connections overlapping at the same time and the number of CPUs constituting the server. In comparison, the server residence time is added to the server processing time until the number of connections reaches the number of CPUs, and when the number of connections exceeds the number of CPUs, the server residence time of the number of connections exceeding is added. Without calculating the server processing time,
The processing time calculation program according to appendix 1, wherein

(付記3) 前記サーバ処理時間算出手段に、前記サーバに滞留する前記コネクション数が変化する区間ごとに、前記区間において重なったコネクション数と前記サーバの有するCPU数を比較し、前記コネクション数が前記CPU数を超えない場合は前記区間の処理時間と前記コネクション数を乗算し、前記コネクション数が前記CPU数を超えた場合は前記区間の処理時間と前記CPU数を乗算して前記区間ごとの前記サーバ処理時間を算出し、全区間の前記サーバ処理時間を累積して前記サーバ処理時間を算出させる、
ことを特徴とする付記2記載の処理時間算出プログラム。
(Supplementary Note 3) For each section in which the number of connections staying in the server changes, the server processing time calculation unit compares the number of connections overlapped in the section with the number of CPUs of the server, and the number of connections is When the number of CPUs is not exceeded, the processing time of the section is multiplied by the number of connections, and when the number of connections exceeds the number of CPUs, the processing time of the section and the number of CPUs are multiplied. Calculating a server processing time, accumulating the server processing time of all sections, and calculating the server processing time;
The processing time calculation program according to supplementary note 2, characterized by:

(付記4) 前記サーバ処理時間算出手段に、複数の別トランザクションの複数要求が同一時刻に前記サーバに滞留している場合に、前記別トランザクションのコネクションが重なる区間において、注目する前記トランザクションのコネクションが前記重なる区間における前記コネクションの総和に占める割合で、前記サーバの構成に応じて算出された前記サーバ処理時間を比例配分して前記トランザクションごとの前記サーバ処理時間を算出させる、
ことを特徴とする付記1記載の処理時間算出プログラム。
(Supplementary Note 4) When a plurality of requests for a plurality of different transactions are staying in the server at the same time, the server processing time calculation means determines whether the connection of the transaction of interest is in a section where the connections of the different transactions overlap. The server processing time for each transaction is calculated by proportionally allocating the server processing time calculated according to the configuration of the server as a percentage of the total of the connections in the overlapping section.
The processing time calculation program according to appendix 1, wherein

(付記5) 前記サーバ処理時間算出手段に、前記サーバに滞留する前記コネクション数が変化する区間ごとに、前記コネクション数と前記サーバの有するCPU数を比較し、前記コネクション数が前記CPU数を超えない場合は前記区間の処理時間と前記コネクション数を乗算し、前記コネクション数が前記CPU数を超えた場合は前記区間の処理時間と前記CPU数を乗算して前記区間ごとの前記サーバ処理時間を算出し、前記区間に複数の別トランザクションのコネクションが重なる場合、注目する前記トランザクションの前記コネクションが前記重なる区間における前記コネクションの総和に占める割合で、前記CPU数に応じて算出された前記区間のサーバ処理時間を比例配分して前記トランザクションの前記区間における前記サーバ処理時間を算出し、算出された全区間の前記サーバ処理時間を累積して前記サーバ処理時間を算出させる、
ことを特徴とする付記4記載の処理時間算出プログラム。
(Supplementary Note 5) For each section in which the number of connections staying in the server changes, the server processing time calculation means compares the number of connections with the number of CPUs of the server, and the number of connections exceeds the number of CPUs. If not, multiply the processing time of the section by the number of connections, and if the number of connections exceeds the number of CPUs, multiply the processing time of the section by the number of CPUs to calculate the server processing time for each section. When the connection of a plurality of different transactions overlaps in the section, the server of the section calculated according to the number of CPUs is the ratio of the connection of the transaction of interest to the total of the connections in the overlapping section Proportionally distribute processing time and the service in the section of the transaction. Calculating the server processing time, accumulating the server processing time of all the calculated sections, and calculating the server processing time.
The processing time calculation program according to supplementary note 4, characterized by:

(付記6) コンピュータを、さらに、
前記汎用観測ツールで測定された前記サーバのCPUが使用されたトータルCPU処理時間を、前記サーバ処理時間算出手段によって算出された前記トランザクションごとの前記サーバ処理時間が前記サーバ処理時間の総和に占める割合に応じて比例配分し、前記トランザクションごとのCPU使用時間を補正するCPU使用時間補正手段、
として機能させることを特徴とする付記1記載の処理時間算出プログラム。
(Supplementary note 6)
Ratio of the total CPU processing time used by the server CPU measured by the general-purpose observation tool to the total of the server processing time for each transaction calculated by the server processing time calculation unit CPU usage time correction means for proportionally allocating and correcting CPU usage time for each transaction,
The processing time calculation program according to appendix 1, wherein the processing time calculation program is made to function as:

(付記7) 前記サーバ処理時間算出手段に、前記測定対象サーバが複数の装置から成るサーバ群に属しており、前記トランザクションに応じて前記サーバ群に属する他の前記サーバに処理を依頼する場合、前記他のサーバによる処理時間を前記サーバ処理時間から減算させる、
ことを特徴とする付記1記載の処理時間算出プログラム。
(Supplementary note 7) When the measurement target server belongs to a server group composed of a plurality of devices to the server processing time calculation unit, and requests other servers belonging to the server group in response to the transaction, Subtracting the processing time by the other server from the server processing time,
The processing time calculation program according to appendix 1, wherein

(付記8) 実環境もしくはテスト環境でアプリケーションを実行する測定対象サーバ群について汎用観測ツールを用いて観測された測定情報に基づいて所定のトランザクションに要する処理時間を算出し、前記処理時間を用いてワークロードモデルを定義するためのワークロードモデル作成プログラムにおいて、
コンピュータを、
前記汎用観測ツールが捉えた前記サーバに送受信されるパケットのパケットトレース情報を取得して解析し、前記トランザクションに関し依存関係のあるパケット群に関する情報を抽出したトランザクション情報を作成するパケット解析手段、
前記トランザクション情報に基づいて、前記依存関係のあるパケット群の処理が前記サーバに滞留しているサーバ滞留時間を算出するとともに、前記トランザクションの重なりや前記サーバの構成を含む前記測定対象の特性に基づいて前記サーバ滞留時間を補正し、前記トランザクションごとの前記サーバ処理時間を算出するサーバ処理時間算出手段、
前記トランザクションごとの前記サーバ処理時間を前記サーバのCPU処理時間と見なしてワークロードを定義し、性能予測の対象のワークロードモデルを作成するワークロード定義手段、
として機能させることを特徴とするワークロードモデル作成プログラム。
(Supplementary note 8) A processing time required for a predetermined transaction is calculated based on measurement information observed using a general-purpose observation tool for a measurement target server group that executes an application in a real environment or a test environment, and the processing time is used. In the workload model creation program for defining the workload model,
Computer
Packet analysis means for acquiring and analyzing packet trace information of packets transmitted to and received from the server captured by the general-purpose observation tool, and creating transaction information obtained by extracting information on a packet group having a dependency relationship with respect to the transaction,
Based on the transaction information, it calculates a server residence time during which the processing of the packet group having the dependency relationship stays in the server, and based on the characteristics of the measurement target including the overlap of the transactions and the configuration of the server A server processing time calculating means for correcting the server residence time and calculating the server processing time for each transaction;
A workload defining means for defining a workload by regarding the server processing time for each transaction as the CPU processing time of the server, and creating a workload model for performance prediction;
A workload model creation program characterized by functioning as

(付記9) コンピュータを、さらに、
前記汎用観測ツールで測定された所定の区間にCPUが使用されたトータルCPU処理時間を、前記サーバ処理時間算出手段によって算出された前記トランザクションごとの前記サーバ処理時間が前記所定の区間に占める割合に応じて比例配分し、トランザクションごとのCPU使用時間を算出するCPU使用時間補正手段、として機能させるとともに、
前記ワークロード定義手段に、前記CPU使用時間補正手段によって算出された前記トランザクションごとの前記CPU処理時間を用いてワークロードを定義させる、
ことを特徴とする付記8記載のワークロードモデル作成プログラム。
(Supplementary note 9)
The total CPU processing time in which the CPU is used in the predetermined section measured by the general-purpose observation tool is set to the ratio of the server processing time for each transaction calculated by the server processing time calculation means to the predetermined section. In accordance with the proportional distribution, the CPU usage time correction means for calculating the CPU usage time for each transaction is used.
Causing the workload definition means to define a workload using the CPU processing time for each transaction calculated by the CPU usage time correction means;
The workload model creation program according to supplementary note 8, wherein

実施の形態に適用される発明の概念図である。It is a conceptual diagram of the invention applied to embodiment. 本実施の形態のワークロードモデル作成装置のハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the workload model production apparatus of this Embodiment. 第1の実施の形態のクライアント−WEBサーバにおける一連のパケットの流れを示した図である。It is the figure which showed the flow of a series of packets in the client-WEB server of 1st Embodiment. 複数要求におけるCPUの個数に応じたサーバ処理時間の算出例を示している。A calculation example of server processing time according to the number of CPUs in a plurality of requests is shown. 実施の形態のCPU数に応じたサーバ処理時間の算出方法を示した図である。It is the figure which showed the calculation method of the server processing time according to the number of CPU of embodiment. 第1の実施の形態のコネクション数に応じたサーバ処理時間の算出方法を示した図である。It is the figure which showed the calculation method of the server processing time according to the number of connections of 1st Embodiment. 第1の実施の形態のサーバ処理時間算出手順を示したフローチャートである。It is the flowchart which showed the server processing time calculation procedure of 1st Embodiment. 第2の実施の形態のクライアント−二階層サーバにおける一連のパケットの流れを示した図である。It is the figure which showed the flow of a series of packets in the client-two-tier server of 2nd Embodiment. 第2の実施の形態における区間ごとの多重度を示した図である。It is the figure which showed the multiplicity for every area in 2nd Embodiment. クライアントで取得されたパケットトレース情報の一例を示した図である。It is the figure which showed an example of the packet trace information acquired with the client. WEBサーバで取得されたパケットトレース情報の一例を示した図である。It is the figure which showed an example of the packet trace information acquired with the WEB server. トランザクションAのトランザクション情報の一例を示した図である。6 is a diagram showing an example of transaction information of transaction A. FIG. トランザクションBのトランザクション情報の一例を示した図である。6 is a diagram showing an example of transaction information of a transaction B. FIG. トランザクションごとのCPU使用時間情報の一例を示した図である。It is the figure which showed an example of the CPU usage time information for every transaction. 従来のワークロードモデル作成手順を示したフロー図である。It is the flowchart which showed the conventional workload model creation procedure. ワークロードモデルの概要を示した図である。It is the figure which showed the outline | summary of the workload model.

符号の説明Explanation of symbols

1 ワークロードモデル作成装置
1a パケット解析手段
1b サーバ処理時間算出手段
1c CPU使用時間補正手段
1d ワークロード定義手段
2 実機システム
2a サーバA
2b サーバB
3 パケットトレース情報
4 サーバ資源情報
5 トランザクション情報
6 サーバ処理時間情報
7 ワークロードモデル
DESCRIPTION OF SYMBOLS 1 Workload model creation apparatus 1a Packet analysis means 1b Server processing time calculation means 1c CPU usage time correction means 1d Workload definition means 2 Real machine system 2a Server A
2b Server B
3 Packet trace information 4 Server resource information 5 Transaction information 6 Server processing time information 7 Workload model

Claims (4)

実環境もしくはテスト環境でアプリケーションを実行する測定対象サーバ群について観測ツールを用いて観測された測定情報に基づき、所定のトランザクションに要する処理時間を算出するための処理時間算出プログラムにおいて、
コンピュータに、
前記観測ツールが捉えたサーバに送受信されるパケットのパケットトレース情報を取得して解析し、複数のトランザクションのうち一つのトランザクションを構成するパケット群に関する情報を抽出したトランザクション情報を作成するパケット解析手順、
前記トランザクション情報に基づいて、前記一つのトランザクションを構成するパケット群のうち最初の要求パケットを受信してから、サーバが該トランザクションを終えて返信する最後の応答パケットを送信するまでの時間であるサーバ滞留時間を算出するとともに、
前記一つのトランザクションと、前記一つのトランザクションと異なるトランザクションの重なりや前記サーバの構成を含む前記測定対象の特性に基づいて前記サーバ滞留時間を補正し、前記サーバ滞留時間のうちサーバ資源を使用して処理が行われている時間である、前記一つのトランザクションのサーバ処理時間を算出するサーバ処理時間算出手順、
を実行させることを特徴とする処理時間算出プログラム。
In a processing time calculation program for calculating a processing time required for a predetermined transaction based on measurement information observed using an observation tool for a measurement target server group that executes an application in a real environment or a test environment,
On the computer,
A packet analysis procedure for obtaining and analyzing packet trace information of a packet transmitted to and received from the server captured by the observation tool, and creating transaction information in which information on a packet group constituting one transaction among a plurality of transactions is extracted,
Based on the transaction information , the server is the time from when the first request packet is received in the packet group constituting the one transaction until the server transmits the last response packet to be returned after completing the transaction While calculating the residence time,
The server dwell time is corrected based on the characteristics of the measurement target including an overlap between the one transaction and a transaction different from the one transaction and the configuration of the server, and server resources are used in the server dwell time. the time at which processing is performed Te, server processing time calculation step of calculating the server processing time of said one transaction,
The processing time calculation program characterized by performing this.
前記サーバ処理時間算出手順は、前記一つのトランザクションであって複数の要求が同時刻にサーバに滞留する場合、同一時刻に重複するコネクション数と前記サーバを構成するCPU(CPU:Central Processing Unit)の数を比較し、前記コネクション数が前記CPU数までは、前記サーバ滞留時間を前記サーバ処理時間に加算する補正を行って、補正したサーバ処理時間を算出し、前記コネクション数が前記CPU数を超える場合には、前記CPU数を超えた前記コネクション数の前記サーバ滞留時間を前記サーバ処理時間に加算する補正を行わない、
ことを特徴とする請求項1記載の処理時間算出プログラム。
The server processing time calculation procedure, when a plurality of requests wherein a one of the transaction is retained in the server at the same time, the the number of connections that overlap the same time CPU of the server: the (CPU Central Processing Unit) When the number of connections is up to the number of CPUs, a correction is made by adding the server residence time to the server processing time to calculate a corrected server processing time, and the number of connections exceeds the number of CPUs. case, the server residence time of the number of connections exceeds the number of the CPU, no correction to be added to the server processing time,
The processing time calculation program according to claim 1.
前記サーバ処理時間算出手順は、前記一つのトランザクションと異なるトランザクションであって複数の要求が同時刻にサーバに滞留する場合に、前記一つのトランザクションのコネクションと、前記一つのトランザクションと異なるトランザクションのコネクションが重なる区間において、前一つのトランザクションのコネクション数が前記重なる区間におけるコネクション数の総和に占める割合で、前記サーバの構成に応じて算出された前記サーバ処理時間を比例配分して前記一つのトランザクションの前記サーバ処理時間を算出する、
ことを特徴とする請求項1または2記載の処理時間算出プログラム。
When the server processing time calculation procedure is a transaction different from the one transaction and a plurality of requests stay in the server at the same time, the connection of the one transaction, the connection of a transaction different from the one transaction , in section overlap at a rate connection number of the previous SL single transaction account the total number of connections in the overlapping section, and prorating the server processing time calculated in accordance with the configuration of the server, of the one calculating the server processing time of transaction,
3. The processing time calculation program according to claim 1, wherein the processing time is calculated.
前記サーバ処理時間には、CPU資源を使用していた時間であるCPU使用時間を含み、
前記コンピュータに、
前記観測ツールで測定された前記サーバのCPUが使用されたトータルCPU処理時間を、前記サーバ処理時間算出手順で算出されたトランザクションごとの前記サーバ処理時間が前記サーバ処理時間の総和に占める割合に応じて比例配分することによって、前記一つのトランザクションのCPU使用時間を補正するCPU使用時間補正手順、
を実行させることを特徴とする請求項1から3の何れかに記載の処理時間算出プログラム。
The server processing time includes CPU usage time, which is time spent using CPU resources,
In the computer,
Proportion of the observed total CPU processing time is measured CPU of the server used in the tool, is the server processing time for each transaction which has been calculated by the server processing time calculation procedure accounts for the sum of the server processing time proportional by allocating, CPU time correction procedure for correcting the CPU use time of the one transaction according to,
The processing time calculation program according to claim 1, wherein the processing time calculation program is executed.
JP2004318657A 2004-11-02 2004-11-02 Processing time calculation program Expired - Fee Related JP4416626B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004318657A JP4416626B2 (en) 2004-11-02 2004-11-02 Processing time calculation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004318657A JP4416626B2 (en) 2004-11-02 2004-11-02 Processing time calculation program

Publications (2)

Publication Number Publication Date
JP2006133820A JP2006133820A (en) 2006-05-25
JP4416626B2 true JP4416626B2 (en) 2010-02-17

Family

ID=36727355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004318657A Expired - Fee Related JP4416626B2 (en) 2004-11-02 2004-11-02 Processing time calculation program

Country Status (1)

Country Link
JP (1) JP4416626B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4504346B2 (en) * 2006-12-25 2010-07-14 富士通株式会社 Trouble factor detection program, trouble factor detection method, and trouble factor detection device
JP4912158B2 (en) * 2007-01-06 2012-04-11 富士通株式会社 Processing speed calculation method, calculation device, and program
JP4941355B2 (en) * 2008-02-27 2012-05-30 日本電気株式会社 Residence data measurement system, method, and program
JP5397192B2 (en) * 2009-11-30 2014-01-22 富士通株式会社 Message classification attribute selection device, message classification attribute selection program, and message classification attribute selection method
JP4846038B2 (en) * 2010-03-26 2011-12-28 株式会社野村総合研究所 Analysis apparatus, information processing system, and analysis method
JP5422478B2 (en) * 2010-05-06 2014-02-19 株式会社東芝 Performance measurement analysis support program and performance measurement analysis support device
JP5561182B2 (en) * 2011-01-20 2014-07-30 富士通株式会社 System analysis support program, system analysis support device, and system analysis support method
JP6063801B2 (en) * 2013-04-09 2017-01-18 日本電信電話株式会社 Quality evaluation apparatus, quality evaluation method and program
JP6944252B2 (en) * 2017-03-07 2021-10-06 東日本旅客鉄道株式会社 Information processing device
CN109189547A (en) * 2018-08-01 2019-01-11 上海工程技术大学 The analogy method of Web service under a kind of evolution scene

Also Published As

Publication number Publication date
JP2006133820A (en) 2006-05-25

Similar Documents

Publication Publication Date Title
US11966788B2 (en) Predictive autoscaling and resource optimization
US11146497B2 (en) Resource prediction for cloud computing
US10503408B2 (en) Deployment of an upgrade to a storage system based on correlation analysis of measurements of the storage system
US7568028B2 (en) Bottleneck detection system, measurement object server, bottleneck detection method and program
US7680916B2 (en) System for improving the performance of a computer software application in a server network
US8433554B2 (en) Predicting system performance and capacity using software module performance statistics
US8224624B2 (en) Using application performance signatures for characterizing application updates
US10909018B2 (en) System and method for end-to-end application root cause recommendation
US10411969B2 (en) Backend resource costs for online service offerings
EP2040171A1 (en) Computer system managing device, and computer system managing method
US20080228459A1 (en) Method and Apparatus for Performing Capacity Planning and Resource Optimization in a Distributed System
US20100094992A1 (en) Capacity Planning Of Multi-tiered Applicatons From Application Logs
US20100076733A1 (en) Method and apparatus for automatic performance modeling with load dependent service times and overheads
JP2011086295A (en) Estimating service resource consumption based on response time
JP4416626B2 (en) Processing time calculation program
JP2006048702A (en) Automatic configuration of transaction-based performance model
US10135709B1 (en) Tracking work in an asynchronous application or service during load testing
CN114356577A (en) System capacity estimation method and device
JP2009193205A (en) Automatic tuning system, automatic tuning device, and automatic tuning method
US20220050814A1 (en) Application performance data processing
US20220050761A1 (en) Low overhead performance data collection
Vögler et al. Non-intrusive monitoring of stream processing applications
Belli et al. Towards a cost-optimized cloud application placement tool
Rao et al. CoSL: A coordinated statistical learning approach to measuring the capacity of multi-tier websites
Woodside The relationship of performance models to data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090727

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: 20091124

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091124

R150 Certificate of patent or registration of utility model

Ref document number: 4416626

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131204

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees