JP6772857B2 - Judgment program, judgment method and judgment device - Google Patents

Judgment program, judgment method and judgment device Download PDF

Info

Publication number
JP6772857B2
JP6772857B2 JP2017010521A JP2017010521A JP6772857B2 JP 6772857 B2 JP6772857 B2 JP 6772857B2 JP 2017010521 A JP2017010521 A JP 2017010521A JP 2017010521 A JP2017010521 A JP 2017010521A JP 6772857 B2 JP6772857 B2 JP 6772857B2
Authority
JP
Japan
Prior art keywords
server
server software
processes
information
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017010521A
Other languages
Japanese (ja)
Other versions
JP2018120354A (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 JP2017010521A priority Critical patent/JP6772857B2/en
Publication of JP2018120354A publication Critical patent/JP2018120354A/en
Application granted granted Critical
Publication of JP6772857B2 publication Critical patent/JP6772857B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

判定プログラム、判定方法および判定装置に関する。 The present invention relates to a determination program, a determination method, and a determination device.

ユーザの端末装置から受信したリクエストに応じて、データの抽出や、データに対する処理を行い、処理の結果をレスポンスとして、リクエストの送信元の端末装置に送信する情報処理システムが送信する。 In response to the request received from the user's terminal device, the information processing system extracts the data, processes the data, and sends the result of the processing as a response to the terminal device that sends the request.

図1は、上述の情報処理システムの一例であり、例えば、3階層システムなどと呼ばれる。図1の例では、端末装置1は、情報処理システム10に対してリクエストを送信する。情報処理システム10では、Webサーバ11がリクエストを受信し、リクエストの引数の内容をApplication(AP)サーバ12に送信する。データベースに記憶されたデータへのアクセスを要する場合、APサーバ12は、受信した引数の内容に応じた問合せ文を生成して、生成した問い合わせ文をDatabase(DB)サーバ13に送信する。そして、APサーバ12は、DBサーバ13によってデータベースから抽出されたデータを入力データとしてアプリケーションを実行し、アプリケーションの処理結果をWebサーバ11に送信する。Webサーバ11は、受信したアプリケーションの処理結果をリクエストに対するレスポンスとして、端末装置1に送信する。以上は、3階層システムにおける処理の一例である。 FIG. 1 is an example of the above-mentioned information processing system, and is called, for example, a three-layer system. In the example of FIG. 1, the terminal device 1 transmits a request to the information processing system 10. In the information processing system 10, the Web server 11 receives the request and transmits the contents of the argument of the request to the Application (AP) server 12. When access to the data stored in the database is required, the AP server 12 generates a query statement according to the contents of the received argument and sends the generated query statement to the Database (DB) server 13. Then, the AP server 12 executes the application using the data extracted from the database by the DB server 13 as input data, and transmits the processing result of the application to the Web server 11. The Web server 11 transmits the processing result of the received application to the terminal device 1 as a response to the request. The above is an example of processing in a three-layer system.

情報処理システムは、1台または複数台の情報処理装置を用いて、複数構築されることがある。例えば、図1のように、情報処理システム10、20、30の3つの情報処理システムが、1台または複数台の情報処理装置を備えるデータセンタ等の環境において構築される。なお、情報処理システム20は、情報処理システム10と同様に、Webサーバ21、APサーバ22、DBサーバ23を備え、端末装置2が送信するリクエストに応じた処理を実行する。また、情報処理システム30も情報処理システム10と同様に、Webサーバ31、APサーバ32、DBサーバ33を備え、端末装置3が送信するリクエストに応じた処理を実行する。情報処理システム10、20、30のそれぞれは、システムを利用するユーザや、システムの種別(蔵書検索システム、社内人事情報の管理システム、など)が互いに異なる場合がある。 A plurality of information processing systems may be constructed by using one or a plurality of information processing devices. For example, as shown in FIG. 1, three information processing systems 10, 20, and 30 are constructed in an environment such as a data center provided with one or a plurality of information processing devices. Similar to the information processing system 10, the information processing system 20 includes a Web server 21, an AP server 22, and a DB server 23, and executes processing according to a request transmitted by the terminal device 2. Further, the information processing system 30 also includes a Web server 31, an AP server 32, and a DB server 33, like the information processing system 10, and executes processing according to a request transmitted by the terminal device 3. The information processing systems 10, 20, and 30 may have different users and system types (collection search system, in-house personnel information management system, etc.).

図1に示す、Webサーバ、APサーバ、DBサーバといった各サーバは、それぞれが1台の仮想計算機(仮想マシン、Virtual Machine、VM)である。言い換えれば、図1に示す、Webサーバ、APサーバ、DBサーバといった各サーバは、サーバソフトウェアが導入された仮想計算機である。なお、例えば、サーバ仮想化技術が適用された場合には、サーバとしてのVMの台数と、物理マシンとしての情報処理装置の台数とは必ずしも一致する必要はない。 Each server such as the Web server, AP server, and DB server shown in FIG. 1 is a virtual computer (virtual machine, virtual machine, VM). In other words, each server such as the Web server, AP server, and DB server shown in FIG. 1 is a virtual computer into which server software is installed. For example, when the server virtualization technology is applied, the number of VMs as a server and the number of information processing devices as a physical machine do not necessarily have to match.

特表2013−543171号公報Special Table 2013-543171

サーバとしての各VMには、各々のサーバの種別に対応した固有のソフトウェアの他に、サーバの種別によらず必要となる、アンチウイルスソフトウェア等のソフトウェアが導入される。したがって、VMが動作する場合には、VMにおいて、各々のサーバの種別に対応した固有のソフトウェア(サーバソフトウェア)のプロセス、その他のソフトウェアのプロセス、Operating SyStem(OS)が実行するプロセス等が動作することとなる。 In addition to the unique software corresponding to each server type, software such as anti-virus software, which is required regardless of the server type, is introduced into each VM as a server. Therefore, when the VM operates, the process of the unique software (server software) corresponding to each server type, the process of other software, the process executed by the Operating System (OS), etc. operate in the VM. It will be.

ところで、上述したサーバ仮想化技術とは別に、複数のサーバを1台のVMで動作させる技術が存在し、例えば、コンテナ技術、バーチャルコンテナなどと呼ばれる(以降ではコンテナ技術と記載する)。 By the way, apart from the server virtualization technology described above, there is a technology for operating a plurality of servers with one VM, and is called, for example, a container technology, a virtual container, etc. (hereinafter, referred to as a container technology).

コストパフォーマンスの向上のためには、複数のサーバを1台のVMで動作させた際に、VMのリソース(演算処理能力やメモリ量など)の過不足を抑えることが求められる。なお以降では、複数のサーバを1台のVMで動作させることを、サーバを「集約」すると記載することがある。そこで例えば、サーバ集約の対象となる複数のサーバそれぞれが個別のVMで動作した際のリソースの使用量を合算し、合算した使用量がVM1台のリソース上限を超過しない範囲で最大数のサーバを1つのVMに集約することが考えられる。 In order to improve cost performance, it is required to suppress excess and deficiency of VM resources (calculation processing capacity, memory amount, etc.) when a plurality of servers are operated by one VM. In the following, operating a plurality of servers with one VM may be described as "aggregating" the servers. Therefore, for example, the resource usage when each of the plurality of servers targeted for server aggregation operates in individual VMs is added up, and the maximum number of servers is selected as long as the total usage amount does not exceed the resource upper limit of one VM. It is conceivable to consolidate into one VM.

しかしながら、上述したサーバ集約においては、合算した使用量が実際の使用量よりも過剰に見積もられてしまう可能性がある。上述の合算した使用量は、サーバの種別に対応した固有のソフトウェアのプロセス以外のプロセスによるリソースの消費も、集約するサーバの数だけ発生するものとして見積もられたものである。しかし、実際にサーバを集約した場合には、固有のソフトウェアのプロセス以外のプロセスによるリソースの消費は、サーバの数ではなくVMの数に依存すると考えられる。すなわち、固有のソフトウェアのプロセス以外のプロセスによるリソースの消費は、サーバの数によらず、サーバ1つ分になると考えられる。言い換えれば、上述の合算した使用量は、集約するサーバの数をnとした場合に、固有のソフトウェアのプロセス以外のプロセスが、およそ(n−1)台分過剰に見積もられていると考えられる。 However, in the above-mentioned server aggregation, the total usage amount may be overestimated than the actual usage amount. The above-mentioned total usage is estimated as the consumption of resources by processes other than the unique software process corresponding to the server type is also generated by the number of servers to be aggregated. However, when servers are actually aggregated, resource consumption by processes other than the unique software process is considered to depend on the number of VMs, not the number of servers. That is, it is considered that the consumption of resources by processes other than the unique software process is equivalent to one server regardless of the number of servers. In other words, the above-mentioned total usage is considered to be overestimated by about (n-1) units of processes other than the unique software process, where n is the number of servers to be aggregated. Be done.

上述した過剰な見積もりを抑制するためには、1つのサーバが1つのVMで動作する場合に、VMで動作するプロセスについて、固有のソフトウェアのプロセスであるのか、固有のソフトウェアのプロセス以外のプロセスであるのかを区別することが求められる。 In order to suppress the above-mentioned overestimation, when one server operates in one VM, the process operating in the VM is either a unique software process or a process other than the unique software process. It is required to distinguish whether there is.

1つの側面では、仮想マシンで動作する複数のプロセスそれぞれについて、仮想マシンに導入されたサーバソフトウェアにより生成されるプロセスであるか否かを区別可能とすることを目的とする。 One aspect is to make it possible to distinguish whether or not each of a plurality of processes running in a virtual machine is a process generated by the server software installed in the virtual machine.

1つの態様では、コンピュータに、サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスの内の特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記仮想マシンについて確立されたコネクションの数と、前記特定のプロセスが生成する子プロセスまたはスレッドの数と、に基づいて判定し、前記特定のプロセスが前記サーバソフトウェアにより生成されるプロセスであると判定された場合、記憶部に記憶された、前記複数のプロセス間の関係を示す情報に基づいて、前記特定のプロセス以外の前記複数のプロセスについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する、処理を実行させる。 In one aspect, a specific process among a plurality of processes running in a virtual machine in which server software is installed in a computer is a process generated by the server software and a process generated by software other than the server software. Which of the above is determined based on the number of connections established for the virtual machine and the number of child processes or threads spawned by the particular process, and the particular process is spawned by the server software. When it is determined that the process is to be executed, the server software generates the plurality of processes other than the specific process based on the information stored in the storage unit indicating the relationship between the plurality of processes. A process for determining whether the process is a process or a process generated by software other than the server software is executed.

1つの側面では、仮想マシンで動作する複数のプロセスそれぞれについて、仮想マシンに導入されたサーバソフトウェアにより生成されるプロセスであるか否かが区別可能となる。 On one aspect, it is possible to distinguish whether or not each of the plurality of processes running in the virtual machine is a process generated by the server software installed in the virtual machine.

情報処理システム10、20、30の概要を示す。The outline of the information processing systems 10, 20, and 30 is shown. 本実施例の概観図を示す。An overview diagram of this embodiment is shown. 集約制御装置300のソフトウェア構成を説明する機能ブロック図を示す。A functional block diagram illustrating a software configuration of the centralized control device 300 is shown. 記憶部220の機能ブロック図を示す。The functional block diagram of the storage unit 220 is shown. 構成情報記憶部223に記憶される情報の一例を示す。An example of the information stored in the configuration information storage unit 223 is shown. ネットワーク情報記憶部222に記憶される情報の一例を示す。An example of the information stored in the network information storage unit 222 is shown. 動作情報記憶部221に記憶される情報の一例を示す。An example of the information stored in the operation information storage unit 221 is shown. ディレクトリ情報記憶部224に記憶される情報の一例を示す。An example of the information stored in the directory information storage unit 224 is shown. ディスクアクセス情報記憶部225に記憶される情報の一例を示す。An example of the information stored in the disk access information storage unit 225 is shown. 送受信量情報記憶部226に記憶される情報の一例を示す。An example of the information stored in the transmission / reception amount information storage unit 226 is shown. 本実施例におけるプロセス判定処理の手順を示すフローチャートを示す。A flowchart showing the procedure of the process determination process in this embodiment is shown. ステップS1003の処理の詳細を説明するフローチャートを示す。A flowchart illustrating the details of the process of step S1003 is shown. VMの通信設定ファイルの一例を示す。An example of a VM communication setting file is shown. ステップS1004の処理の詳細を説明するフローチャートを示す。A flowchart illustrating the details of the process of step S1004 is shown. ステップS1004の処理の詳細を説明するフローチャートを示す。A flowchart illustrating the details of the process of step S1004 is shown. ステップS1005の処理の詳細を説明するフローチャートを示す。A flowchart illustrating the details of the process of step S1005 is shown. ステップS1006の処理の詳細を説明するフローチャートを示す。A flowchart illustrating the details of the process of step S1006 is shown. ボトルネック判定情報記憶部227の一例を示す。An example of the bottleneck determination information storage unit 227 is shown. 本実施例によるサーバ固有プロセスの判定結果を利用した場合の集約処理と、前述の過剰な見積もり(比較例)とを比較したイメージを示す。An image is shown in which the aggregation process when the determination result of the server-specific process according to this embodiment is used and the above-mentioned excessive estimation (comparative example) are compared. 集約制御装置300のハードウェア構成の一例を示す。An example of the hardware configuration of the centralized control device 300 is shown.

本発明を実施する実施例について、図面とともに説明をする。 Examples of carrying out the present invention will be described with reference to the drawings.

〔概観〕
図2は、本実施例の概観図である。本実施例のシステム100は、情報処理装置200、集約制御装置300、端末装置400を備える。
[Overview]
FIG. 2 is an overview view of this embodiment. The system 100 of this embodiment includes an information processing device 200, an integrated control device 300, and a terminal device 400.

情報処理装置200上では複数台のVMが動作し、それぞれのVMはいずれかの種別のサーバとして動作する。図2では、情報処理装置が1台の態様を示しているが、情報処理装置200は複数台であっても良い。また、例えば、図2の情報処理装置200が、複数台の情報処理装置を備えるデータセンタであっても良い。 A plurality of VMs operate on the information processing device 200, and each VM operates as a server of any type. Although FIG. 2 shows a mode in which one information processing device is used, a plurality of information processing devices 200 may be used. Further, for example, the information processing device 200 of FIG. 2 may be a data center provided with a plurality of information processing devices.

集約制御装置300は、有線または無線のネットワーク500を介して、情報処理装置200と通信可能に接続されている。集約制御装置300は、情報処理装置200上で動作するVMについて、プロセスごとのリソース使用量の特定や、プロセスがサーバの種別に対応した固有のソフトウェアのプロセスであるか否かの判定を実行する。なお、以降の説明では、サーバの種別に対応した固有のソフトウェアのプロセスを、便宜上「サーバ固有プロセス」と記載することがある。サーバ固有プロセスは、VMにおけるサーバソフトウェアのプロセス、サーバソフトウェアにより生成されるプロセス、あるいは、サーバの稼動に直接関係するプロセスと言うこともできる。 The centralized control device 300 is communicably connected to the information processing device 200 via a wired or wireless network 500. The centralized control device 300 specifies the resource usage for each process of the VM operating on the information processing device 200, and determines whether or not the process is a unique software process corresponding to the server type. .. In the following description, the unique software process corresponding to the server type may be referred to as "server-specific process" for convenience. The server-specific process can also be said to be a server software process in a VM, a process generated by the server software, or a process directly related to the operation of the server.

端末装置400は、ネットワーク500を介して、情報処理装置200と通信可能に接続されている。端末装置400は、情報処理装置200上で動作するVMにより構成される情報処理システム(上述した3階層システムなどである)に対してリクエストを送信し、リクエストに対する応答(レスポンス)を受信する。なお、以降の説明では、特に断りのない限り、単にVMと記載した場合には、情報処理装置200上で動作し、サーバ1つが自装置上に導入されたVMを意味する。 The terminal device 400 is communicably connected to the information processing device 200 via the network 500. The terminal device 400 transmits a request to an information processing system (such as the above-mentioned three-layer system) configured by a VM operating on the information processing device 200, and receives a response to the request. In the following description, unless otherwise specified, when simply described as VM, it means a VM that operates on the information processing device 200 and has one server installed on its own device.

〔集約制御装置300の機能構成〕
図3Aは、集約制御装置300のソフトウェア構成を説明する機能ブロック図である。集約制御装置300は、入力部201、表示部202、通信部203、処理部210、記憶部220を備える。
[Functional configuration of centralized control device 300]
FIG. 3A is a functional block diagram illustrating a software configuration of the centralized control device 300. The aggregation control device 300 includes an input unit 201, a display unit 202, a communication unit 203, a processing unit 210, and a storage unit 220.

入力部201は、集約制御装置300に対する情報の入力を受け付ける。 The input unit 201 receives the input of information to the aggregation control device 300.

表示部202は、後述するサーバ集約の可否等の情報を出力する。 The display unit 202 outputs information such as whether or not server aggregation, which will be described later, is possible.

通信部203は、集約制御装置300が他の装置と通信を行う際のインターフェイスとなる。 The communication unit 203 serves as an interface when the centralized control device 300 communicates with another device.

処理部210は、動作監視部211、ディレクトリ情報取得部212、判定部213、集約制御部214を備える。 The processing unit 210 includes an operation monitoring unit 211, a directory information acquisition unit 212, a determination unit 213, and an aggregation control unit 214.

動作監視部211は、情報処理装置200で動作するVMの動作を監視し、動作情報を収集する。動作監視部211が収集する動作情報の詳細は後述する。 The operation monitoring unit 211 monitors the operation of the VM operating in the information processing device 200 and collects the operation information. Details of the operation information collected by the operation monitoring unit 211 will be described later.

ディレクトリ情報取得部212は、VMで動作するプロセスの実行ファイルに関する情報を取得する。ディレクトリ情報取得部212は、取得した情報を、例えば、後述するディレクトリ情報記憶部224に記憶する。 The directory information acquisition unit 212 acquires information about the execution file of the process operating in the VM. The directory information acquisition unit 212 stores the acquired information in, for example, the directory information storage unit 224 described later.

判定部213は、VMで動作するプロセスについて、プロセスがサーバ固有プロセスであるか否かを判定する。本実施例において、以降の記載では、プロセスがサーバ固有プロセスであるか否かを判定する処理を「プロセス判定処理」と記載する。 The determination unit 213 determines whether or not the process is a server-specific process for the process operating in the VM. In this embodiment, in the following description, the process of determining whether or not the process is a server-specific process is described as "process determination process".

より詳細には、本実施例では、判定部213は、第1判定部213−1、第2判定部213−2、第3判定部213−3を備える。第1判定部213−1は、Webサーバが動作するVMのプロセスについて、プロセス判定処理を実行する。第2判定部213−2は、APサーバが動作するVMのプロセスについて、プロセス判定処理を実行する。第3判定部213−3は、DBサーバが動作するVMのプロセスについて、プロセス判定処理を実行する。ただし、本実施例では、サーバがWebサーバ、APサーバ、DBサーバのいずれかであることを想定していることによるものである。したがって、判定の対象とするサーバの種別や、サーバの種別に応じた具体的な実施例の構成は、本実施例のみに限定されない。 More specifically, in this embodiment, the determination unit 213 includes a first determination unit 213-1, a second determination unit 213-2, and a third determination unit 213-3. The first determination unit 213-1 executes the process determination process for the VM process on which the Web server operates. The second determination unit 213-2 executes the process determination process for the VM process in which the AP server operates. The third determination unit 213-3 executes the process determination process for the VM process in which the DB server operates. However, in this embodiment, it is assumed that the server is one of a Web server, an AP server, and a DB server. Therefore, the type of server to be determined and the specific configuration of the embodiment according to the type of server are not limited to this embodiment.

集約制御部214は、判定部213の判定結果に基づいて、サーバの集約の可否や、集約するサーバの組合せの決定を行なう。また、集約制御部214は、決定されたサーバの組合せに基づいて、情報処理装置200に対して、サーバの集約を実行させる指示を送信することが可能である。 The aggregation control unit 214 determines whether or not the servers can be aggregated and the combination of servers to be aggregated based on the determination result of the determination unit 213. Further, the aggregation control unit 214 can transmit an instruction to execute the aggregation of the servers to the information processing apparatus 200 based on the determined combination of servers.

図3Bは、図3Aに示した記憶部220の機能ブロック図である。記憶部220は、例えば、図3Bに示すように、動作情報記憶部221、ネットワーク情報記憶部222、構成情報記憶部223、ディレクトリ情報記憶部224、ディスクアクセス情報記憶部225、送受信量情報記憶部226、ボトルネック判定情報記憶部227を備える。それぞれについては、記憶される情報の具体例とともに、詳細を後述する。 FIG. 3B is a functional block diagram of the storage unit 220 shown in FIG. 3A. As shown in FIG. 3B, the storage unit 220 includes an operation information storage unit 221, a network information storage unit 222, a configuration information storage unit 223, a directory information storage unit 224, a disk access information storage unit 225, and a transmission / reception amount information storage unit. 226, a bottleneck determination information storage unit 227 is provided. Details of each will be described later along with specific examples of stored information.

本実施例におけるプロセス判定処理について説明を行なう前に、プロセス判定処理に利用される情報の収集について説明する。 Before explaining the process determination process in this embodiment, the collection of information used for the process determination process will be described.

〔構成情報記憶部223〕
図4は、構成情報記憶部223に記憶される情報の一例を示す図である。構成情報記憶部223は、例えば、図4に示す、OS種別2231、Internet Protocol(IP)アドレス2232、ホスト名2233、サーバ種別2234といった情報を記憶する。構成情報記憶部223に記憶される情報は、情報処理装置200上で動作する各VMについての情報である。なお、本実施例において構成情報記憶部223に記憶される情報は、集約制御装置300が自装置の記憶部で保持することとしても良い。あるいは、集約制御装置300がアクセス可能な、自装置外の構成情報データベース(Configuration Management Database、CMDB)に記憶されていても良い。
[Structure information storage unit 223]
FIG. 4 is a diagram showing an example of information stored in the configuration information storage unit 223. The configuration information storage unit 223 stores information such as OS type 2231, Internet Protocol (IP) address 2232, host name 2233, and server type 2234 shown in FIG. 4, for example. The information stored in the configuration information storage unit 223 is information about each VM operating on the information processing device 200. The information stored in the configuration information storage unit 223 in this embodiment may be held by the centralized control device 300 in the storage unit of its own device. Alternatively, it may be stored in a configuration information database (Configuration Management Database, CMDB) outside the own device, which can be accessed by the centralized control device 300.

OS種別2231は、VMそれぞれのOSが何であるかを示す情報である。図4では「OS−A 64bit」、「OS−B 32bit」、「OS−B 64bit」と記載している。ただし、図4に示すデータの形式はあくまで一例であり、VMそれぞれのOSが何であるかを特定可能な情報であれば、具体的なデータの形式は適宜変更可能である。 The OS type 2231 is information indicating what the OS of each VM is. In FIG. 4, it is described as "OS-A 64 bit", "OS-B 32 bit", and "OS-B 64 bit". However, the data format shown in FIG. 4 is only an example, and the specific data format can be appropriately changed as long as the information can specify what the OS of each VM is.

IPアドレス2232は、VMに割り当てられたIPアドレスを示す情報である。図4では、説明のために「IP_X1」、「IP_X2」、「IP_X3」と記載しているが、実際は、例えばIPv4(version 4)やIPv6(version 6)に準拠したデータ形式である。 The IP address 2232 is information indicating the IP address assigned to the VM. In FIG. 4, "IP_X1", "IP_X2", and "IP_X3" are described for the sake of explanation, but in reality, the data format is compliant with, for example, IPv4 (version 4) or IPv6 (version 6).

ホスト名2233は、VMそれぞれに付与されたホスト名(コンピュータ名)を示す情報である。ホスト名2233は、VMそれぞれが一意に識別可能な態様であれば、図4に示す態様に限定されなくても良い。 The host name 2233 is information indicating the host name (computer name) given to each VM. The host name 2233 may not be limited to the mode shown in FIG. 4 as long as each VM can be uniquely identified.

サーバ種別2234は、VMそれぞれで動作するサーバの種別を示す情報である。本実施例においては、サーバの種別は、各VMに導入された業務システムの種別と言うこともできる。本実施例においては、サーバの種別として、Webサーバ、APサーバ、DBサーバを挙げている。なお、図4は、Webサーバ、APサーバ、DBサーバがそれぞれ1台、計3台分のVMの情報を示している。 The server type 2234 is information indicating the type of the server operating in each VM. In this embodiment, the type of server can also be said to be the type of business system installed in each VM. In this embodiment, Web server, AP server, and DB server are listed as the types of servers. Note that FIG. 4 shows information on VMs for a total of three VMs, one for each of the Web server, the AP server, and the DB server.

〔ネットワーク情報記憶部222〕
図5は、ネットワーク情報記憶部222に記憶される情報の一例を示す図である。ネットワーク情報記憶部222は、例えば、図5に示す、ローカル側ソケット情報2221、リモート側ソケット情報2222、状態情報2223、Process Identifier(PID)2224を記憶する。ネットワーク情報記憶部222に記憶される情報は、情報処理装置200上で動作するVMのプロセス間通信の状態に関する情報であり、例えば、netstatコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するVMに対して、netstatコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。なお、以降の説明では、上記のプロセス間通信をコネクションと記載することがある。
[Network information storage unit 222]
FIG. 5 is a diagram showing an example of information stored in the network information storage unit 222. The network information storage unit 222 stores, for example, the local side socket information 2221, the remote side socket information 2222, the state information 2223, and the Process Identifier (PID) 2224 shown in FIG. The information stored in the network information storage unit 222 is information regarding the state of inter-process communication of the VM operating on the information processing device 200. For example, the centralized control device 300 can process information by using the netstat command or the like. It can be collected from device 200. Specifically, for example, the centralized control device 300 instructs the VM operating on the information processing device 200 to execute the netstat command, so that information about the instructed VM is acquired. Then, by transmitting the information acquired by the instructed VM to the aggregation control device 300, the aggregation control device 300 can acquire the information. In the following description, the above interprocess communication may be described as a connection.

ローカル側ソケット情報2221は、コネクションにおけるローカル側のホスト名とポート番号とを含む情報である。ここでローカル側とは、情報を取得したVM側のことを指す。なお、ローカル側ソケット情報2221は、例えば、ホスト名に代えて、ホストのIPアドレスを含む情報であっても良い。図5に示すローカル側ソケット情報2221は、ホスト名とポート番号とを「:(コロン)」で区切ったデータ形式であるが、データ中のホスト名とポート番号とを区別可能であれば、図5と異なるデータ形式でも良い。また、図5では説明のため、ポート番号を例えば「PORT_#113」のように記載しているが、実際のポート番号は、例えば16ビット(0〜65535)の数値である。 The local socket information 2221 is information including a local host name and a port number in the connection. Here, the local side refers to the VM side from which the information has been acquired. The local socket information 2221 may be, for example, information including the IP address of the host instead of the host name. The local socket information 2221 shown in FIG. 5 is a data format in which the host name and the port number are separated by ": (colon)", but if the host name and the port number in the data can be distinguished, the figure is shown. A data format different from 5 may be used. Further, in FIG. 5, the port number is described as, for example, "PORT_ # 113" for the sake of explanation, but the actual port number is, for example, a 16-bit (0 to 65535) numerical value.

リモート側ソケット情報2222は、コネクションにおけるリモート側のホスト名とポート番号とを含む情報である。ここでリモート側とは、情報を取得したVMの通信相手のVM側のことを指す。リモート側ソケット情報2222についての具体的なデータ形式や変形例の採用可否については、ローカル側ソケット情報2221と同様である。 The remote side socket information 2222 is information including a remote side host name and a port number in the connection. Here, the remote side refers to the VM side of the communication partner of the VM that has acquired the information. The specific data format of the remote socket information 2222 and whether or not a modification can be adopted are the same as those of the local socket information 2221.

状態情報2223は、プロセス間通信の状態を示す情報である。図5では、例えば、「LISTEN」という状態と「ESTABLISHED」という状態とが示されている。「LISTEN」はコネクションの要求待ちであり、すなわちコネクションは確立されていない状態である。「ESTABLISHED」は、コネクションが確立されていることを示している。 The state information 2223 is information indicating the state of interprocess communication. In FIG. 5, for example, a state of "LISTEN" and a state of "ESTABLISHED" are shown. "LISTEN" is waiting for a connection request, that is, the connection has not been established. "ESTABLISHED" indicates that the connection has been established.

PID2224は、ローカル側ソケット情報2221に示されるローカル側ソケットが属しているプロセスを識別する識別情報である。図5では、例えば「P_X110」といった形式で記載をしているが、具体的には、PIDは例えばプロセスを一意に識別する番号(数値)である。 The PID 2224 is identification information that identifies the process to which the local socket belongs, which is shown in the local socket information 2221. In FIG. 5, for example, it is described in the format of "P_X110", but specifically, the PID is a number (numerical value) that uniquely identifies the process, for example.

図5に示す情報により、情報が取得されたタイミングにおける、プロセス間のコネクションの状態を特定することができる。例えば、図5の行222−#1を例に挙げると、ローカル側ソケットのホスト名とポート番号が「HOST_X1:PORT_#110」、リモート側ソケットのホスト名とポート番号が「HOST_U1:PORT_#U1」、コネクションは確立されていない状態(LISTEN)であり、ローカル側ソケットに対応するプロセスのPIDは「P_X110」であることが特定される。また、例えば、図5の行222−#2を例に挙げると、ローカル側ソケットのホスト名とポート番号が「HOST_X1:PORT_#111」、リモート側ソケットのホスト名とポート番号が「HOST_U2:PORT_#U2」、コネクションは確立されている状態(ESTABLISHED)であり、ローカル側ソケットに対応するプロセスのPIDは「P_X111」であることが特定される。 From the information shown in FIG. 5, the state of the connection between the processes can be specified at the timing when the information is acquired. For example, taking line 222- # 1 in FIG. 5 as an example, the host name and port number of the local socket are "HOST_X1: PORT_ # 110", and the host name and port number of the remote socket are "HOST_U1: PORT_ # U1". It is specified that the connection is not established (LISTEN) and the PID of the process corresponding to the local socket is "P_X110". Further, for example, in line 222- # 2 of FIG. 5, the host name and port number of the local socket is "HOST_X1: PORT_ # 111", and the host name and port number of the remote socket are "HOST_U2: PORT_". # U2 ”, the connection is established (ESTABLISHED), and it is specified that the PID of the process corresponding to the local socket is“ P_X111 ”.

〔動作情報記憶部221〕
図6は、動作情報記憶部221に記憶される情報の一例を示す図である。動作情報記憶部221は、例えば、図6に示す、PID2211、Parent Process Identifier(PPID)2212、Central Processing Unit(CPU)使用率2213、実メモリ使用量2214、仮想メモリ使用量2215、スレッド数2216、実行ファイル情報2217を記憶する。図6に示す情報は、VMで動作する各プロセスに関する情報、および各プロセスが使用するリソースの量を示す情報を含む。図6に示す情報は、例えば、psコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するVMに対して、psコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。
[Operation information storage unit 221]
FIG. 6 is a diagram showing an example of information stored in the operation information storage unit 221. The operation information storage unit 221 is, for example, shown in FIG. 6, PID2211, Parent Process Agent (PPID) 2212, Central Processing Unit (CPU) usage rate 2213, real memory usage 2214, virtual memory usage 2215, number of threads 2216, The execution file information 2217 is stored. The information shown in FIG. 6 includes information about each process running in the VM and information indicating the amount of resources used by each process. The information shown in FIG. 6 can be collected from the information processing device 200 by the centralized control device 300 by using, for example, a ps command or the like. Specifically, for example, when the centralized control device 300 instructs the VM operating on the information processing device 200 to execute the ps command, the information about the instructed VM is acquired. Then, by transmitting the information acquired by the instructed VM to the aggregation control device 300, the aggregation control device 300 can acquire the information.

PID2211は、プロセスを識別する識別情報であり、例えば、図5のPID2224と同様の態様であって良い。 The PID 2211 is identification information that identifies the process, and may have the same aspect as the PID 2224 of FIG. 5, for example.

PPID2212は、PID2211に示されるプロセスの親プロセスの識別情報を示す情報である。すなわち、PID2211に示されるプロセスは、PPID2212に示されるプロセスの子プロセスである。 PPID2212 is information indicating identification information of the parent process of the process shown in PID2211. That is, the process shown in PID 2211 is a child process of the process shown in PPID 2212.

CPU使用率2213は、VMに割り当てられたCPUリソースに対するプロセスそれぞれについてのCPU使用率を示す。 The CPU usage rate 2213 indicates the CPU usage rate for each process for the CPU resources allocated to the VM.

実メモリ使用量2214は、プロセスそれぞれが使用するメモリ容量(実メモリ容量)を示す。また、仮想メモリ使用量2215は、プロセスそれぞれが使用する仮想メモリ容量を示す。 The actual memory usage amount 2214 indicates the memory capacity (actual memory capacity) used by each process. The virtual memory usage amount 2215 indicates the virtual memory capacity used by each process.

スレッド数2216は、プロセスが生成するスレッドの数を示す情報である。 The number of threads 2216 is information indicating the number of threads generated by the process.

実行ファイル情報2217は、各プロセスの実行ファイルを特定する情報である。なお、本実施例においては、実行ファイル情報2217は、例えば、各プロセスの実行ファイル名や実行コマンド名であっても良い。図6の態様では、実行ファイル情報2217の値には各プロセスの実行ファイル名が記憶されている。 Executable file information 2217 is information that identifies an executable file of each process. In this embodiment, the executable file information 2217 may be, for example, an executable file name or an execution command name of each process. In the aspect of FIG. 6, the execution file name of each process is stored in the value of the execution file information 2217.

〔ディレクトリ情報記憶部224〕
図7は、ディレクトリ情報記憶部224に記憶される情報の一例を示す図である。ディレクトリ情報記憶部224は、例えば、図7に示す実行ファイル情報2241、パス情報2242を記憶する。
[Directory information storage unit 224]
FIG. 7 is a diagram showing an example of information stored in the directory information storage unit 224. The directory information storage unit 224 stores, for example, the executable file information 2241 and the path information 2242 shown in FIG. 7.

実行ファイル情報2241は、実行ファイルを特定する情報であり、例えば、図6の実行ファイル情報2217と同様の態様であって良い。 The executable file information 2241 is information that identifies the executable file, and may have the same mode as the executable file information 2217 of FIG. 6, for example.

パス情報2242は、実行ファイル情報2241に示される実行ファイルが格納されたディレクトリのフルパスを示す情報である。 The path information 2242 is information indicating the full path of the directory in which the executable file shown in the executable file information 2241 is stored.

図7に示す情報は、例えば、ls(LS)コマンド等を利用することにより、集約制御装置300のディレクトリ情報取得部212が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するVMに対して、lsコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。 The information shown in FIG. 7 can be collected from the information processing device 200 by the directory information acquisition unit 212 of the centralized control device 300 by using, for example, the ls (LS) command. Specifically, for example, when the centralized control device 300 instructs the VM operating on the information processing device 200 to execute the ls command, information about the instructed VM is acquired. Then, by transmitting the information acquired by the instructed VM to the aggregation control device 300, the aggregation control device 300 can acquire the information.

〔ディスクアクセス情報記憶部225〕
図8は、ディスクアクセス情報記憶部225に記憶される情報の一例を示す図である。ディスクアクセス情報記憶部225は、VMに割り当てられた記憶領域(ストレージ領域、ディスク領域)に対する各プロセスのアクセス状況、具体的にはアクセスのデータ量を示す情報を記憶する。ディスクアクセス情報記憶部225は、例えば、図8に示すように、PID2251、読み込みデータ量2252、書き込みデータ量2253を記憶する。
[Disk access information storage unit 225]
FIG. 8 is a diagram showing an example of information stored in the disk access information storage unit 225. The disk access information storage unit 225 stores information indicating the access status of each process to the storage area (storage area, disk area) allocated to the VM, specifically, the amount of access data. For example, as shown in FIG. 8, the disk access information storage unit 225 stores the PID 2251, the read data amount 2252, and the write data amount 2253.

PID2251は、プロセスを識別する識別情報であり、例えば、図5のPID2224と同様の態様であって良い。 The PID 2251 is identification information that identifies the process, and may have the same aspect as the PID 2224 of FIG. 5, for example.

読み込みデータ量2252は、プロセスによるVMに割り当てられた記憶領域から読み出す単位時間当たりのデータ量を示す。 The read data amount 2252 indicates the amount of data read from the storage area allocated to the VM by the process per unit time.

書き込みデータ量2253は、プロセスによるVMに割り当てられた記憶領域に対する単位時間当たりの書き込みデータ量を示す。 The write data amount 2253 indicates the write data amount per unit time for the storage area allocated to the VM by the process.

図8に示す情報は、例えば、iotopコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するVMに対して、iotopコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。 The information shown in FIG. 8 can be collected from the information processing device 200 by the centralized control device 300 by using, for example, an iotop command or the like. Specifically, for example, the centralized control device 300 instructs the VM operating on the information processing device 200 to execute the iotop command, so that information about the instructed VM is acquired. Then, by transmitting the information acquired by the instructed VM to the aggregation control device 300, the aggregation control device 300 can acquire the information.

〔送受信量情報記憶部226〕
図9は、送受信量情報記憶部226に記憶される情報の一例を示す図である。送受信量情報記憶部226は、端末装置400に対するWebサーバのデータ送受信量を特定する情報を記憶する。送受信量情報記憶部226は、例えば、ネットワークインターフェイス2261、送信データ量2262、受信データ量2263を記憶する。
[Transmission / reception amount information storage unit 226]
FIG. 9 is a diagram showing an example of information stored in the transmission / reception amount information storage unit 226. The transmission / reception amount information storage unit 226 stores information that specifies the data transmission / reception amount of the Web server for the terminal device 400. The transmission / reception amount information storage unit 226 stores, for example, the network interface 2261, the transmission data amount 2262, and the reception data amount 2263.

ネットワークインターフェイス2261は、WebサーバのNetwork Interface Card(NIC)の識別情報である。 The network interface 2261 is identification information of the Network Interface Card (NIC) of the Web server.

送信データ量2262は、Webサーバから端末装置400への単位時間当たりのデータ送信量を示す情報である。 The transmission data amount 2262 is information indicating the data transmission amount per unit time from the Web server to the terminal device 400.

受信データ量2263は、Webサーバが端末装置400から受信する単位時間当たりのデータ受信量を示す情報である。 The received data amount 2263 is information indicating the amount of data received per unit time received by the Web server from the terminal device 400.

図9に示す情報は、例えば、ifconfigコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するWebサーバのVMに対して、ifconfigコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。 The information shown in FIG. 9 can be collected by the centralized control device 300 from the information processing device 200 by using, for example, an ifconfig command or the like. Specifically, for example, the centralized control device 300 instructs the VM of the Web server operating on the information processing device 200 to execute the ifconfig command, so that information about the instructed VM is acquired. To. Then, by transmitting the information acquired by the instructed VM to the aggregation control device 300, the aggregation control device 300 can acquire the information.

動作情報記憶部221、ネットワーク情報記憶部222、ディスクアクセス情報記憶部225、送受信量情報記憶部226のそれぞれに記憶される情報は、例えば、集約制御装置300が所定の周期で複数回取得する。構成情報記憶部223、ディレクトリ情報224に記憶される情報については、例えば、集約制御装置300があるタイミングで一度取得したものであって良い。構成情報記憶部223、ディレクトリ情報224に記憶される情報については、システムの構成変更が発生しなければ変化の起こらない情報であるためである。ただし、構成情報記憶部223、ディレクトリ情報224に記憶される情報が、例えば、異なる複数のタイミングで取得されたうちの最新のタイミングで取得された情報であっても構わない。 The information stored in each of the operation information storage unit 221, the network information storage unit 222, the disk access information storage unit 225, and the transmission / reception amount information storage unit 226 is acquired, for example, by the aggregation control device 300 a plurality of times in a predetermined cycle. The information stored in the configuration information storage unit 223 and the directory information 224 may be, for example, once acquired at a certain timing by the aggregation control device 300. This is because the information stored in the configuration information storage unit 223 and the directory information 224 is information that does not change unless the system configuration is changed. However, the information stored in the configuration information storage unit 223 and the directory information 224 may be, for example, the information acquired at the latest timing among the information acquired at a plurality of different timings.

〔判定処理の詳細〕
本実施例におけるプロセス判定処理について、詳細を説明する。
[Details of judgment processing]
The process determination process in this embodiment will be described in detail.

図10は、本実施例におけるプロセス判定処理の手順を示すフローチャートである。 FIG. 10 is a flowchart showing the procedure of the process determination process in this embodiment.

まず、判定部213は、構成情報記憶部223に情報が記憶されているVMの中から1つのVMを選択し、プロセス判定処理の対象とする(ステップS1001)。 First, the determination unit 213 selects one VM from the VMs whose information is stored in the configuration information storage unit 223 and targets it for the process determination process (step S1001).

次に判定部213は、ステップS1001において選択されたVMで動作するサーバの種別を判定する(ステップS1002)。例えば、判定部213は、構成情報記憶部223において、ステップS1001において選択されたVMのホスト名2233と関連付けられているサーバ種別2234を参照することで、サーバの種別を判定することとしても良い。サーバの種別がWebサーバである場合、第1判定部213−1が第1の判定処理を実行する(ステップS1003)。サーバの種別がAPサーバである場合、第2判定部213−2が第2の判定処理(ステップS1004)および第3の判定処理を実行する(ステップS1005)を実行する。サーバの種別がDBサーバである場合、第3判定部213−3が第4の判定処理を実行する(ステップS1006)。ステップS1003〜S1006のそれぞれは、VMのプロセスについて、サーバ固有プロセスであるか否かを判定する処理である。ステップS1003〜S1006のそれぞれについては、詳細を後述する。 Next, the determination unit 213 determines the type of server operating on the VM selected in step S1001 (step S1002). For example, the determination unit 213 may determine the server type by referring to the server type 2234 associated with the host name 2233 of the VM selected in step S1001 in the configuration information storage unit 223. When the server type is a Web server, the first determination unit 213-1 executes the first determination process (step S1003). When the server type is an AP server, the second determination unit 213-2 executes the second determination process (step S1004) and the third determination process (step S1005). When the server type is a DB server, the third determination unit 213-3 executes the fourth determination process (step S1006). Each of steps S1003 to S1006 is a process of determining whether or not the VM process is a server-specific process. Details of each of steps S1003 to S1006 will be described later.

ステップS1003〜S1006のいずれかの処理が実行された後、判定部213は、全てのVMがステップS1001で対象として選択されたかを判定する(ステップS1007)。ここで、全てのVMとは、構成情報記憶部223に情報が記憶されている全てのVMとしても良いし、構成情報記憶部223に情報が記憶されている全てのVMの中から指定された、いくつかのVMであっても良い。全てのVMが選択されていないと判定された場合(ステップS1007、NO)、ステップS1001の処理に戻る。一方、全てのVMが選択されたと判定された場合(ステップS1007、YES)、図10に示す一連の処理は終了する。 After any of the processes of steps S1003 to S1006 is executed, the determination unit 213 determines whether all the VMs have been selected as targets in step S1001 (step S1007). Here, all VMs may be all VMs in which information is stored in the configuration information storage unit 223, or are designated from all VMs in which information is stored in the configuration information storage unit 223. , May be some VM. If it is determined that not all VMs have been selected (step S1007, NO), the process returns to step S1001. On the other hand, when it is determined that all the VMs have been selected (step S1007, YES), the series of processes shown in FIG. 10 ends.

以降では、ステップS1003〜S1006のそれぞれで実行される処理について、詳細を説明する。なお、以降の説明で、図5および図6を用いて詳細を説明することがあるが、説明においては、図5および図6に示される情報は、同一のタイミングで取得されたものとする。 Hereinafter, the processing executed in each of steps S1003 to S1006 will be described in detail. In the following description, details may be described with reference to FIGS. 5 and 6, but in the description, it is assumed that the information shown in FIGS. 5 and 6 is acquired at the same timing.

〔ステップS1003の詳細〕
図11は、図10のステップS1003の処理の詳細を説明するフローチャートである。図11の処理は、本実施例においては、サーバの種別がWebサーバと判定されたVMのプロセスに対して、第1判定部213−1が実行する処理である。
[Details of step S1003]
FIG. 11 is a flowchart illustrating the details of the process of step S1003 of FIG. In this embodiment, the process of FIG. 11 is a process executed by the first determination unit 213-1 for the VM process whose server type is determined to be a Web server.

まず、第1判定部213−1は、対象のVM(Webサーバ)が端末装置400からリクエストを受信する際に利用するポートのポート番号を取得する(ステップS1101)。リクエストを受信する際に利用するポートのポート番号は、例えば、対象のVMの通信設定ファイルおいて、サービス名が「http」または「https」であるTransmission Control Protocol(TCP)通信に割り当てられたポート番号である。 First, the first determination unit 213-1 acquires the port number of the port used when the target VM (Web server) receives the request from the terminal device 400 (step S1101). The port number of the port used when receiving the request is, for example, the port assigned to the Transmission Control Protocol (TCP) communication whose service name is "http" or "https" in the communication setting file of the target VM. It is a number.

図12は、VMの通信設定ファイルの一例を示す図である。図12の通信設定ファイル1200では、領域1201にサービス名が示され、領域1202にポート番号と通信プロトコルが示される。 FIG. 12 is a diagram showing an example of a VM communication setting file. In the communication setting file 1200 of FIG. 12, the service name is shown in the area 1201, and the port number and the communication protocol are shown in the area 1202.

図11の説明に戻って、ステップS1101の後、第1判定部213−1は、確立されたコネクションの数を特定する(ステップS1102)。ここで、確立されたコネクションの数は、例えば、ネットワーク情報記憶部222に記憶された情報に基づいて特定することができる。例えば、第1判定部213−1は、ステップS1101で取得されたポート番号をローカル側ソケット情報2221に含み、かつ、状態情報2223の値が「ESTABLISHED」である条件に該当するコネクションを特定する。そして、第1判定部213−1は、該当するコネクションの合計数を確立されたコネクションの数として特定する。本実施例では、図5における、データ行222−#2、222−#3、222−#4に示されるコネクションが該当することとし、確立されたコネクションの数は3とする。 Returning to the description of FIG. 11, after step S1101, the first determination unit 213-1 specifies the number of established connections (step S1102). Here, the number of established connections can be specified, for example, based on the information stored in the network information storage unit 222. For example, the first determination unit 213-1 specifies a connection corresponding to the condition that the port number acquired in step S1101 is included in the local side socket information 2221 and the value of the state information 2223 is “ESTABLISHED”. Then, the first determination unit 213-1 specifies the total number of the corresponding connections as the number of established connections. In this embodiment, the connections shown in the data rows 222- # 2, 222- # 3, and 222- # 4 in FIG. 5 correspond to each other, and the number of established connections is 3.

ステップS1102の処理の終了後、第1判定部213−1は、ステップS1102で選択したプロセスについて、子プロセスの数を特定する(ステップS1103)。子プロセスの数は、例えば、あるタイミングで取得された動作情報において、ステップS1102で選択したプロセスを親プロセスとするプロセスの数としても良い。ここで、第1判定部213−1は、親プロセスの識別情報(PPID)と特定した子プロセスの数とを対応付けて記憶しておく。例えば図6に示す221−#1の範囲のプロセスがWebサーバのプロセスとして取得されたとすると、子プロセス数が3のPPID=P_X110、子プロセス数が1のPPID=P_X120、子プロセス数が1のPPID=P_X130、子プロセス数が1のPPID=P_X140が特定される。 After the processing of step S1102 is completed, the first determination unit 213-1 specifies the number of child processes for the process selected in step S1102 (step S1103). The number of child processes may be, for example, the number of processes having the process selected in step S1102 as the parent process in the operation information acquired at a certain timing. Here, the first determination unit 213-1 stores the identification information (PPID) of the parent process and the number of the specified child processes in association with each other. For example, assuming that the processes in the range of 221 # 1 shown in FIG. 6 are acquired as the processes of the Web server, PPI D = P_X110 having 3 child processes, PPI D = P_X120 having 1 child process, and 1 child process. PPID = P_X130 and PPID = P_X140 having 1 child process are specified.

第1判定部213−1は、ステップS1103で子プロセスの数が特定された親プロセスの中から、1つの親プロセスを選択する(ステップS1104)。 The first determination unit 213-1 selects one parent process from the parent processes for which the number of child processes has been specified in step S1103 (step S1104).

そして、第1判定部213−1は、ステップS1103で特定した、確立されたコネクションの数と、ステップS1104で選択した親プロセスの子プロセスの数とを比較する。そして、第1判定部213−1は、確立されたコネクションの数と子プロセスの数とが一致するか否かを判定する(ステップS1105)。 Then, the first determination unit 213-1 compares the number of established connections identified in step S1103 with the number of child processes of the parent process selected in step S1104. Then, the first determination unit 213-1 determines whether or not the number of established connections and the number of child processes match (step S1105).

確立されたコネクションの数と子プロセスの数とが一致すると判定した場合(ステップS1105、YES)、第1判定部213−1は、ステップS1104で選択された親プロセスおよび親プロセスの子プロセスを、サーバ固有プロセスであると判定する(ステップS1106)。一方、確立されたコネクションの数と子プロセスの数とが一致すると判定しない場合(ステップS1105、NO)、第1判定部213−1は、ステップS1104で選択された親プロセスおよび親プロセスの子プロセスを、サーバ固有プロセスではないと判定する(ステップS1107)。 When it is determined that the number of established connections and the number of child processes match (step S1105, YES), the first determination unit 213-1 determines the parent process selected in step S1104 and the child process of the parent process. It is determined that the process is server-specific (step S1106). On the other hand, if it is not determined that the number of established connections and the number of child processes match (step S1105, NO), the first determination unit 213-1 determines the parent process selected in step S1104 and the child process of the parent process. Is not a server-specific process (step S1107).

例えば、図6の例では、PPID=P_X110のプロセスは子プロセス数が3であり、確立されたコネクションの数である3と一致するので、サーバ固有プロセスであると判定される。一方、PPID=P_X120のプロセス、PPID=P_X130のプロセス、PPID=P_X140のプロセスは、子プロセス数が1であり、確立されたコネクションの数である3と一致しないので、サーバ固有プロセスではないと判定される。 For example, in the example of FIG. 6, the process of PPID = P_X110 has 3 child processes, which matches 3 which is the number of established connections, and thus is determined to be a server-specific process. On the other hand, the process of PPI D = P_X120, the process of PPI D = P_X130, and the process of PPI D = P_X140 are determined not to be server-specific processes because the number of child processes is 1 and does not match the number of established connections of 3. Will be done.

ステップS1106またはS1107の後、第1判定部213−1は、ステップS1104において全ての親プロセスが選択されたか否かを判定する(ステップS1108)。全ての親プロセスが選択されていない場合(ステップS1108、NO)、ステップS1104に戻り、未選択の親プロセスを選択してステップS1105〜S1108の処理を繰り返す。一方、全ての親プロセスが選択された場合(ステップS1108、YES)、第1判定部213−1は、ステップS1109の処理を実行する。 After step S1106 or S1107, the first determination unit 213-1 determines whether or not all the parent processes have been selected in step S1104 (step S1108). If all parent processes are not selected (steps S1108, NO), the process returns to step S1104, selects an unselected parent process, and repeats the processes of steps S1105 to S1108. On the other hand, when all the parent processes are selected (step S1108, YES), the first determination unit 213-1 executes the process of step S1109.

ステップS1101〜S1108の処理により、サーバ固有プロセスが特定された後、第1判定部213−1は、サーバ固有プロセスの追加特定処理を実行する(ステップS1109)。 After the server-specific process is specified by the processes of steps S1101 to S1108, the first determination unit 213-1 executes the additional identification process of the server-specific process (step S1109).

ステップS1109において、第1判定部213−1は、特定されたサーバ固有プロセスについて、プロセスの実行ファイルが格納されたディレクトリを特定する。なお、ステップS1101〜S1108の処理によりサーバ固有プロセスが複数特定されている場合は、その複数のサーバ固有プロセスおよび子プロセスがステップS1109の処理の対象となる。実行ファイルが格納されたディレクトリを特定するためには、例えば、第1判定部213−1は、動作情報記憶部221において、サーバ固有プロセスのPIDと対応付けられた実行ファイル情報2217に示される実行ファイルを特定する。そして、第1判定部213−1は、ディレクトリ情報記憶部224を参照して、特定した実行ファイルに対応するディレクトリを特定する。具体的には、ディレクトリ情報記憶部224において、特定した実行ファイル(実行ファイル情報2241の値)と対応付けられているパス情報2242に示される実行ファイルのフルパスに基づいて、実行ファイルが格納されたディレクトリが特定される。 In step S1109, the first determination unit 213-1 specifies the directory in which the process execution file is stored for the specified server-specific process. When a plurality of server-specific processes are specified by the processing of steps S1101 to S1108, the plurality of server-specific processes and child processes are the targets of the processing of step S1109. In order to specify the directory in which the executable file is stored, for example, the first determination unit 213-1 is the execution information storage unit 221 shown in the executable file information 2217 associated with the PID of the server-specific process. Identify the file. Then, the first determination unit 213-1 specifies the directory corresponding to the specified execution file with reference to the directory information storage unit 224. Specifically, in the directory information storage unit 224, the executable file is stored based on the full path of the executable file shown in the path information 2242 associated with the specified executable file (value of the executable file information 2241). The directory is identified.

そして、第1判定部213−1は、ディレクトリにおける実行ファイルの格納位置の位置関係に基づいて、サーバ固有プロセスの判定を行なう。具体的には、第1判定部213−1は、特定したディレクトリおよび特定したディレクトリの配下のディレクトリに格納された実行ファイルに対応するプロセスについてもサーバ固有プロセスであると判定する。 Then, the first determination unit 213-1 determines the server-specific process based on the positional relationship of the storage position of the executable file in the directory. Specifically, the first determination unit 213-1 determines that the process corresponding to the specified directory and the execution file stored in the directory under the specified directory is also a server-specific process.

例えば、図6および図7を例に挙げると、前述の例でサーバ固有プロセスであると判定されたPPID=P_X110のプロセスの実行ファイル名はCMD_#1であり、実行ファイルのディレクトリのフルパスは「/opt/local/bin/CMD_#1」である。実行ファイル名がCMD_#4の実行ファイルは、実行ファイル名がCMD_#1の実行ファイルと同一のディレクトリに格納されている。実行ファイル名がCMD_#5の実行ファイルは、実行ファイル名がCMD_#1の実行ファイルのディレクトリの配下のディレクトリに格納されている。実行ファイル名がCMD_#6の実行ファイルは、実行ファイル名がCMD_#1の実行ファイルのディレクトリと同一でも配下でもないディレクトリに格納されている。したがって、第1判定部213−1は、図6の情報を参照して、実行ファイル名がCMD_#4であるPPID=P_X120のプロセス、実行ファイル名がCMD_#5であるPPID=P_X130のプロセスをサーバ固有プロセスであると判定する。一方、第1判定部213−1は、実行ファイル名がCMD_#6であるPPID=P_X140のプロセスはサーバ固有プロセスでないと判定する。なお、PPID=P_X120のプロセス、PPID=P_X130のプロセスは、ステップS1105〜S1107の説明で記載した例においては、サーバ固有プロセスであると判定されなかったプロセスである。 For example, in FIGS. 6 and 7, the executable file name of the process of PPI D = P_X110 determined to be a server-specific process in the above example is CMD_ # 1, and the full path of the directory of the executable file is ". / Opt / local / bin / CMD_ # 1 ". The executable file with the executable file name CMD_ # 4 is stored in the same directory as the executable file with the executable file name CMD_ # 1. The executable file having the executable file name CMD_ # 5 is stored in a directory under the directory of the executable file having the executable file name CMD_ # 1. The executable file having the executable file name CMD_ # 6 is stored in a directory that is neither the same as the directory of the executable file whose executable file name is CMD_ # 1 nor under it. Therefore, the first determination unit 213-1 refers to the information in FIG. 6 to perform a process having PPI D = P_X120 having an executable file name of CMD_ # 4 and a process having PCID = P_X130 having an executable file name CMD_ # 5. Determined to be a server-specific process. On the other hand, the first determination unit 213-1 determines that the process with PPID = P_X140 whose execution file name is CMD_ # 6 is not a server-specific process. The process of PPID = P_X120 and the process of PPID = P_X130 are processes that are not determined to be server-specific processes in the examples described in the description of steps S1105 to S1107.

ステップS1109の処理により特定されるサーバ固有プロセスは、サーバ固有プロセスの実行ファイルと同一のディレクトリ、またはサーバ固有プロセスの実行ファイルのディレクトリの配下のディレクトリに格納された実行ファイルにより生成されるプロセスである。ステップS1109の処理により、ステップS1101〜S1108では特定しきれなかったプロセスの中からもサーバプロセスを抽出することができる。 The server-specific process identified by the process of step S1109 is a process generated by an execution file stored in the same directory as the execution file of the server-specific process or a directory under the directory of the execution file of the server-specific process. .. By the process of step S1109, the server process can be extracted from the processes that could not be specified in steps S1101 to S1108.

ステップS1109の処理の終了後、図11に示す一連の処理は終了する。なお、以上の説明は、あるタイミングにおいて取得されたプロセスの動作状況、ネットワークの状況に基づく一連の処理を説明した。ただし、複数のタイミングで(例えば、所定の周期で定期的に)プロセスの動作状況、ネットワークの状況が取得されている場合は、各タイミングのプロセスの動作状況、ネットワークの状況に基づいて図11に示す一連の処理が複数回実行されても良い。そして、第1判定部213−1が、複数回の実行の中で所定回数(例えば1回)以上、サーバ固有プロセスである判定されたプロセスをサーバ固有プロセスと特定し、サーバ固有プロセスである判定された回数が所定回数未満のプロセスをサーバ固有プロセスではないと判断することとしても良い。 After the process of step S1109 is completed, the series of processes shown in FIG. 11 is completed. The above description has described a series of processes based on the operating status of the process and the network status acquired at a certain timing. However, if the process operation status and network status are acquired at a plurality of timings (for example, periodically at a predetermined cycle), FIG. 11 shows the process operation status and network status at each timing. The series of processes shown may be executed a plurality of times. Then, the first determination unit 213-1 identifies the process determined to be a server-specific process as a server-specific process more than a predetermined number of times (for example, once) in a plurality of executions, and determines that the process is a server-specific process. It may be determined that the process that has been executed less than the predetermined number of times is not a server-specific process.

Webサーバのプロセス(受付プロセス)は、端末装置400からのリクエストを受信すると、プロセスについての端末装置400とのコネクションが確立(「ESTABLISHED」)され、子プロセスを生成する。子プロセスの生成後は、リクエストに対応した処理は子プロセスに引き継がれる。そして、子プロセスについての端末装置400とのコネクションが確立されるとともに、親プロセスについての端末装置400とのコネクションは要求待ち状態(「LISTEN」)となる。リクエストに対応した処理か完了した場合、子プロセスは消滅するが、完了までの間、すなわち子プロセスが存在する間は、コネクションの確立が維持される。そのため、Webサーバへの確立されたコネクションの数とWebサーバのプロセス(受付プロセス)の子プロセスの数は等しくなる。この特性を用いて、Webサーバについてのサーバ固有プロセスを特定することができる。本実施例の特定手法では、コネクションの数と子プロセス数との比較によりサーバ固有プロセスを特定する。そのため、例えば、リクエストを受信したタイミングで偶発的にリソース使用量が上がるようなプロセスはサーバ固有プロセスではないと判定可能である点で、判定精度が向上する。 When the process (acceptance process) of the Web server receives the request from the terminal device 400, the connection with the terminal device 400 for the process is established (“ESTABLISHED”), and a child process is generated. After the child process is created, the processing corresponding to the request is taken over by the child process. Then, the connection with the terminal device 400 for the child process is established, and the connection with the terminal device 400 for the parent process is in the request waiting state (“LISTEN”). When the processing corresponding to the request is completed, the child process disappears, but the establishment of the connection is maintained until the completion, that is, while the child process exists. Therefore, the number of established connections to the Web server and the number of child processes of the Web server process (accepting process) are equal. This characteristic can be used to identify a server-specific process for a Web server. In the specific method of this embodiment, the server-specific process is specified by comparing the number of connections with the number of child processes. Therefore, for example, the determination accuracy is improved in that it can be determined that the process whose resource usage accidentally increases at the timing of receiving the request is not a server-specific process.

また、特定したサーバ固有プロセスの実行ファイルのディレクトリには、コネクションの数と子プロセス数との比較では特定できないものの、サーバ固有プロセスであるプロセスの実行ファイルが格納されている。したがって、特定したサーバ固有プロセスの実行ファイルと同一のディレクトリまたは配下のディレクトリに実行ファイルが格納されたプロセスについてもサーバ固有プロセスと特定することで、さらに判定精度を向上させることができる。ここで抽出されるプロセスは、例えば、ログの出力を行なうプロセスや、不要なリソースの回収を実行するプロセス等であり、例えばバックグラウンドプロセスなどと呼ばれる。 Further, in the directory of the executable file of the specified server-specific process, the executable file of the process that is the server-specific process is stored, although it cannot be specified by comparing the number of connections and the number of child processes. Therefore, the determination accuracy can be further improved by specifying the process whose execution file is stored in the same directory as the execution file of the specified server-specific process or the directory under it as the server-specific process. The process extracted here is, for example, a process for outputting a log, a process for collecting unnecessary resources, and the like, and is called, for example, a background process.

〔ステップS1004の詳細〕
図13および図14は、図10のステップS1004の処理の詳細を説明するフローチャートである。図13および図14の処理は、本実施例においては、サーバの種別がAPサーバと判定されたVMのプロセスに対して、第2判定部213−2が実行する処理である。
[Details of step S1004]
13 and 14 are flowcharts illustrating the details of the process of step S1004 of FIG. In this embodiment, the processes of FIGS. 13 and 14 are the processes executed by the second determination unit 213-2 for the VM process whose server type is determined to be the AP server.

まず、第2判定部213−2は、対象のVM(APサーバ)について、Webサーバとの間で確立されたコネクションを特定する(ステップS1301)。例えば、第2判定部213−2は、対象のVMとWebサーバのVMそれぞれについて、ネットワーク情報記憶部222に記憶された情報に基づいて、確立されたコネクションを特定することができる。 First, the second determination unit 213-2 identifies the connection established with the Web server for the target VM (AP server) (step S1301). For example, the second determination unit 213-2 can identify the established connection for each of the target VM and the VM of the Web server based on the information stored in the network information storage unit 222.

より詳細には、例えば、第2判定部213−2は、対象のVM(APサーバ)について、ネットワーク情報記憶部222に記憶された情報が下記の条件全てを満たすコネクションを、確立されたコネクションであると判定する。
条件1:ローカル側ソケット情報2221の値(ホスト名とポート番号)が、WebサーバのVMのリモート側ソケット情報2222の値と一致する。
条件2:リモート側ソケット情報2222の値が、WebサーバのVMのローカル側ソケット情報2221の値と一致する。
条件3:状態情報2223に示されるコネクションの状態が「ESTABLISHED」である。
More specifically, for example, the second determination unit 213-2 establishes a connection for the target VM (AP server) in which the information stored in the network information storage unit 222 satisfies all of the following conditions. Judge that there is.
Condition 1: The value (host name and port number) of the local socket information 2221 matches the value of the remote socket information 2222 of the VM of the Web server.
Condition 2: The value of the remote side socket information 2222 matches the value of the local side socket information 2221 of the VM of the Web server.
Condition 3: The state of the connection shown in the state information 2223 is "ESTABLISHED".

なお、上記の条件1〜3に加え、さらに下記が条件として加えられても良い。
条件4:WebサーバのVMの状態情報2223に示されるコネクションの状態も「ESTABLISHED」である。
条件5:コネクションのプロトコルがTCPである。
In addition to the above conditions 1 to 3, the following may be added as conditions.
Condition 4: The connection status shown in the VM status information 2223 of the Web server is also "ESTABLISHED".
Condition 5: The connection protocol is TCP.

図5を用いて具体例を説明する。例えば、図5のデータ行222−#8〜222−#11に示されるコネクションがAPサーバのコネクションとして特定されたとする。この場合、データ行222−#9、222−#10、222−#11のコネクションについて上記の条件1〜条件3を満たす、データ行222−#5〜222−#7に示されるWebサーバのコネクションが存在する。したがって、データ行222−#9、222−#10、222−#11のコネクションは、APサーバについての確立されたコネクションであると特定される。なお、図5の例では条件1〜3に加え、条件4、5も満たす。 A specific example will be described with reference to FIG. For example, suppose that the connections shown in the data lines 222- # 8 to 222- # 11 in FIG. 5 are specified as the AP server connections. In this case, the connection of the Web server shown in the data line 222- # 5-222- # 7, which satisfies the above conditions 1 to 3 for the connection of the data lines 222-# 9, 222- # 10, and 222- # 11. Exists. Therefore, the connections in data rows 222- # 9, 222- # 10, 222- # 11 are identified as established connections for the AP server. In the example of FIG. 5, in addition to the conditions 1 to 3, conditions 4 and 5 are also satisfied.

ステップS1301の実行後、第2判定部213−2は、ステップS1301で特定された、確立されたコネクションのそれぞれについて、対応するプロセスを特定する(ステップS1302)。具体的には、第2判定部213−2は、確立されたコネクションのそれぞれについて、ローカル側ソケットが属しているプロセスを特定する。図5においては、データ行222−#9、222−#10、222−#11に示される、PID=P_X211、P_X221、P_X231のプロセスが該当する。 After executing step S1301, the second determination unit 213-2 identifies the corresponding process for each of the established connections identified in step S1301 (step S1302). Specifically, the second determination unit 213-2 identifies the process to which the local socket belongs for each of the established connections. In FIG. 5, the processes of PID = P_X211, P_X221, and P_X231 shown in data rows 222- # 9, 222- # 10, and 222- # 11 are applicable.

さらに、第2判定部213−2は、ステップS1302で特定されたプロセスそれぞれの親プロセスを特定する(ステップS1303)。なお、ここで特定される親プロセスは、自身がWebサーバとのコネクションを確立している、またはWebサーバからの接続待ち状態であるプロセスのみを対象とする。Webサーバからの接続待ち状態であるプロセスは、例えば、図5に示すリモート側ソケット情報2222の値にWebサーバのホスト名を含み、状態情報2223に示されるコネクションの状態が「LISTEN」であることを条件として特定可能である。本実施例では、図5および図6より、PPID=P_X210のプロセスが親プロセスとして特定される。 Further, the second determination unit 213-2 specifies the parent process of each process specified in step S1302 (step S1303). The parent process specified here targets only the processes that have established a connection with the Web server or are waiting for a connection from the Web server. The process waiting for a connection from the Web server includes, for example, the host name of the Web server in the value of the remote socket information 2222 shown in FIG. 5, and the connection state shown in the state information 2223 is "LISTEN". Can be specified as a condition. In this embodiment, from FIGS. 5 and 6, the process with PPI D = P_X210 is specified as the parent process.

第2判定部213−2は、ステップS1303で特定された親プロセスの中から、1つのプロセスを選択する(ステップS1304)。 The second determination unit 213-2 selects one process from the parent processes identified in step S1303 (step S1304).

第2判定部213−2は、ステップS1304で選択したプロセスそれぞれについての、確立されたコネクションの数を特定する(ステップS1305)。 The second determination unit 213-2 specifies the number of established connections for each process selected in step S1304 (step S1305).

例えば、ステップS1304で選択されたプロセスがPPID=P_X210の親プロセスであったとすると、図5および図6より、確立されたコネクションの数は1となる。 For example, assuming that the process selected in step S1304 is the parent process of PPID = P_X210, the number of established connections is 1 from FIGS. 5 and 6.

第2判定部213−2は、ステップS1304で選択したプロセスそれぞれについての子プロセスの数を特定する(ステップS1306)。 The second determination unit 213-2 specifies the number of child processes for each of the processes selected in step S1304 (step S1306).

例えば、ステップS1304で選択されたプロセスがPPID=P_X210の親プロセスであったとすると、図6より、子プロセスの数は3となる。
第2判定部213−2は、ステップS1304で選択したプロセスそれぞれについて、確立されたコネクションの数と、子プロセスの数とを比較する。そして、第2判定部213−2は、子プロセスの数が確立されたコネクションの数以上であるか否かを判定する(ステップS1307)。
For example, if the process selected in step S1304 is the parent process of PPID = P_X210, the number of child processes is 3 from FIG.
The second determination unit 213-2 compares the number of established connections with the number of child processes for each of the processes selected in step S1304. Then, the second determination unit 213-2 determines whether or not the number of child processes is equal to or greater than the number of established connections (step S1307).

子プロセスの数が確立されたコネクションの数以上であると判定した場合(ステップS1307、YES)、第2判定部213−2は、ステップS1304で選択されたプロセスを、サーバ固有プロセスであると判定する(ステップS1308)。一方、子プロセスの数が確立されたコネクションの数以上でないと判定した場合(ステップS1307、NO)、第2判定部213−2は、ステップS1302で選択されたプロセスを、サーバ固有プロセスではないと判定する(ステップS1309)。 When it is determined that the number of child processes is equal to or greater than the number of established connections (step S1307, YES), the second determination unit 213-2 determines that the process selected in step S1304 is a server-specific process. (Step S1308). On the other hand, when it is determined that the number of child processes is not equal to or greater than the number of established connections (step S1307, NO), the second determination unit 213-2 does not consider the process selected in step S1302 to be a server-specific process. Determine (step S1309).

例えば、ステップS1304で選択されたプロセスがPPID=P_X210の親プロセスであったとすると、前述の例示のように、子プロセスの数は3であり、確立されたコネクションの数である1以上であるので、第2判定部213−2は、PPID=P_X210の親プロセス(およびその子プロセス)を、サーバ固有プロセスであると判定する。 For example, if the process selected in step S1304 is the parent process of PPID = P_X210, the number of child processes is 3 and is 1 or more, which is the number of established connections, as in the above example. , The second determination unit 213-2 determines that the parent process (and its child process) of PPID = P_X210 is a server-specific process.

ステップS1308またはステップS1309の処理を終了後、第2判定部213−2は、ステップS1304において全ての親プロセスが選択されたか否かを判定する(ステップS1310)。全ての親プロセスが選択されていないと判定した場合(ステップS1310、NO)、ステップS1304に戻り、第2判定部213−2は、未選択のプロセスを1つ選択して処理を繰り返す。 After completing the process of step S1308 or step S1309, the second determination unit 213-2 determines whether or not all the parent processes have been selected in step S1304 (step S1310). When it is determined that all the parent processes have not been selected (step S1310, NO), the process returns to step S1304, and the second determination unit 213-2 selects one unselected process and repeats the process.

全ての親プロセスが選択されたと判定した場合(ステップS1310、YES)、第2判定部213−2は、サーバ固有プロセスの追加特定処理を実行する(ステップS1311)。ステップS1311の処理は、例えば、図11のステップS1109として説明した追加特定処理と同様であって良い。 When it is determined that all the parent processes have been selected (step S1310, YES), the second determination unit 213-2 executes the additional identification process of the server-specific process (step S1311). The process of step S1311 may be the same as the additional specific process described as step S1109 of FIG. 11, for example.

ステップS1311の終了後、図13および図14に示す一連の処理は終了する。なお、以上の説明は、あるタイミングにおいて取得されたプロセスの動作状況、ネットワークの状況に基づく一連の処理を説明した。ただし、複数のタイミングで(例えば、所定の周期で定期的に)プロセスの動作状況、ネットワークの状況が取得されている場合は、各タイミングのプロセスの動作状況、ネットワークの状況に基づいて図13および図14に示す一連の処理が複数回実行されても良い。そして、第2判定部213−2が、複数回の実行の中で所定回数(例えば1回)以上、サーバ固有プロセスである判定されたプロセスをサーバ固有プロセスと特定し、サーバ固有プロセスである判定された回数が所定回数未満のプロセスをサーバ固有プロセスではないと判断することとしても良い。 After the end of step S1311, the series of processes shown in FIGS. 13 and 14 ends. The above description has described a series of processes based on the operating status of the process and the network status acquired at a certain timing. However, if the process operation status and network status are acquired at a plurality of timings (for example, periodically at a predetermined cycle), FIG. 13 and FIG. 13 based on the process operation status and network status at each timing. The series of processes shown in FIG. 14 may be executed a plurality of times. Then, the second determination unit 213-2 identifies the process determined to be a server-specific process as a server-specific process more than a predetermined number of times (for example, once) in a plurality of executions, and determines that the process is a server-specific process. It may be determined that the process that has been executed less than the predetermined number of times is not a server-specific process.

〔ステップS1005の詳細〕
図15は、図10のステップS1005の処理の詳細を説明するフローチャートである。
図15の処理は、本実施例においては、サーバの種別がAPサーバと判定されたVMのプロセスに対して、第2判定部213−2が実行する処理である。
[Details of step S1005]
FIG. 15 is a flowchart illustrating the details of the process of step S1005 of FIG.
In the present embodiment, the process of FIG. 15 is a process executed by the second determination unit 213-2 for the VM process whose server type is determined to be the AP server.

まず、第2判定部213−2は、対象のVM(APサーバ)について、Webサーバとの間で確立されたコネクションを特定する(ステップS1501)。また、第2判定部213−2は、ステップS1501で特定された、確立されたコネクションのそれぞれについて、対応するプロセスを特定する(ステップS1502)。ステップS1501、S1502の処理は、例えば、前述したステップS1301、S1302と同様の処理であっても良いし、ステップS1301、S1302の処理結果を流用することとしても良い。図6の例では、PID=P_X211、PID=P_X221、PID=P_X231のプロセスが特定される。 First, the second determination unit 213-2 identifies the connection established with the Web server for the target VM (AP server) (step S1501). In addition, the second determination unit 213-2 identifies the corresponding process for each of the established connections identified in step S1501 (step S1502). The processing of steps S1501 and S1502 may be, for example, the same processing as those of steps S1301 and S1302 described above, or the processing results of steps S1301 and S1302 may be diverted. In the example of FIG. 6, the processes of PID = P_X211 and PID = P_X221 and PID = P_X231 are specified.

次に、第2判定部213−2は、ステップS1502で特定されたプロセスごとに、確立されたコネクションの数を特定する(ステップS1503)。図6の例では、PID=P_X211、PID=P_X221、PID=P_X231のプロセスそれぞれについて、確立されたコネクションの数は1となる。 Next, the second determination unit 213-2 specifies the number of established connections for each process specified in step S1502 (step S1503). In the example of FIG. 6, the number of established connections is 1 for each of the processes PID = P_X211 and PID = P_X221 and PID = P_X231.

そして、第2判定部213−2は、ステップS1502で特定されたプロセスの中から1つのプロセスを選択し(ステップS1504)、選択したプロセスについて、後述するステップS1505〜S1509の処理を実行する。 Then, the second determination unit 213-2 selects one process from the processes specified in step S1502 (step S1504), and executes the processes of steps S1505 to S1509 described later for the selected process.

ステップS1505において、第2判定部213−2は、ステップS1504で選択したプロセスについて、プロセスのスレッド数を特定する。プロセスのスレッド数は、例えば、図6に示す動作情報記憶部221に記憶されたスレッド数2216の情報のうち、ステップS1504で選択したプロセスのPIDに対応するデータ行の値(数値)を参照することで特定が可能である。 In step S1505, the second determination unit 213-2 specifies the number of threads of the process for the process selected in step S1504. For the number of threads of the process, for example, among the information of the number of threads 2216 stored in the operation information storage unit 221 shown in FIG. 6, the value (numerical value) of the data row corresponding to the PID of the process selected in step S1504 is referred to. It is possible to identify by.

ステップS1505の後、第2判定部213−2は、ステップS1504で選択したプロセスについて、確立されたコネクション数と、プロセスのスレッド数とを比較する。そして、第2判定部213−2は、スレッドの数が確立されたコネクションの数よりも大きいか否かを判定する(ステップS1506)。 After step S1505, the second determination unit 213-2 compares the number of established connections with the number of threads of the process for the process selected in step S1504. Then, the second determination unit 213-2 determines whether or not the number of threads is larger than the number of established connections (step S1506).

スレッドの数が確立されたコネクションの数よりも大きいと判定した場合(ステップS1506、YES)、第2判定部213−2は、ステップS1504で選択されたプロセスを、サーバ固有プロセスであると判定する(ステップS1507)。一方、子プロセスの数が確立されたコネクションの数以上でないと判定した場合(ステップS1506、NO)、第2判定部213−2は、ステップS1504で選択されたプロセスを、サーバ固有プロセスではないと判定する(ステップS1508)。 If it is determined that the number of threads is larger than the number of established connections (step S1506, YES), the second determination unit 213-2 determines that the process selected in step S1504 is a server-specific process. (Step S1507). On the other hand, when it is determined that the number of child processes is not equal to or greater than the number of established connections (step S1506, NO), the second determination unit 213-2 does not consider the process selected in step S1504 to be a server-specific process. Determine (step S1508).

例えば、図6の例では、PID=P_X221のプロセスのスレッド数は2であり、確立されたコネクションの数である1よりも大きい。したがって、第2判定部213−2は、PID=P_X221のプロセスをサーバ固有プロセスであると判定する。一方、PID=P_X211、PID=P_X231のプロセスは、それぞれスレッド数は1であり、確立されたコネクションの数である1よりも大きくない。したがって、第2判定部213−2は、PID=P_X211、PID=P_X231のプロセスをサーバ固有プロセスではないと判定する。 For example, in the example of FIG. 6, the number of threads of the process of PID = P_X221 is 2, which is larger than the number of established connections of 1. Therefore, the second determination unit 213-2 determines that the process with PID = P_X221 is a server-specific process. On the other hand, the processes of PID = P_X211 and PID = P_X231 each have 1 thread, which is not larger than 1 which is the number of established connections. Therefore, the second determination unit 213-2 determines that the processes with PID = P_X211 and PID = P_X231 are not server-specific processes.

ステップS1507またはステップS1508の処理を終了後、第2判定部213−2は、ステップS1504において全てのプロセスが選択されたか否かを判定する(ステップS1509)。全てのプロセスが選択されていないと判定した場合(ステップS1509、NO)、ステップS1504に戻り、第2判定部213−2は、未選択のプロセスを1つ選択して処理を繰り返す。 After completing the process of step S1507 or step S1508, the second determination unit 213-2 determines whether or not all the processes have been selected in step S1504 (step S1509). If it is determined that all the processes have not been selected (step S1509, NO), the process returns to step S1504, and the second determination unit 213-2 selects one unselected process and repeats the process.

全てのプロセスが選択されたと判定した場合(ステップS1509、YES)、第2判定部213−2は、サーバ固有プロセスの追加特定処理を実行する(ステップS1510)。ステップS1510の処理は、例えば、図11のステップS1109として説明した追加特定処理と同様であって良い。 When it is determined that all the processes have been selected (step S1509, YES), the second determination unit 213-2 executes the additional identification process of the server-specific process (step S1510). The process of step S1510 may be the same as the additional specific process described as step S1109 of FIG. 11, for example.

ステップS1510の終了後、図15に示す一連の処理は終了する。なお、以上の説明は、あるタイミングにおいて取得されたプロセスの動作状況、ネットワークの状況に基づく一連の処理を説明した。ただし、複数のタイミングで(例えば、所定の周期で定期的に)プロセスの動作状況、ネットワークの状況が取得されている場合は、各タイミングのプロセスの動作状況、ネットワークの状況に基づいて図15に示す一連の処理が複数回実行されても良い。そして、第2判定部213−2が、複数回の実行の中で所定回数(例えば1回)以上、サーバ固有プロセスである判定されたプロセスをサーバ固有プロセスと特定し、サーバ固有プロセスである判定された回数が所定回数未満のプロセスをサーバ固有プロセスではないと判定することとしても良い。 After the end of step S1510, the series of processes shown in FIG. 15 ends. The above description has described a series of processes based on the operating status of the process and the network status acquired at a certain timing. However, if the process operating status and network status are acquired at a plurality of timings (for example, periodically at a predetermined cycle), FIG. 15 shows the process operating status and network status at each timing. The series of processes shown may be executed a plurality of times. Then, the second determination unit 213-2 identifies the process determined to be a server-specific process as a server-specific process more than a predetermined number of times (for example, once) in a plurality of executions, and determines that the process is a server-specific process. It may be determined that the process that has been executed less than the predetermined number of times is not a server-specific process.

端末装置からリクエストを受信したWebサーバは、リクエストの要求内容に応じ、APサーバ上のアプリケーションのプロセスとコネクションを確立し、リクエストを送る。リクエストを受けたAPサーバのプロセスは、子プロセス、またはスレッドを生成する。このとき生成される子プロセス数、またはスレッド数はアプリケーションに依存するが、一つ以上の子プロセス、またはスレッドを生成する。そのため、リクエストに応じて子プロセスを生成するAPサーバのプロセスの子プロセス数は、WebサーバとAPサーバとのコネクション数以上となる特性がある。また、リクエストに応じてスレッドを生成するAPサーバのプロセスのスレッド数は、WebサーバとAPサーバとのコネクションより大きくなる特性がある(スレッドの生成前の状態でスレッド数が1と取得されるため)。 The Web server that receives the request from the terminal device establishes a connection with the application process on the AP server and sends the request according to the request content of the request. The process of the AP server that received the request spawns a child process or thread. The number of child processes or threads created at this time depends on the application, but one or more child processes or threads are created. Therefore, the number of child processes of the process of the AP server that generates the child process in response to the request has a characteristic that it is equal to or larger than the number of connections between the Web server and the AP server. In addition, the number of threads in the process of the AP server that creates threads in response to the request has a characteristic that it is larger than the connection between the Web server and the AP server (because the number of threads is acquired as 1 in the state before thread creation). ).

