JP6772857B2 - Judgment program, judgment method and judgment device - Google Patents
Judgment program, judgment method and judgment device Download PDFInfo
- 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
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
情報処理システムは、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
図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.
サーバとしての各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.
本発明を実施する実施例について、図面とともに説明をする。 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
情報処理装置200上では複数台のVMが動作し、それぞれのVMはいずれかの種別のサーバとして動作する。図2では、情報処理装置が1台の態様を示しているが、情報処理装置200は複数台であっても良い。また、例えば、図2の情報処理装置200が、複数台の情報処理装置を備えるデータセンタであっても良い。
A plurality of VMs operate on the
集約制御装置300は、有線または無線のネットワーク500を介して、情報処理装置200と通信可能に接続されている。集約制御装置300は、情報処理装置200上で動作するVMについて、プロセスごとのリソース使用量の特定や、プロセスがサーバの種別に対応した固有のソフトウェアのプロセスであるか否かの判定を実行する。なお、以降の説明では、サーバの種別に対応した固有のソフトウェアのプロセスを、便宜上「サーバ固有プロセス」と記載することがある。サーバ固有プロセスは、VMにおけるサーバソフトウェアのプロセス、サーバソフトウェアにより生成されるプロセス、あるいは、サーバの稼動に直接関係するプロセスと言うこともできる。
The
端末装置400は、ネットワーク500を介して、情報処理装置200と通信可能に接続されている。端末装置400は、情報処理装置200上で動作するVMにより構成される情報処理システム(上述した3階層システムなどである)に対してリクエストを送信し、リクエストに対する応答(レスポンス)を受信する。なお、以降の説明では、特に断りのない限り、単にVMと記載した場合には、情報処理装置200上で動作し、サーバ1つが自装置上に導入されたVMを意味する。
The terminal device 400 is communicably connected to the
〔集約制御装置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
入力部201は、集約制御装置300に対する情報の入力を受け付ける。
The
表示部202は、後述するサーバ集約の可否等の情報を出力する。
The
通信部203は、集約制御装置300が他の装置と通信を行う際のインターフェイスとなる。
The
処理部210は、動作監視部211、ディレクトリ情報取得部212、判定部213、集約制御部214を備える。
The
動作監視部211は、情報処理装置200で動作するVMの動作を監視し、動作情報を収集する。動作監視部211が収集する動作情報の詳細は後述する。
The
ディレクトリ情報取得部212は、VMで動作するプロセスの実行ファイルに関する情報を取得する。ディレクトリ情報取得部212は、取得した情報を、例えば、後述するディレクトリ情報記憶部224に記憶する。
The directory
判定部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
図3Bは、図3Aに示した記憶部220の機能ブロック図である。記憶部220は、例えば、図3Bに示すように、動作情報記憶部221、ネットワーク情報記憶部222、構成情報記憶部223、ディレクトリ情報記憶部224、ディスクアクセス情報記憶部225、送受信量情報記憶部226、ボトルネック判定情報記憶部227を備える。それぞれについては、記憶される情報の具体例とともに、詳細を後述する。
FIG. 3B is a functional block diagram of the
本実施例におけるプロセス判定処理について説明を行なう前に、プロセス判定処理に利用される情報の収集について説明する。 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
OS種別2231は、VMそれぞれのOSが何であるかを示す情報である。図4では「OS−A 64bit」、「OS−B 32bit」、「OS−B 64bit」と記載している。ただし、図4に示すデータの形式はあくまで一例であり、VMそれぞれのOSが何であるかを特定可能な情報であれば、具体的なデータの形式は適宜変更可能である。
The
IPアドレス2232は、VMに割り当てられたIPアドレスを示す情報である。図4では、説明のために「IP_X1」、「IP_X2」、「IP_X3」と記載しているが、実際は、例えばIPv4(version 4)やIPv6(version 6)に準拠したデータ形式である。
The
ホスト名2233は、VMそれぞれに付与されたホスト名(コンピュータ名)を示す情報である。ホスト名2233は、VMそれぞれが一意に識別可能な態様であれば、図4に示す態様に限定されなくても良い。
The
サーバ種別2234は、VMそれぞれで動作するサーバの種別を示す情報である。本実施例においては、サーバの種別は、各VMに導入された業務システムの種別と言うこともできる。本実施例においては、サーバの種別として、Webサーバ、APサーバ、DBサーバを挙げている。なお、図4は、Webサーバ、APサーバ、DBサーバがそれぞれ1台、計3台分のVMの情報を示している。
The
〔ネットワーク情報記憶部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
ローカル側ソケット情報2221は、コネクションにおけるローカル側のホスト名とポート番号とを含む情報である。ここでローカル側とは、情報を取得したVM側のことを指す。なお、ローカル側ソケット情報2221は、例えば、ホスト名に代えて、ホストのIPアドレスを含む情報であっても良い。図5に示すローカル側ソケット情報2221は、ホスト名とポート番号とを「:(コロン)」で区切ったデータ形式であるが、データ中のホスト名とポート番号とを区別可能であれば、図5と異なるデータ形式でも良い。また、図5では説明のため、ポート番号を例えば「PORT_#113」のように記載しているが、実際のポート番号は、例えば16ビット(0〜65535)の数値である。
The
リモート側ソケット情報2222は、コネクションにおけるリモート側のホスト名とポート番号とを含む情報である。ここでリモート側とは、情報を取得したVMの通信相手のVM側のことを指す。リモート側ソケット情報2222についての具体的なデータ形式や変形例の採用可否については、ローカル側ソケット情報2221と同様である。
The remote
状態情報2223は、プロセス間通信の状態を示す情報である。図5では、例えば、「LISTEN」という状態と「ESTABLISHED」という状態とが示されている。「LISTEN」はコネクションの要求待ちであり、すなわちコネクションは確立されていない状態である。「ESTABLISHED」は、コネクションが確立されていることを示している。
The
PID2224は、ローカル側ソケット情報2221に示されるローカル側ソケットが属しているプロセスを識別する識別情報である。図5では、例えば「P_X110」といった形式で記載をしているが、具体的には、PIDは例えばプロセスを一意に識別する番号(数値)である。
The
図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:
〔動作情報記憶部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
PID2211は、プロセスを識別する識別情報であり、例えば、図5のPID2224と同様の態様であって良い。
The
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
CPU使用率2213は、VMに割り当てられたCPUリソースに対するプロセスそれぞれについてのCPU使用率を示す。
The
実メモリ使用量2214は、プロセスそれぞれが使用するメモリ容量(実メモリ容量)を示す。また、仮想メモリ使用量2215は、プロセスそれぞれが使用する仮想メモリ容量を示す。
The actual
スレッド数2216は、プロセスが生成するスレッドの数を示す情報である。
The number of
実行ファイル情報2217は、各プロセスの実行ファイルを特定する情報である。なお、本実施例においては、実行ファイル情報2217は、例えば、各プロセスの実行ファイル名や実行コマンド名であっても良い。図6の態様では、実行ファイル情報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
実行ファイル情報2241は、実行ファイルを特定する情報であり、例えば、図6の実行ファイル情報2217と同様の態様であって良い。
The
パス情報2242は、実行ファイル情報2241に示される実行ファイルが格納されたディレクトリのフルパスを示す情報である。
The
図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
〔ディスクアクセス情報記憶部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
PID2251は、プロセスを識別する識別情報であり、例えば、図5のPID2224と同様の態様であって良い。
The
読み込みデータ量2252は、プロセスによるVMに割り当てられた記憶領域から読み出す単位時間当たりのデータ量を示す。
The read
書き込みデータ量2253は、プロセスによるVMに割り当てられた記憶領域に対する単位時間当たりの書き込みデータ量を示す。
The
図8に示す情報は、例えば、iotopコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するVMに対して、iotopコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。
The information shown in FIG. 8 can be collected from the
〔送受信量情報記憶部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
ネットワークインターフェイス2261は、WebサーバのNetwork Interface Card(NIC)の識別情報である。
The
送信データ量2262は、Webサーバから端末装置400への単位時間当たりのデータ送信量を示す情報である。
The
受信データ量2263は、Webサーバが端末装置400から受信する単位時間当たりのデータ受信量を示す情報である。
The received
図9に示す情報は、例えば、ifconfigコマンド等を利用することにより、集約制御装置300が情報処理装置200から収集することができる。具体的には、例えば、集約制御装置300が、情報処理装置200上で動作するWebサーバのVMに対して、ifconfigコマンドの実行を指示することで、指示を受けたVMについての情報が取得される。そして、指示を受けたVMが取得した情報を集約制御装置300に送信することで、集約制御装置300は情報を取得することができる。
The information shown in FIG. 9 can be collected by the
動作情報記憶部221、ネットワーク情報記憶部222、ディスクアクセス情報記憶部225、送受信量情報記憶部226のそれぞれに記憶される情報は、例えば、集約制御装置300が所定の周期で複数回取得する。構成情報記憶部223、ディレクトリ情報224に記憶される情報については、例えば、集約制御装置300があるタイミングで一度取得したものであって良い。構成情報記憶部223、ディレクトリ情報224に記憶される情報については、システムの構成変更が発生しなければ変化の起こらない情報であるためである。ただし、構成情報記憶部223、ディレクトリ情報224に記憶される情報が、例えば、異なる複数のタイミングで取得されたうちの最新のタイミングで取得された情報であっても構わない。
The information stored in each of the operation
〔判定処理の詳細〕
本実施例におけるプロセス判定処理について、詳細を説明する。
[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
次に判定部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
ステップ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
以降では、ステップ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
図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
ステップ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
そして、第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
ステップ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
より詳細には、例えば、第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
Condition 1: The value (host name and port number) of the
Condition 2: The value of the remote
Condition 3: The state of the connection shown in the
なお、上記の条件1〜3に加え、さらに下記が条件として加えられても良い。
条件4:WebサーバのVMの状態情報2223に示されるコネクションの状態も「ESTABLISHED」である。
条件5:コネクションのプロトコルがTCPである。
In addition to the
Condition 4: The connection status shown in the
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
ステップ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
第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
ステップ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
情報処理システムのレスポンスが悪化していない場合、情報処理システムにおける、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
ボトルネック種別2271は、ボトルネックの種別を示す情報である。図17に示すボトルネック種別2271について、「CPU」はCPUによるボトルネックであることを示す。また、「ストレージ(ディスク)」は、ストレージによるボトルネックであることを示す。なおストレージとは、VMについて、メモリとは別に割り当てられる記憶手段、あるいは記憶領域を示し、例えば、情報処理装置200が備えるHard DiSk Drive(HDD)等の記憶装置の記憶領域の一部が割り当てられたものである。
The
「排他制御」は、データベースへのアクセスにおける排他制御による処理待ち(ロック)によるボトルネックであることを示す。また、「ネットワーク」は、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
プロセスリソース傾向2273は、ボトルネックの種別それぞれについての、レスポンス悪化期間におけるサーバ固有プロセスのリソースの使用状況の傾向を示す情報である。
The
図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
ステップ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
ステップ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
ステップ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
図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は、比較例と本実施例のそれぞれにおいて、サーバを集約した際のリソース使用量として推定される使用量を示している。
比較例においては、サーバ固有プロセスとサーバ固有プロセス以外のプロセスとを区別せずに、単に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
集約制御部214は、例えば、サーバの集約が可能とされた複数台のVMの識別情報を表示部202に表示することとしても良い。また、集約制御部214は、入力部によりそれぞれの識別情報が入力された複数台のVMについて、サーバの集約が可能か否かを判定し、判定の結果を表示部202に表示することとしても良い。また、集約制御部214は、VMのプロセスそれぞれについて、サーバ固有プロセスであるか否かを示す情報を表示部202に表示することとしても良いし、図18のような態様で、VMそれぞれや、サーバ集約後のVMのリソース使用量を表示部202に表示することとしても良い。あるいは、集約制御部214は、サーバの集約が可能とされた複数台のVMについてサーバの集約を実行させる指示を情報処理装置200に送信することで、サーバの集約を実行しても良い。
For example, the
なお、サーバの集約を行う際には、サーバの種別が同一である複数の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
集約制御装置300は、例えば、それぞれがバス1901で相互に接続された、CPU1902、メモリ1903、記憶装置1904、NIC1905、媒体読取装置1906、入力装置1907、表示装置1908、を備える情報処理装置である。
The
CPU1902は、集約制御装置300における種々の動作制御を行う。メモリ1903、記憶装置1904は、本実施例で説明した各種の処理を実行するプログラムや、各種の処理に利用される種々のデータを記憶する。記憶装置1904は、例えば、HDDや、Solid State Drive(SSD)等の記憶媒体である。
The
CPU1902は、メモリ1903あるいは記憶装置1904に記憶されたプログラムを読み出して処理、制御を実行することで、図3Aに示す処理部210および処理部210に含まれる各機能部が実現されても良い。なお、CPU1902は、Micro Processing Unit(MPU)、Application Specific Integrated Circuit(ASIC)などのハードウェア回路に置き換えることも可能である。また、メモリ1903、記憶装置1904のそれぞれは、図3Aおよび図3Bに記載した記憶部220として機能することができる。
The
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
媒体読取装置1906は、記録媒体からデータを読み取るための装置であり、例えば、CD−ROMやDVD−ROM等のディスク媒体に記憶されたデータを読み取るディスクドライブや、メモリカードに記憶されたデータを読み取るカードスロット等である。前述した記憶部220に記憶されるデータの一部または全部は、媒体読取装置1906を用いて読み取り可能な記録媒体に記憶されることとしても良い。
The
入力装置1907は、ユーザからの入力や指定を受け付ける装置である。入力装置1907の例としては、例えばキーボードやマウス、タッチパッドが挙げられる。表示装置1908は、CPU1902の制御の下で、種々の情報の表示を行う。表示装置1908は、例えば液晶ディスプレイである。
The
情報処理装置200、端末装置400は、例えば、図19に示した集約制御装置300と同様のハードウェア構成が採用可能であるため、説明を省略する。ただし、CPU、メモリ、記憶装置、NIC、媒体読取装置、入力装置、表示装置の具体的なハードウェア(型式や性能等)は、情報処理装置200、集約制御装置300、端末装置400のそれぞれで異なって構わない。例えば、情報処理装置200は、集約制御装置300や端末装置400よりも演算能力が高いCPU、より大容量のメモリが搭載されることとしても良い。
Since the
情報処理装置200は、例えば、1台または複数台の物理サーバ装置であっても良いし、本実施例における情報処理装置200は、複数台のコンピュータを備えるデータセンタに置き換えられても良い。また、情報処理装置200が複数台のコンピュータを備えるデータセンタに置き換えられる場合は、データセンタのコンピュータ資源の一部を用いて集約制御装置300が実現されることとしても良い。
The
また、端末装置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
〔総括〕
以上に説明したように、本実施例によれば、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
また、本実施例において、サーバ固有プロセスであるか否かの判定に利用される情報の収集に用いられる各種のコマンドは、例えば、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
また、本実施例においては、ディレクトリにプロセスの実行ファイルの格納状態に基づいて、サーバのバックグランドプロセスなどもサーバ固有プロセスとして特定することができ、判定精度の向上を実現できる。これは、本実施例において説明したサーバ固有プロセスの追加特定処理に対応する。なお、発明者の検討によれば、例えば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
1903
1906
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.
前記コンピュータに、
前記特定のプロセス以外の前記複数のプロセスのうち、プロセスの実行ファイルが前記特定のプロセスの実行ファイルと同一のディレクトリ、または前記特定のプロセスの実行ファイルが格納されたディレクトリの配下のディレクトリに格納されるプロセスを、前記サーバソフトウェアにより生成されるプロセスであると判定する、
処理を実行させることを特徴とする請求項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.
前記特定のプロセスが前記サーバソフトウェアにより生成されるプロセスであると判定された場合、記憶部に記憶された、前記複数のプロセス間の関係を示す情報に基づいて、前記特定のプロセス以外の前記複数のプロセスについて、前記サーバソフトウェアにより生成されるプロセスと前記サーバソフトウェア以外のソフトウェアにより生成されるプロセスのいずれであるかを判定する第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.
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)
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 |
-
2017
- 2017-01-24 JP JP2017010521A patent/JP6772857B2/en active Active
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 |