本実施例の特定手法では、APサーバについて、コネクションの数と子プロセス数との比較、またはコネクションの数と生成したスレッド数との比較によりサーバ固有プロセスを特定する。そのため、例えば、リクエストを受信したタイミングで偶発的にリソース使用量が上がるようなプロセスはサーバ固有プロセスではないと判定可能である点で、判定精度が向上する。 In the specific method of this embodiment, for the AP server, the server-specific process is specified by comparing the number of connections with the number of child processes or the number of connections with the number of created threads. Therefore, for example, the determination accuracy is improved in that it can be determined that the process whose resource usage accidentally increases at the timing of receiving the request is not a server-specific process.

また前述のWebサーバと同様に、特定したサーバ固有プロセスの実行ファイルと同一のディレクトリまたは配下のディレクトリに実行ファイルが格納されたプロセスについてもサーバ固有プロセスと特定する。これによりAPサーバのバックグラウンドプロセスが特定できるので、さらに判定精度を向上させることができる。 Further, similarly to the above-mentioned Web server, a process in which the executable file is stored in the same directory as the executable file of the specified server-specific process or a directory under it is also specified as a server-specific process. As a result, the background process of the AP server can be specified, so that the determination accuracy can be further improved.

なお、本実施例のように、APサーバについては、コネクションの数と子プロセス数との比較、またはコネクションの数と生成したスレッド数との比較によりサーバ固有プロセスが特定される。そのため、コネクションの数と子プロセス数との比較、またはコネクションの数と生成したスレッド数との比較の少なくともいずれかでサーバ固有プロセスと判定されたプロセスを、サーバ固有プロセスであるとして良い。また、コネクションの数と子プロセス数との比較、またはコネクションの数と生成したスレッド数との比較のいずれか一方のみであっても、APサーバのサーバ固有プロセスを特定することが可能だが、両方の処理を行なうことで、判定精度を向上させることができる。 As in this embodiment, for the AP server, the server-specific process is specified by comparing the number of connections with the number of child processes or the number of connections with the number of generated threads. Therefore, a process determined to be a server-specific process by at least one of the comparison between the number of connections and the number of child processes or the comparison between the number of connections and the number of created threads may be regarded as a server-specific process. Also, it is possible to identify the server-specific process of the AP server by comparing the number of connections with the number of child processes, or the number of connections with the number of created threads, but both. The determination accuracy can be improved by performing the above processing.

〔ステップS1006の詳細〕
図16は、図10のステップS1006の処理の詳細を説明するフローチャートである。図16の処理は、本実施例においては、サーバの種別がDBサーバと判定されたVMのプロセスに対して、第3判定部213−3が実行する処理である。
[Details of step S1006]
FIG. 16 is a flowchart illustrating the details of the process of step S1006 of FIG. In the present embodiment, the process of FIG. 16 is a process executed by the third determination unit 213-3 with respect to the VM process whose server type is determined to be the DB server.

図16の一連の処理においては、まず、第3判定部213−3は、DBサーバの応答性能が低下している期間を特定する(ステップS1601)。なお、以降の説明では、DBサーバの応答性能が低下している期間をレスポンス悪化期間、DBサーバの応答性能の低下をボトルネックと記載することがある。 In the series of processes shown in FIG. 16, first, the third determination unit 213-3 identifies the period during which the response performance of the DB server is deteriorated (step S1601). In the following description, the period in which the response performance of the DB server is deteriorated may be described as the response deterioration period, and the period in which the response performance of the DB server is deteriorated may be described as the bottleneck.

本実施例における、DBサーバのレスポンス悪化期間を特定する手法について、概要を説明する。なお、説明にあたり、集約制御装置300は、異なる複数のタイミング、例えば所定の期間内に一定の周期で、VMの動作情報、ネットワーク情報等を取得しているものとする。レスポンス悪化期間とは、VMの動作情報、ネットワーク情報等が取得された所定期間のうち、DBサーバの応答性能が低下している期間である。 The outline of the method for specifying the response deterioration period of the DB server in this embodiment will be described. In the description, it is assumed that the centralized control device 300 acquires VM operation information, network information, and the like at a plurality of different timings, for example, at a fixed cycle within a predetermined period. The response deterioration period is a period during which the response performance of the DB server is deteriorated in the predetermined period in which the VM operation information, network information, etc. are acquired.

情報処理システムのレスポンスが悪化していない場合、情報処理システムにおける、Webサーバのデータ送信量とデータ受信量との比率(送受信比率)は一定となる特性がある(ただし、一定となった場合の比率はシステムごとに異なる)。なお、以降の説明では、送受信比率=データ送信量/データ受信量であるとして説明する。 If the response of the information processing system is not deteriorated, the ratio (transmission / reception ratio) of the data transmission amount and the data reception amount of the Web server in the information processing system has a characteristic of being constant (however, when it becomes constant). The ratio varies from system to system). In the following description, the transmission / reception ratio = data transmission amount / data reception amount will be described.

一方、情報処理システムの応答性能が悪化している場合は、Webサーバの送受信比率は、通常時と比較するとデータ送信量の割合が少なくなる。すなわち、送受信比率の値は通常時と比較すると小さくなる。この特性を利用して、所定期間の間に収集した、Webサーバのデータ送信量とデータ受信量をもとに、情報処理システムのレスポンスが悪化している期間を特定することができる。 On the other hand, when the response performance of the information processing system is deteriorated, the transmission / reception ratio of the Web server is smaller than that in the normal state. That is, the value of the transmission / reception ratio is smaller than that in the normal case. By utilizing this characteristic, it is possible to specify the period in which the response of the information processing system is deteriorated based on the data transmission amount and the data reception amount of the Web server collected during the predetermined period.

さらに、情報処理システムの応答性能が悪化していない場合、各サーバ間のコネクションの数の比率も一定となる特性がある。すなわち、端末装置〜Webサーバ間のコネクションの数をA、Webサーバ〜APサーバ間のコネクションの数をB、APサーバ間〜DBサーバ間のコネクションの数をCとしたときに、A:B:Cが一定となる特性がある。一方、DBサーバが要因となって情報処理システムの応答性能が悪化している場合、前述の通りWebサーバの送受信比率が通常時と比較するとデータ送信量の割合が少なくなり、かつ、A:B:Cは、通常時と同様であるか、Cのみが通常時と比較して大きくなる特性がある。したがって、Webサーバの送受信比率と各サーバ間のコネクションの数の比率とに基づいて、DBサーバのレスポンス悪化期間を特定することが可能となる。 Further, if the response performance of the information processing system is not deteriorated, the ratio of the number of connections between each server is also constant. That is, when the number of connections between the terminal device and the Web server is A, the number of connections between the Web server and the AP server is B, and the number of connections between the AP server and the DB server is C, A: B: There is a characteristic that C is constant. On the other hand, when the response performance of the information processing system deteriorates due to the DB server, as described above, the transmission / reception ratio of the Web server is smaller than that at the normal time, and the ratio of the data transmission amount is smaller and A: B. : C has the characteristic that it is the same as the normal time, or only C is larger than the normal time. Therefore, it is possible to specify the response deterioration period of the DB server based on the transmission / reception ratio of the Web server and the ratio of the number of connections between each server.

ここで、上述の通常時の送受信比率やコネクション数は、例えば、動作情報、ネットワーク情報が収集されていた所定期間における送受信比率やコネクション数の平均値としても良い。あるいは、レスポンス悪化期間であるか否かの判定対象の期間を所定期間から除いた期間の送受信比率やコネクション数の平均値としても良い。 Here, the above-mentioned normal transmission / reception ratio and the number of connections may be, for example, an average value of the transmission / reception ratio and the number of connections during a predetermined period in which the operation information and the network information are collected. Alternatively, it may be the average value of the transmission / reception ratio and the number of connections in the period obtained by excluding the period to be determined whether or not the response is deteriorated from the predetermined period.

ステップS1601の後、第3判定部213−3は、ステップS1601で特定されたレスポンス悪化期間のうちの1つを選択する(ステップS1602)。 After step S1601, the third determination unit 213-3 selects one of the response deterioration periods specified in step S1601 (step S1602).

第3判定部213−3は、ステップS1602で選択したレスポンス悪化期間について、ボトルネックの種別を特定する(ステップS1603)。本実施例においては、ボトルネックの種別は、DBサーバの応答性能悪化の要因と言うこともできる。第3判定部213−3は、例えば、レスポンス悪化期間におけるリソースの使用状況と、図17に示すボトルネック判定情報記憶部227に記憶された情報とに基づいて、ボトルネックの種別を特定する。 The third determination unit 213-3 specifies the type of bottleneck for the response deterioration period selected in step S1602 (step S1603). In this embodiment, the type of bottleneck can be said to be a factor in the deterioration of the response performance of the DB server. The third determination unit 213-3 identifies the type of bottleneck based on, for example, the resource usage status during the response deterioration period and the information stored in the bottleneck determination information storage unit 227 shown in FIG.

図17は、ボトルネック判定情報記憶部227の一例を示す図である。例えば、ボトルネック判定情報記憶部227は、ボトルネック種別2271、全体リソース傾向2272、プロセスリソース傾向2273を記憶する。 FIG. 17 is a diagram showing an example of the bottleneck determination information storage unit 227. For example, the bottleneck determination information storage unit 227 stores the bottleneck type 2271, the overall resource tendency 2272, and the process resource tendency 2273.

ボトルネック種別2271は、ボトルネックの種別を示す情報である。図17に示すボトルネック種別2271について、「CPU」はCPUによるボトルネックであることを示す。また、「ストレージ(ディスク)」は、ストレージによるボトルネックであることを示す。なおストレージとは、VMについて、メモリとは別に割り当てられる記憶手段、あるいは記憶領域を示し、例えば、情報処理装置200が備えるHard DiSk Drive(HDD)等の記憶装置の記憶領域の一部が割り当てられたものである。 The bottleneck type 2271 is information indicating the type of bottleneck. Regarding the bottleneck type 2271 shown in FIG. 17, “CPU” indicates that the bottleneck is caused by the CPU. In addition, "storage (disk)" indicates that it is a bottleneck due to storage. Note that the storage refers to a storage means or a storage area allocated separately from the memory for the VM, and for example, a part of the storage area of the storage device such as the Hard Disk Drive (HDD) included in the information processing device 200 is allocated. It is a memory.

「排他制御」は、データベースへのアクセスにおける排他制御による処理待ち(ロック)によるボトルネックであることを示す。また、「ネットワーク」は、DBサーバのVMが他のVMと通信を行なう際に用いるネットワークの遅延や輻輳によるボトルネックであることを示す。本実施例においては、ボトルネック種別、すなわちDBサーバの応答性能悪化の要因は、図17に示す4つに分類可能であるとしている。 “Exclusive control” indicates that it is a bottleneck due to processing wait (lock) due to exclusive control in accessing the database. Further, "network" indicates that the VM of the DB server is a bottleneck due to the delay or congestion of the network used when communicating with other VMs. In this embodiment, the bottleneck type, that is, the cause of deterioration of the response performance of the DB server can be classified into the four shown in FIG.

全体リソース傾向2272は、ボトルネックの種別それぞれについての、レスポンス悪化期間におけるVM全体のリソースの使用状況の傾向を示す情報である。 The overall resource tendency 2272 is information indicating the tendency of the resource usage status of the entire VM during the response deterioration period for each type of bottleneck.

プロセスリソース傾向2273は、ボトルネックの種別それぞれについての、レスポンス悪化期間におけるサーバ固有プロセスのリソースの使用状況の傾向を示す情報である。 The process resource tendency 2273 is information indicating the tendency of the resource usage status of the server-specific process during the response deterioration period for each type of bottleneck.

図17を用いてステップS1603の処理を説明すると、第3判定部213−3は、レスポンス悪化期間におけるVM全体のリソースの使用状況を特定する。具体的には、第3判定部213−3は、例えば、レスポンス悪化期間におけるVM全体の各リソースの使用量が、「低い」、「変動無し」、「高い」のいずれに該当するかを判定する。「低い」、「変動無し」、「高い」の具体的な判定は、例えば、レスポンス悪化期間におけるVM全体の各リソースの使用量がVM全体の各リソースの平均使用量に対して、所定の閾値以上大きい場合は「高い」と判定することとして良い。また、レスポンス悪化期間におけるVM全体の各リソースの使用量がVM全体の各リソースの平均使用量に対して、所定の閾値以上小さい場合は「低い」と判定することとして良い。そして、「高い」、「低い」のどちらとも判定されなかった場合には、「変動無し」と判定することとしても良い。 Explaining the process of step S1603 with reference to FIG. 17, the third determination unit 213-3 specifies the resource usage status of the entire VM during the response deterioration period. Specifically, the third determination unit 213-3 determines, for example, whether the usage amount of each resource of the entire VM during the response deterioration period corresponds to "low", "no fluctuation", or "high". To do. The specific determination of "low", "no fluctuation", and "high" is, for example, that the usage of each resource of the entire VM during the response deterioration period is a predetermined threshold value with respect to the average usage of each resource of the entire VM. If it is larger than that, it may be judged as "high". Further, when the usage amount of each resource of the entire VM during the response deterioration period is smaller than the average usage amount of each resource of the entire VM by a predetermined threshold value or more, it may be determined as “low”. Then, when neither "high" nor "low" is determined, it may be determined that there is no change.

レスポンス悪化期間におけるVM全体の各リソースの使用状況を特定した後、第3判定部213−3は、特定したVM全体の各リソースの使用状況が、図17に示す全体リソース傾向2272のいずれに合致するかを判定する。そして、第3判定部213−3は、合致すると判定した全体リソース傾向と関連付けられたボトルネック種別2271を、対象のレスポンス悪化期間に対応するボトルネックの種別として特定する。 After identifying the usage status of each resource of the entire VM during the response deterioration period, the third determination unit 213-3 determines that the usage status of each resource of the identified VM as a whole matches any of the overall resource trends 2272 shown in FIG. Determine if you want to. Then, the third determination unit 213-3 specifies the bottleneck type 2271 associated with the overall resource tendency determined to match as the bottleneck type corresponding to the target response deterioration period.

ステップS1603を実行後、第3判定部213−3は、ステップS1603で特定したボトルネックの種別に基づいて、DBサーバのVMにおけるプロセスの中からサーバ固有プロセスを特定する(ステップS1604)。ステップS1604の具体的な処理の例については、再び図17を用いて説明する。 After executing step S1603, the third determination unit 213-3 identifies the server-specific process from the processes in the VM of the DB server based on the type of bottleneck specified in step S1603 (step S1604). An example of the specific processing of step S1604 will be described again with reference to FIG.

まず、第3判定部213−3は、対象のVM(DBサーバ)のプロセスについて、リソースの使用状況を特定する。具体的には、第3判定部213−3は、例えば、レスポンス悪化期間におけるプロセスごとの各リソースの使用量が、「低い」、「変動無し」、「高い」のいずれに該当するかを判定する。「低い」、「変動無し」、「高い」の具体的な判定は、例えば、上述したVM全体のリソースの使用状況と同様であって良い。 First, the third determination unit 213-3 specifies the resource usage status for the target VM (DB server) process. Specifically, the third determination unit 213-3 determines, for example, whether the usage amount of each resource for each process during the response deterioration period corresponds to "low", "no fluctuation", or "high". To do. The specific determination of "low", "no fluctuation", and "high" may be, for example, the same as the resource usage status of the entire VM described above.

第3判定部213−3は、プロセスごとの各リソースの使用量が、ステップS1603で特定したボトルネックの種別と関連付けられたプロセスリソース傾向2273と合致するか否かを判定する。第3判定部213−3は、各リソースの使用量が、ステップS1603で特定したボトルネックの種別と関連付けられたプロセスリソース傾向2273と合致するプロセスをサーバ固有プロセスであると判定する。一方、第3判定部213−3は、各リソースの使用量が、ステップS1603で特定したボトルネックの種別と関連付けられたプロセスリソース傾向2273と合致しないプロセスを、サーバ固有プロセスではないと判定する。 The third determination unit 213-3 determines whether or not the usage amount of each resource for each process matches the process resource tendency 2273 associated with the bottleneck type identified in step S1603. The third determination unit 213-3 determines that the process in which the usage amount of each resource matches the process resource tendency 2273 associated with the bottleneck type identified in step S1603 is a server-specific process. On the other hand, the third determination unit 213-3 determines that the process in which the usage amount of each resource does not match the process resource tendency 2273 associated with the bottleneck type identified in step S1603 is not a server-specific process.

ステップS1603およびステップS1604において、プロセスごとの各リソースの使用量は、例えば、DBサーバのプロセスについて、動作情報記憶部221やディスクアクセス情報記憶部225、送受信量情報記憶部226に記憶された情報から算出することができる。また、VM全体の各リソースの使用量は、各リソースについてのDBサーバのプロセスの使用量の合計とすることができる。また、平均使用量は、例えば、所定期間の各リソースの使用量の平均値でも良いし、判定対象のタイミングで取得されたデータを除外した所定期間の各リソースの使用量の平均値でも良い。また、判定基準とする閾値については、例えば、平均使用量に対する割合(パーセンテージ)や、数値の差とすることができる。なお、リソースの種類毎、「高い」、「低い」の判定ごとに、閾値の値は適宜変更されても良い。 In step S1603 and step S1604, the usage amount of each resource for each process is determined from, for example, the information stored in the operation information storage unit 221, the disk access information storage unit 225, and the transmission / reception amount information storage unit 226 for the process of the DB server. Can be calculated. Further, the usage amount of each resource in the entire VM can be the total usage amount of the DB server process for each resource. Further, the average usage amount may be, for example, the average value of the usage amount of each resource in a predetermined period, or the average value of the usage amount of each resource in a predetermined period excluding the data acquired at the timing of the determination target. Further, the threshold value used as the determination criterion can be, for example, a ratio (percentage) to the average usage amount or a difference in numerical values. The threshold value may be appropriately changed for each type of resource and for each determination of "high" and "low".

ステップS1604の処理を実行後、第3判定部213−3は、ステップS1602において全てのレスポンス悪化期間が選択されたか否かを判定する(ステップS1605)。全てのレスポンス悪化期間が選択されていないと判定した場合(ステップS1605、NO)、ステップS1602に戻り、第3判定部213−3は、未選択のレスポンス悪化期間を1つ選択して、ステップS1603〜S1605の処理を繰り返す。 After executing the process of step S1604, the third determination unit 213-3 determines whether or not all the response deterioration periods have been selected in step S1602 (step S1605). When it is determined that all the response deterioration periods have not been selected (step S1605, NO), the process returns to step S1602, and the third determination unit 213-3 selects one unselected response deterioration period and steps S1603. The process of ~ S1605 is repeated.

全てのレスポンス悪化期間が選択されたと判定した場合(ステップS1605、YES)、第3判定部213−3は、サーバ固有プロセスの追加特定処理を実行する(ステップS1606)。ステップS1606の処理は、例えば、図11のステップS1109として説明した追加特定処理と同様であって良い。ステップS1606の終了後、図16に示す一連の処理は終了する。 When it is determined that all the response deterioration periods have been selected (step S1605, YES), the third determination unit 213-3 executes the additional identification process of the server-specific process (step S1606). The process of step S1606 may be the same as the additional specific process described as step S1109 of FIG. 11, for example. After the end of step S1606, the series of processes shown in FIG. 16 ends.

DBサーバへのアクセスはAPサーバからデータベースへのデータ読み出し要求がアクセスの大半を占める。そのため、DBサーバは、例えばWebサーバやAPサーバと比較して大容量のメモリが搭載され(VMに割り当てられ)、メモリをキャッシュとして使用する。同じデータに対する読み出し要求であっても、要求されたデータがキャッシュに記憶されているか否かに応じて、リソース(具体的には特に、ディスクに対するアクセス)の負荷がその時々で異なる。 Most of the access to the DB server is a data read request from the AP server to the database. Therefore, the DB server is equipped with a large amount of memory (allocated to the VM) as compared with, for example, a Web server or an AP server, and uses the memory as a cache. Even for read requests for the same data, the load on resources (specifically, in particular, access to the disk) varies from time to time, depending on whether the requested data is stored in the cache.

また、搭載されるメモリ容量によっても、リソース(具体的には特に、ディスクに対するアクセス)の負荷が変動する。例えば、インメモリデータベースなどと呼ばれる、データベースのデータを全てキャッシュに記憶できるようなメモリ容量であれば、ディスクアクセスはほとんど発生しない。 In addition, the load of resources (specifically, access to a disk in particular) varies depending on the installed memory capacity. For example, if the memory capacity is such as an in-memory database that can store all the data in the database in the cache, disk access hardly occurs.

また、読み出しが要求されるデータのサイズが要求ごとに変動が大きいため、要求ごとに、CPUの使用率やメモリの使用量の変動が大きい。 Further, since the size of the data required to be read fluctuates greatly for each request, the CPU usage rate and the memory usage fluctuate greatly for each request.

また、データベースのテーブル内のレコード数や削除したレコード数を検知して動作する機能がDBサーバに搭載されている場合もあり、機能の影響によって、過去にどのようなデータ読み出し要求を受信したかによっても、CPUの使用率やメモリの使用量が変化する。 In addition, the DB server may have a function that detects the number of records in the database table or the number of deleted records and operates, and what kind of data read request was received in the past due to the influence of the function. Also, the CPU usage rate and the memory usage amount change.

上述の事項などから、DBサーバについては、単純にプロセスの挙動を監視した場合には挙動に一貫性がなく、リクエスト(コネクション数)とプロセスの挙動との関係から固有サーバプロセスを特定するのは困難であると言える。 From the above items, the behavior of the DB server is inconsistent when the process behavior is simply monitored, and it is not possible to specify the unique server process from the relationship between the request (number of connections) and the process behavior. It can be said that it is difficult.

ただし、DBサーバには、DBサーバのレスポンスが悪化した場合に、データ読み出し要求を処理するプロセスの生存期間が長くなるという特性がある。レスポンス悪化の要因は一様ではないが、本実施例で説明したように、上述のプロセスの挙動と比較するとはるかに少ないパターンに分類することが可能である。また、レスポンス悪化の要因が特定できれば、要因に応じたサーバ固有プロセスの挙動が推定可能である。 However, the DB server has a characteristic that the life period of the process for processing the data read request becomes long when the response of the DB server deteriorates. Although the factors of response deterioration are not uniform, as described in this example, it is possible to classify them into patterns that are far fewer than the behavior of the above-mentioned process. Moreover, if the cause of the response deterioration can be identified, the behavior of the server-specific process according to the factor can be estimated.

したがって上述のように、本実施例では、第3判定部213−3が、DBサーバについて、まずレスポンス悪化期間とレスポンス悪化の要因を特定する。そしてレスポンス悪化の要因に基づいて推定されるサーバ固有プロセスの挙動と一致する挙動を示すプロセスを特定することで、第3判定部213−3がサーバ固有プロセスを特定することができ、判定精度が向上する。 Therefore, as described above, in the present embodiment, the third determination unit 213-3 first identifies the response deterioration period and the cause of the response deterioration for the DB server. Then, by specifying the process that shows the behavior that matches the behavior of the server-specific process estimated based on the factor of the response deterioration, the third determination unit 213-3 can specify the server-specific process, and the determination accuracy is improved. improves.

また前述のWebサーバと同様に、特定したサーバ固有プロセスの実行ファイルと同一のディレクトリまたは配下のディレクトリに実行ファイルが格納されたプロセスについてもサーバ固有プロセスと特定する。これによりDBサーバのバックグラウンドプロセスが特定できるので、さらに判定精度を向上させることができる。 Further, similarly to the above-mentioned Web server, a process in which the executable file is stored in the same directory as the executable file of the specified server-specific process or a directory under it is also specified as a server-specific process. As a result, the background process of the DB server can be specified, so that the determination accuracy can be further improved.

〔集約処理〕
判定部213により各VMについてのサーバ固有プロセスの判定結果を利用して、集約制御部214はサーバの集約処理を実行することが可能である。
[Aggregate processing]
The aggregation control unit 214 can execute the aggregation processing of the server by using the determination result of the server-specific process for each VM by the determination unit 213.

図18は、本実施例によるサーバ固有プロセスの判定結果を利用した場合の集約処理と、前述の過剰な見積もり(比較例)とを比較したイメージを示す図である。図18では、それぞれで1つのサーバが動作するVM2台について、サーバの集約が可能であるか否かを判定する例を示している。 FIG. 18 is a diagram showing an image comparing the aggregation process when the determination result of the server-specific process according to the present embodiment is used and the above-mentioned excessive estimation (comparative example). FIG. 18 shows an example of determining whether or not the servers can be aggregated for two VMs in which one server operates.

グラフ1801は、1台目の集約対象のVMにおけるリソース使用量の推移を示している。グラフ1802は、2台目の集約対象のVMにおけるリソース使用量の推移を示している。グラフ1801、1802では、サーバ固有プロセスによるリソース使用量(図18では「固有」と表記)、サーバ固有プロセス以外のプロセスによるリソース使用量(図18では「非固有」と表記)、両者を合計したVM全体としてのリソース使用量(図18では「合計」と表記)を示している。 Graph 1801 shows the transition of the resource usage amount in the first VM to be aggregated. Graph 1802 shows the transition of the resource usage in the VM to be aggregated in the second unit. In graphs 1801 and 1802, the resource usage by the server-specific process (denoted as "unique" in FIG. 18) and the resource usage by processes other than the server-specific process (denoted as "non-unique" in FIG. 18) are totaled. The resource usage of the VM as a whole (denoted as "total" in FIG. 18) is shown.

本実施例においては、1台目の集約対象のVMに、2台目の集約対象のVMで動作するサーバを集約する場合を例に用いる。ただし、サーバの集約処理は、例えば、2台目の集約対象のVMにサーバの集約を行なうこととしても良いし、1台目の集約対象のVMとも2台目の集約対象のVMとも異なる他のVMに集約することとしても良い。グラフにおける閾値は、集約した際にサーバの動作性能に影響があるか否かの判定基準となる閾値であるとする。なお、サーバの動作性能に影響があるか否かの判定基準となる閾値は一意に限定されず、情報処理システムの態様や、サーバを集約した際のVMに割り当てられるリソース量等に応じて適宜決定、変更が可能であって良い。 In this embodiment, a case where the servers operating on the second VM to be aggregated are aggregated in the VM to be aggregated for the first unit is used as an example. However, the server aggregation process may be performed, for example, by consolidating the servers on the VM of the second aggregation target, and is different from the VM of the first aggregation target and the VM of the second aggregation target. It may be aggregated in the VM of. It is assumed that the threshold value in the graph is a threshold value that serves as a criterion for determining whether or not the operating performance of the server is affected when aggregated. The threshold value that serves as a criterion for determining whether or not the operating performance of the server is affected is not uniquely limited, and is appropriately determined according to the mode of the information processing system, the amount of resources allocated to the VM when the servers are aggregated, and the like. It may be possible to decide and change.

グラフ1803は、比較例と本実施例のそれぞれにおいて、サーバを集約した際のリソース使用量として推定される使用量を示している。 Graph 1803 shows the usage amount estimated as the resource usage amount when the servers are aggregated in each of the comparative example and the present embodiment.

比較例においては、サーバ固有プロセスとサーバ固有プロセス以外のプロセスとを区別せずに、単に2台のVMのリソースそれぞれのVM全体としてのリソース使用量を合算した値を推定使用量としている。比較例においては、サーバを集約した際のリソース使用量として推定される使用量が閾値を超過する期間が存在するため、サーバの集約は不可と判断されてしまう。 In the comparative example, the estimated usage amount is simply the sum of the resource usage amount of each of the resources of the two VMs as a whole without distinguishing between the server-specific process and the process other than the server-specific process. In the comparative example, since there is a period in which the usage amount estimated as the resource usage amount when the servers are aggregated exceeds the threshold value, it is determined that the server aggregation is impossible.

一方、本実施例においては、2台のVMについて、サーバ固有プロセスによるリソース使用量は合算される。ただし、サーバ固有プロセス以外のプロセスについては、VM2台分ではなく1台分のリソース使用量をVM2台分のサーバ固有プロセスによるリソース使用量に合算され、推定使用量として算出される。本実施例によれば、サーバを集約した際のリソース使用量として推定される使用量は閾値を超過しないため、サーバの集約が可能と判断される。 On the other hand, in this embodiment, the resource usage by the server-specific process is added up for the two VMs. However, for processes other than the server-specific process, the resource usage for one VM is added to the resource usage for the server-specific process for two VMs, and the estimated usage is calculated. According to this embodiment, since the usage amount estimated as the resource usage amount when the servers are aggregated does not exceed the threshold value, it is judged that the servers can be aggregated.

すなわち、比較例においてはリソース使用量の過剰な見積もりによりサーバの集約が不可と判断されてしまう場合であっても、本実施例では、リソース使用量の過剰な見積もりが抑制されることで、サーバの集約が可能と判断できるのである。 That is, even if it is determined in the comparative example that the server cannot be aggregated due to the excessive estimation of the resource usage, in this embodiment, the excessive estimation of the resource usage is suppressed, so that the server Can be judged to be possible.

以上で説明した手法により、集約制御部214は、複数台のVMについてサーバ集約を行った際のリソース使用量を推定し、サーバの集約が可能か否かを判定することとしても良い。 According to the method described above, the aggregation control unit 214 may estimate the resource usage amount when server aggregation is performed for a plurality of VMs, and determine whether or not server aggregation is possible.

集約制御部214は、例えば、サーバの集約が可能とされた複数台のVMの識別情報を表示部202に表示することとしても良い。また、集約制御部214は、入力部によりそれぞれの識別情報が入力された複数台のVMについて、サーバの集約が可能か否かを判定し、判定の結果を表示部202に表示することとしても良い。また、集約制御部214は、VMのプロセスそれぞれについて、サーバ固有プロセスであるか否かを示す情報を表示部202に表示することとしても良いし、図18のような態様で、VMそれぞれや、サーバ集約後のVMのリソース使用量を表示部202に表示することとしても良い。あるいは、集約制御部214は、サーバの集約が可能とされた複数台のVMについてサーバの集約を実行させる指示を情報処理装置200に送信することで、サーバの集約を実行しても良い。 For example, the aggregation control unit 214 may display the identification information of a plurality of VMs that can be aggregated by the server on the display unit 202. Further, the aggregation control unit 214 may determine whether or not the servers can be aggregated for a plurality of VMs for which the identification information has been input by the input unit, and display the determination result on the display unit 202. good. Further, the centralized control unit 214 may display information indicating whether or not the process is a server-specific process for each VM process on the display unit 202, or in the manner shown in FIG. 18, each VM and each VM may be displayed. The resource usage of the VM after server aggregation may be displayed on the display unit 202. Alternatively, the aggregation control unit 214 may execute server aggregation by transmitting an instruction to the information processing device 200 to execute server aggregation for a plurality of VMs capable of server aggregation.

なお、サーバの集約を行う際には、サーバの種別が同一である複数のVMを集約対象とすることとしても良い。サーバの種別が同一であれば、サーバの集約を行なった場合でも、サーバ固有プロセス以外のプロセスの挙動の変化は発生しない、あるいはサーバの種別が異なる場合と比較して、より少ないと考えられるためである。 When consolidating servers, a plurality of VMs having the same server type may be targeted for aggregation. If the server types are the same, even if the servers are aggregated, the behavior of processes other than the server-specific processes will not change, or it will be less than when the server types are different. Is.

〔ハードウェア構成〕
図19は、本実施例における集約制御装置300のハードウェア構成の一例である。なお、図19では、集約制御装置300のハードウェア構成の一例を示すが、後述のように、情報処理装置200、端末装置400についても同様の構成が採用可能である。
[Hardware configuration]
FIG. 19 is an example of the hardware configuration of the centralized control device 300 in this embodiment. Although FIG. 19 shows an example of the hardware configuration of the centralized control device 300, the same configuration can be adopted for the information processing device 200 and the terminal device 400 as described later.

集約制御装置300は、例えば、それぞれがバス1901で相互に接続された、CPU1902、メモリ1903、記憶装置1904、NIC1905、媒体読取装置1906、入力装置1907、表示装置1908、を備える情報処理装置である。 The centralized control device 300 is, for example, an information processing device including a CPU 1902, a memory 1903, a storage device 1904, a NIC 1905, a medium reading device 1906, an input device 1907, and a display device 1908, each of which is connected to each other by a bus 1901. ..

CPU1902は、集約制御装置300における種々の動作制御を行う。メモリ1903、記憶装置1904は、本実施例で説明した各種の処理を実行するプログラムや、各種の処理に利用される種々のデータを記憶する。記憶装置1904は、例えば、HDDや、Solid State Drive(SSD)等の記憶媒体である。 The CPU 1902 controls various operations in the centralized control device 300. The memory 1903 and the storage device 1904 store a program that executes various processes described in this embodiment and various data used for various processes. The storage device 1904 is, for example, a storage medium such as an HDD or a Solid State Drive (SSD).

CPU1902は、メモリ1903あるいは記憶装置1904に記憶されたプログラムを読み出して処理、制御を実行することで、図3Aに示す処理部210および処理部210に含まれる各機能部が実現されても良い。なお、CPU1902は、Micro Processing Unit(MPU)、Application Specific Integrated Circuit(ASIC)などのハードウェア回路に置き換えることも可能である。また、メモリ1903、記憶装置1904のそれぞれは、図3Aおよび図3Bに記載した記憶部220として機能することができる。 The CPU 1902 may read the program stored in the memory 1903 or the storage device 1904, perform processing, and execute control to realize the processing unit 210 shown in FIG. 3A and each functional unit included in the processing unit 210. The CPU 1902 can be replaced with a hardware circuit such as a Micro Processing Unit (MPU) or an Application Specific Integrated Circuit (ASIC). Further, each of the memory 1903 and the storage device 1904 can function as the storage unit 220 shown in FIGS. 3A and 3B.

NIC1905は、有線または無線のネットワークを介したデータの送受信に用いられるハードウェアである。NIC1905は、CPU1902の制御の下で、通信部203として機能することができる。 NIC1905 is hardware used for transmitting and receiving data via a wired or wireless network. The NIC1905 can function as the communication unit 203 under the control of the CPU 1902.

媒体読取装置1906は、記録媒体からデータを読み取るための装置であり、例えば、CD−ROMやDVD−ROM等のディスク媒体に記憶されたデータを読み取るディスクドライブや、メモリカードに記憶されたデータを読み取るカードスロット等である。前述した記憶部220に記憶されるデータの一部または全部は、媒体読取装置1906を用いて読み取り可能な記録媒体に記憶されることとしても良い。 The medium reading device 1906 is a device for reading data from a recording medium, for example, a disk drive for reading data stored in a disk medium such as a CD-ROM or a DVD-ROM, or a disk drive for reading data stored in a memory card. It is a card slot to read. A part or all of the data stored in the storage unit 220 described above may be stored in a recording medium that can be read by using the medium reading device 1906.

入力装置1907は、ユーザからの入力や指定を受け付ける装置である。入力装置1907の例としては、例えばキーボードやマウス、タッチパッドが挙げられる。表示装置1908は、CPU1902の制御の下で、種々の情報の表示を行う。表示装置1908は、例えば液晶ディスプレイである。 The input device 1907 is a device that receives input and designation from the user. Examples of the input device 1907 include, for example, a keyboard, a mouse, and a touch pad. The display device 1908 displays various information under the control of the CPU 1902. The display device 1908 is, for example, a liquid crystal display.

情報処理装置200、端末装置400は、例えば、図19に示した集約制御装置300と同様のハードウェア構成が採用可能であるため、説明を省略する。ただし、CPU、メモリ、記憶装置、NIC、媒体読取装置、入力装置、表示装置の具体的なハードウェア(型式や性能等)は、情報処理装置200、集約制御装置300、端末装置400のそれぞれで異なって構わない。例えば、情報処理装置200は、集約制御装置300や端末装置400よりも演算能力が高いCPU、より大容量のメモリが搭載されることとしても良い。 Since the information processing device 200 and the terminal device 400 can adopt the same hardware configuration as the centralized control device 300 shown in FIG. 19, the description thereof will be omitted. However, the specific hardware (model, performance, etc.) of the CPU, memory, storage device, NIC, medium reader, input device, and display device is the information processing device 200, the centralized control device 300, and the terminal device 400, respectively. It doesn't matter if it is different. For example, the information processing device 200 may be equipped with a CPU having a higher computing power than the centralized control device 300 and the terminal device 400, and a memory having a larger capacity.

情報処理装置200は、例えば、1台または複数台の物理サーバ装置であっても良いし、本実施例における情報処理装置200は、複数台のコンピュータを備えるデータセンタに置き換えられても良い。また、情報処理装置200が複数台のコンピュータを備えるデータセンタに置き換えられる場合は、データセンタのコンピュータ資源の一部を用いて集約制御装置300が実現されることとしても良い。 The information processing device 200 may be, for example, one or a plurality of physical server devices, or the information processing device 200 in the present embodiment may be replaced with a data center including a plurality of computers. Further, when the information processing device 200 is replaced with a data center including a plurality of computers, the centralized control device 300 may be realized by using a part of the computer resources of the data center.

また、端末装置400は、例えば、Personal Conputer(PC)、スマートフォン、Personal Digital Assistant(PDA)等であって良い。なお、端末装置400が、スマートフォンやPDA、タブレットPCである場合には、入力装置1907の機能と表示装置1908の機能とを備えるタッチパネルを用いることとしても良い。 Further, the terminal device 400 may be, for example, a Personal Computer (PC), a smartphone, a Personal Digital Assistant (PDA), or the like. When the terminal device 400 is a smartphone, a PDA, or a tablet PC, a touch panel having the functions of the input device 1907 and the display device 1908 may be used.

〔総括〕
以上に説明したように、本実施例によれば、VMで動作するプロセスについて、固有のソフトウェアのプロセス(サーバ固有プロセス)であるのか、固有のソフトウェアのプロセスであるのかを判定することが可能である。サーバ固有プロセスを判別することで、サーバ集約の可否を判断する際のリソース使用量の過剰な見積もりが抑制される。そのため、サーバ集約後のサーバの動作性能に悪影響の発生しない範囲で、より多くのサーバを集約することが可能となる。より多くのサーバを集約することができれば、情報処理装置200で動作するVMの台数をより少なくすることができ、VMを稼動させる際のコストを削減することができる。また、情報処理システムにおける運用管理においても、VMの台数に応じて増減する、OSへのパッチ適用処理などのコストを削減することができる。
[Summary]
As described above, according to the present embodiment, it is possible to determine whether the process operating in the VM is a unique software process (server-specific process) or a unique software process. is there. By determining the server-specific process, excessive estimation of resource usage when determining whether server aggregation is possible is suppressed. Therefore, it is possible to consolidate more servers within a range that does not adversely affect the operating performance of the servers after consolidating the servers. If more servers can be aggregated, the number of VMs operating in the information processing apparatus 200 can be reduced, and the cost for operating the VMs can be reduced. Further, in the operation management of the information processing system, it is possible to reduce the cost of patch application processing to the OS, which increases or decreases according to the number of VMs.

また、本実施例において、サーバ固有プロセスであるか否かの判定に利用される情報の収集に用いられる各種のコマンドは、例えば、UNIX(登録商標)、Windows NT(登録商標)等のOSにおいては標準で利用可能なコマンドである。そのため、サーバに情報収集のための追加のツールを導入することが不要である。これは例えば、システムの提供先であるユーザとの契約において、追加のツールの導入が許容されない場合等においては優位点となる。 Further, in this embodiment, various commands used for collecting information used for determining whether or not the process is a server-specific process are, for example, in an OS such as UNIX (registered trademark) or Windows NT (registered trademark). Is a standard available command. Therefore, it is not necessary to introduce an additional tool for collecting information on the server. This is an advantage, for example, when the contract with the user who provides the system does not allow the introduction of additional tools.

また、情報処理装置200がデータセンタである場合においては、本実施例において、サーバ固有プロセスであるか否かの判定に利用される情報が、システムの安定稼動のために収集されている場合もある。したがって、本実施例の実現にあたり新たな情報の収集処理が不要であり、またシステムの運用において継続的に情報の収集を行なうことが容易であるという利点がある。 Further, when the information processing apparatus 200 is a data center, in this embodiment, the information used for determining whether or not the process is a server-specific process may be collected for stable operation of the system. is there. Therefore, there is an advantage that new information collection processing is not required to realize this embodiment, and it is easy to continuously collect information in the operation of the system.

また、本実施例においては、ディレクトリにプロセスの実行ファイルの格納状態に基づいて、サーバのバックグランドプロセスなどもサーバ固有プロセスとして特定することができ、判定精度の向上を実現できる。これは、本実施例において説明したサーバ固有プロセスの追加特定処理に対応する。なお、発明者の検討によれば、例えばDBサーバの場合、サーバ固有プロセスによるリソースの使用量のおよそ3割は、バックグランドプロセスによる使用量であるとされている。 Further, in this embodiment, the background process of the server can be specified as the server-specific process based on the storage state of the process execution file in the directory, and the determination accuracy can be improved. This corresponds to the additional identification process of the server-specific process described in this embodiment. According to the inventor's examination, for example, in the case of a DB server, about 30% of the resource usage by the server-specific process is the usage by the background process.

本実施例においては、サーバの種別はWebサーバ、APサーバ、DBサーバに分類されることとした。ただし、例えば、WebサーバとAPサーバが一体化されたサーバについては、Webサーバに対するプロセス判定処理とAPサーバに対するプロセス判定処理と判定部213が実行することとしても良い。そして、Webサーバに対するプロセス判定処理とAPサーバに対するプロセス判定処理の少なくとも一方でサーバ固有プロセスと判定されたプロセスを、判定部213がサーバ固有プロセスとして特定することとしても良い。 In this embodiment, the types of servers are classified into Web server, AP server, and DB server. However, for example, for a server in which the Web server and the AP server are integrated, the process determination process for the Web server, the process determination process for the AP server, and the determination unit 213 may be executed. Then, the determination unit 213 may specify the process determined to be the server-specific process as at least one of the process determination process for the Web server and the process determination process for the AP server as the server-specific process.

200 情報処理装置
300 集約制御装置
400 端末装置
500 ネットワーク
201 入力部
202 表示部
203 通信部
210 処理部
220 記憶部
1901 バス
1902 CPU
1903 メモリ
1904 記憶装置
1905 NIC
1906 媒体読取装置
1907 入力装置
1908 表示装置
200 Information processing device 300 Aggregate control device 400 Terminal device 500 Network 201 Input unit 202 Display unit 203 Communication unit 210 Processing unit 220 Storage unit 1901 Bus 1902 CPU
1903 Memory 1904 Storage Device 1905 NIC
1906 Media reader 1907 Input device 1908 Display device

Claims (17)

コンピュータに、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスの内の特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記仮想マシンについて確立されたコネクションの数と、前記特定のプロセスが生成する子プロセスまたはスレッドの数と、に基づいて判定し、
前記特定のプロセスが前記サーバソフトウェアにより生成されるプロセスであると判定された場合、記憶部に記憶された、前記複数のプロセス間の関係を示す情報に基づいて、前記特定のプロセス以外の前記複数のプロセスについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する、
処理を実行させることを特徴とする判定プログラム。
On the computer
Whether a specific process among a plurality of processes running in a virtual machine in which the server software is installed is a process generated by the server software or a process generated by software other than the server software. Determined based on the number of connections established for the virtual machine and the number of child processes or threads spawned by the particular process.
When it is determined that the specific process is a process generated by the server software, the plurality of processes other than the specific process are stored in the storage unit based on the information indicating the relationship between the plurality of processes. Whether the process of the above is a process generated by the server software or a process generated by software other than the server software.
A judgment program characterized by executing a process.
前記コンピュータに、
前記コネクションの数と、前記子プロセスの数とが等しい場合、前記特定のプロセスを前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項1記載の判定プログラム。
On the computer
When the number of the connections and the number of the child processes are equal, it is determined that the specific process is a process generated by the server software.
The determination program according to claim 1, wherein the process is executed.
前記コンピュータに、
前記サーバソフトウェアの種別を判定し、
前記サーバソフトウェアの種別がウェブサーバであると判定された場合に、前記特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する処理を実行する、
処理を実行させることを特徴とする請求項2記載の判定プログラム。
On the computer
Determine the type of server software
When it is determined that the type of the server software is a web server, it is determined whether the specific process is a process generated by the server software or a process generated by software other than the server software. Execute the process to
The determination program according to claim 2, wherein the process is executed.
前記コンピュータに、
前記子プロセスの数が前記コネクションの数以上である場合、前記特定のプロセスを前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項1記載の判定プログラム。
On the computer
When the number of child processes is equal to or greater than the number of connections, it is determined that the specific process is a process generated by the server software.
The determination program according to claim 1, wherein the process is executed.
前記コンピュータに、
前記スレッドの数が前記コネクションの数より大きい場合、前記特定のプロセスを前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項1記載の判定プログラム。
On the computer
If the number of threads is greater than the number of connections, it is determined that the particular process is a process spawned by the server software.
The determination program according to claim 1, wherein the process is executed.
前記コンピュータに、
前記サーバソフトウェアの種別を判定し、
前記サーバソフトウェアの種別がアプリケーションサーバであると判定された場合に、前記特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する処理を実行する、
処理を実行させることを特徴とする請求項4または5記載の判定プログラム。
On the computer
Determine the type of server software
When it is determined that the type of the server software is an application server, it is determined whether the specific process is a process generated by the server software or a process generated by software other than the server software. Execute the process to
The determination program according to claim 4 or 5, wherein the process is executed.
前記コネクションはTCPコネクションであることを特徴とする請求項1〜6のいずれか1項に記載の判定プログラム。 The determination program according to any one of claims 1 to 6, wherein the connection is a TCP connection. 前記複数のプロセス間の関係を示す情報は、前記複数のプロセスに対応する実行ファイルの、ディレクトリにおける格納位置を示す情報であり、
前記コンピュータに、
前記特定のプロセス以外の前記複数のプロセスのうち、プロセスの実行ファイルが前記特定のプロセスの実行ファイルと同一のディレクトリ、または前記特定のプロセスの実行ファイルが格納されたディレクトリの配下のディレクトリに格納されるプロセスを、前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項1〜7のいずれか1項に記載の判定プログラム。
The information indicating the relationship between the plurality of processes is information indicating the storage location of the executable file corresponding to the plurality of processes in the directory.
On the computer
Of the plurality of processes other than the specific process, the process executable file is stored in the same directory as the specific process executable file, or in a directory under the directory in which the specific process executable file is stored. Is determined to be a process generated by the server software.
The determination program according to any one of claims 1 to 7, wherein the process is executed.
前記コンピュータに、
特定の種別のサーバソフトウェアが動作する第1の仮想マシンにおけるリソース使用量に、前記特定の種別のサーバソフトウェアが動作する1以上の他の仮想マシンにおける前記サーバソフトウェアにより生成されるプロセスによるリソース使用量を合算した値が所定の閾値以下となる場合、前記第1の仮想マシンのサーバソフトウェアと前記他のマシンのサーバソフトウェアとを、1つの仮想マシンで動作させることが可能と判定する、
ことを特徴とする請求項1〜8のいずれか1項に記載の判定プログラム。
On the computer
The resource usage in the first virtual machine running the specific type of server software is combined with the resource usage by the process generated by the server software in one or more other virtual machines running the specific type of server software. When the total value of is equal to or less than a predetermined threshold value, it is determined that the server software of the first virtual machine and the server software of the other machine can be operated by one virtual machine.
The determination program according to any one of claims 1 to 8, wherein the determination program is characterized by the above.
コンピュータに、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスによるリソースの使用状況を示す情報を取得し、
前記複数のプロセスによるリソースの使用状況に示され得る複数の状態それぞれと、前記複数の状態それぞれに対応する前記仮想マシンの動作状態それぞれと、前記動作状態それぞれにおける前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況を示す情報とを関連付けた判定情報に基づいて、取得した前記使用状況を示す情報に対応する前記仮想マシンの動作状態を特定し、
前記複数のプロセスそれぞれについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記判定情報において特定した前記動作状態と関連付けられた前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況に合致するか否かに基づいて判定する、
処理を実行させることを特徴とする判定プログラム。
On the computer
Acquires information indicating the resource usage status by multiple processes running in the virtual machine on which the server software is installed.
It depends on each of the plurality of states that can be shown in the resource usage status by the plurality of processes, each of the operating states of the virtual machine corresponding to each of the plurality of states, and the process generated by the server software in each of the operating states. Based on the judgment information associated with the information indicating the resource usage status, the operating status of the virtual machine corresponding to the acquired information indicating the usage status is specified.
For each of the plurality of processes, the server software associated with the operating state specified in the determination information as to whether it is a process generated by the server software or a process generated by software other than the server software. Judgment based on whether the resource usage by the process generated by
A judgment program characterized by executing a process.
前記コンピュータに、
前記サーバソフトウェアの種別を判定し、
前記サーバソフトウェアの種別がデータベースサーバであると判定された場合に、前記特定する処理および前記判定する処理を行なう、
処理を実行させることを特徴とする請求項10記載の判定プログラム。
On the computer
Determine the type of server software
When it is determined that the type of the server software is a database server, the specifying process and the determining process are performed.
The determination program according to claim 10, wherein the process is executed.
前記仮想マシンは、情報処理システムに含まれるデータベースサーバが動作する仮想マシンであり、
前記コンピュータに、
所定の期間に含まれる特定の期間中の、前記情報処理システムに含まれるウェブサーバが動作する仮想マシンにおけるデータ受信量に対するデータ送信量の比率が、前記所定の期間における前記比率の平均値よりも小さくなる場合、前記特定の期間を前記情報処理システムの応答性能が低下した期間であると判定し、
前記特定の期間が前記情報処理システムの応答性能が低下した期間であると判定された場合、前記特定の期間における前記情報処理システムに含まれる複数の仮想マシンの間のコネクション数に基づいて、前記特定の期間が前記データベースサーバが動作する仮想マシンの応答性能が低下した期間であるか否かを判定し、
前記特定の期間が前記データベースサーバが動作する仮想マシンの応答性能が低下した期間であると判定された場合、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する処理を行なう、
処理を実行させることを特徴とする請求項10記載の判定プログラム。
The virtual machine is a virtual machine on which a database server included in an information processing system operates.
On the computer
The ratio of the amount of data transmitted to the amount of data received by the virtual machine in which the web server included in the information processing system operates during the specific period included in the predetermined period is larger than the average value of the ratio in the predetermined period. If it becomes smaller, it is determined that the specific period is a period in which the response performance of the information processing system has deteriorated.
When it is determined that the specific period is a period in which the response performance of the information processing system is deteriorated, the said is based on the number of connections between a plurality of virtual machines included in the information processing system in the specific period. It is determined whether or not the specific period is the period during which the response performance of the virtual machine on which the database server operates has deteriorated.
When it is determined that the specific period is the period during which the response performance of the virtual machine on which the database server operates has deteriorated, either a process generated by the server software or a process generated by software other than the server software. Performs the process of determining whether or not
The determination program according to claim 10, wherein the process is executed.
前記コンピュータに、
前記サーバソフトウェアにより生成されるプロセスであると判定されたプロセスが存在する場合、記憶部に記憶された、複数のプロセス間の関係を示す情報に基づいて特定される、前記複数のプロセスの内の前記サーバソフトウェアにより生成されるプロセスであると判定されたプロセスと所定の関係を有するプロセスを、前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項10〜12のいずれか1項に記載の判定プログラム。
On the computer
If there is a process determined to be a process generated by the server software, the process is among the plurality of processes that is stored in the storage unit and is specified based on the information indicating the relationship between the plurality of processes. A process having a predetermined relationship with a process determined to be a process generated by the server software is determined to be a process generated by the server software.
The determination program according to any one of claims 10 to 12, wherein the process is executed.
コンピュータが、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスの内の特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記仮想マシンについて確立されたコネクションの数と、前記特定のプロセスが生成する子プロセスまたはスレッドの数と、に基づいて判定し、
前記特定のプロセスが前記サーバソフトウェアにより生成されるプロセスであると判定された場合、記憶部に記憶された、前記複数のプロセス間の関係を示す情報に基づいて、前記特定のプロセス以外の前記複数のプロセスについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する、
ことを特徴とする判定方法。
The computer
Whether a specific process among a plurality of processes running in a virtual machine in which the server software is installed is a process generated by the server software or a process generated by software other than the server software. Determined based on the number of connections established for the virtual machine and the number of child processes or threads spawned by the particular process.
When it is determined that the specific process is a process generated by the server software, the plurality of processes other than the specific process are stored in the storage unit based on the information indicating the relationship between the plurality of processes. Whether the process of the above is a process generated by the server software or a process generated by software other than the server software.
Judgment method characterized by that.
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスの内の特定のプロセスが、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記仮想マシンについて確立されたコネクションの数と、前記特定のプロセスが生成する子プロセスまたはスレッドの数と、に基づいて判定する第1の判定部と、
前記特定のプロセスが前記サーバソフトウェアにより生成されるプロセスであると判定された場合、記憶部に記憶された、前記複数のプロセス間の関係を示す情報に基づいて、前記特定のプロセス以外の前記複数のプロセスについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する第2の判定部と、
を備えることを特徴とする判定装置。
Whether a specific process among a plurality of processes running in a virtual machine in which the server software is installed is a process generated by the server software or a process generated by software other than the server software. A first determination unit that determines based on the number of connections established for the virtual machine and the number of child processes or threads spawned by the particular process.
When it is determined that the specific process is a process generated by the server software, the plurality of processes other than the specific process are stored in the storage unit based on the information indicating the relationship between the plurality of processes. A second determination unit that determines whether the process is a process generated by the server software or a process generated by software other than the server software.
A determination device comprising.
コンピュータが、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスによるリソースの使用状況を示す情報を取得し、
前記複数のプロセスによるリソースの使用状況に示され得る複数の状態それぞれと、前記複数の状態それぞれに対応する前記仮想マシンの動作状態それぞれと、前記動作状態それぞれにおける前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況を示す情報とを関連付けた判定情報に基づいて、取得した前記使用状況を示す情報に対応する前記仮想マシンの動作状態を特定し、
前記複数のプロセスそれぞれについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記判定情報において特定した前記動作状態と関連付けられた前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況に合致するか否かに基づいて判定する、
ことを特徴とする判定方法。
The computer
Acquires information indicating the resource usage status by multiple processes running in the virtual machine on which the server software is installed.
It depends on each of the plurality of states that can be shown in the resource usage status by the plurality of processes, each of the operating states of the virtual machine corresponding to each of the plurality of states, and the process generated by the server software in each of the operating states. Based on the judgment information associated with the information indicating the resource usage status, the operating status of the virtual machine corresponding to the acquired information indicating the usage status is specified.
For each of the plurality of processes, the server software associated with the operating state specified in the determination information as to whether it is a process generated by the server software or a process generated by software other than the server software. Judgment based on whether the resource usage by the process generated by
Judgment method characterized by that.
コンピュータが、
サーバソフトウェアが導入された仮想マシンで動作する複数のプロセスによるリソースの使用状況を示す情報を取得し、
前記複数のプロセスによるリソースの使用状況に示され得る複数の状態それぞれと、前記複数の状態それぞれに対応する前記仮想マシンの動作状態それぞれと、前記動作状態それぞれにおける前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況を示す情報とを関連付けた判定情報に基づいて、取得した前記使用状況を示す情報に対応する前記仮想マシンの動作状態を特定する特定部と、
前記複数のプロセスそれぞれについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを、前記判定情報において特定した前記動作状態と関連付けられた前記サーバソフトウェアにより生成されるプロセスによるリソースの使用状況に合致するか否かに基づいて判定する判定部と、
を備えることを特徴とする判定装置。
The computer
Acquires information indicating the resource usage status by multiple processes running in the virtual machine on which the server software is installed.
It depends on each of the plurality of states that can be shown in the resource usage status by the plurality of processes, each of the operating states of the virtual machine corresponding to each of the plurality of states, and the process generated by the server software in each of the operating states. Based on the judgment information associated with the information indicating the resource usage status, the specific unit that identifies the operating state of the virtual machine corresponding to the acquired information indicating the usage status, and the specific unit.
For each of the plurality of processes, the server software associated with the operating state specified in the determination information as to whether it is a process generated by the server software or a process generated by software other than the server software. Judgment unit that judges based on whether or not it matches the resource usage status by the process generated by
A determination device comprising.
JP2017010521A 2017-01-24 2017-01-24 Judgment program, judgment method and judgment device Active JP6772857B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017010521A JP6772857B2 (en) 2017-01-24 2017-01-24 Judgment program, judgment method and judgment device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017010521A JP6772857B2 (en) 2017-01-24 2017-01-24 Judgment program, judgment method and judgment device

Publications (2)

Publication Number Publication Date
JP2018120354A JP2018120354A (en) 2018-08-02
JP6772857B2 true JP6772857B2 (en) 2020-10-21

Family

ID=63044342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017010521A Active JP6772857B2 (en) 2017-01-24 2017-01-24 Judgment program, judgment method and judgment device

Country Status (1)

Country Link
JP (1) JP6772857B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5176877B2 (en) * 2008-10-31 2013-04-03 富士通株式会社 Configuration definition information generation program, configuration definition information generation apparatus, configuration definition information generation method, and monitoring program
JP5080428B2 (en) * 2008-11-14 2012-11-21 株式会社日立製作所 Configuration management server, name identification method and name identification program
JP6072072B2 (en) * 2012-12-12 2017-02-01 株式会社東芝 Cloud system management apparatus, cloud system, rearrangement method, and program
JP6292045B2 (en) * 2014-06-16 2018-03-14 富士通株式会社 Software information management program, software information management apparatus, and software information management method

Also Published As

Publication number Publication date
JP2018120354A (en) 2018-08-02

Similar Documents

Publication Publication Date Title
US7933995B2 (en) Computer program and apparatus for controlling computing resources, and distributed processing system
JP6571161B2 (en) Method, apparatus, and system for exploring application topology relationships
EP2972746B1 (en) Storage unit selection for virtualized storage units
US10127080B2 (en) Dynamically controlled distributed workload execution
EP3254193B1 (en) Dynamically controlled workload execution
US9244731B2 (en) Migration management apparatus and migration management method
WO2013132735A1 (en) Virtual machine managing device and virtual machine managing method
KR20170110708A (en) Opportunistic Resource Migration for Resource Deployment Optimization
US9569271B2 (en) Optimization of proprietary workloads
US9515901B2 (en) Automatic asynchronous handoff identification
EP3254194B1 (en) Dynamically controlled workload execution by an application
CN104077212A (en) Pressure test system and method
US11711426B2 (en) Providing storage resources from a storage pool
JP2012093992A (en) Data center controlling system, data center controlling apparatus and program
US10680916B2 (en) Management of network elements in a cloud platform
CN106775942B (en) Cloud application-oriented solid-state disk cache management system and method
JP6772857B2 (en) Judgment program, judgment method and judgment device
CN114817134A (en) Snapshot task monitoring method, device, equipment and medium
CN114466401A (en) Image transmission method and electronic device
KR102359681B1 (en) Cyber remote management device for multi-client
US8799919B2 (en) Load balancing management of newly discovered data processing systems using peer control points

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20180528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200821

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200914

R150 Certificate of patent or registration of utility model

Ref document number: 6772857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150