JP4646649B2 - COMMUNICATION SERVER SETTING VALUE DETERMINING DEVICE, ITS PROGRAM, AND ITS METHOD - Google Patents
COMMUNICATION SERVER SETTING VALUE DETERMINING DEVICE, ITS PROGRAM, AND ITS METHOD Download PDFInfo
- Publication number
- JP4646649B2 JP4646649B2 JP2005035949A JP2005035949A JP4646649B2 JP 4646649 B2 JP4646649 B2 JP 4646649B2 JP 2005035949 A JP2005035949 A JP 2005035949A JP 2005035949 A JP2005035949 A JP 2005035949A JP 4646649 B2 JP4646649 B2 JP 4646649B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- maximum
- server device
- response
- parallel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は,インターネット等の通信回線を介して複数の端末装置から受信される処理要求に応じて処理を実行するサーバ装置について,複数の前記処理要求が受信された場合の前記サーバ装置における前記処理要求の最大並列処理数の設定値と最大待ち行列数の設定値とを決定する通信サーバ設定値決定装置及びその方法並びにその処理を前記サーバ装置と通信可能なコンピュータに実行させるための通信サーバ設定値決定プログラムに関するものである。 The present invention relates to a server device that performs processing in response to processing requests received from a plurality of terminal devices via a communication line such as the Internet, and the processing in the server device when a plurality of the processing requests are received. Communication server setting value determining apparatus and method for determining a setting value for the maximum parallel processing number of requests and a setting value for the maximum number of queues, and a communication server setting for causing a computer communicable with the server apparatus to execute the processing It relates to a value determination program.
インターネット等の通信回線を介して複数の端末装置から受信される処理要求(コンテンツの送信要求等)に応じて処理を実行するサーバ装置(通信サーバ装置)では,ほぼ同時に複数の処理要求(同時アクセス)があった場合に,その処理要求に応じた処理を,いわゆるマルチタスク処理やスレッド処理によって最大いくつまで並行処理を行うか(以下,その数を最大並列処理数という)の設定値や,その最大並列処理数の設定値を超える数の前記処理要求が重複して(ほぼ同時に)受信された場合に,その処理要求をいくつまで待ち行列に加えるか(以下,その数を最大待ち行列数という)の設定値により,端末装置への応答時間が大きく変わる。
例えば,前記最大並列処理数の設定値がサーバ装置の処理能力に対して小さ過ぎると,サーバ装置の能力を十分引き出せない結果,処理要求の待ち行列数が多くなり,応答時間が長くなる。また,そのような場合に,許容される最大応答時間(許容応答時間)を満たすために前記最大待ち行列数を小さくすると,許容応答時間を満たすことができる反面,受け付けが拒否される処理要求(インターネット等で,「サーバが混雑しています」等の応答が端末装置に応答される状態)が増える。
一方,前記最大並列処理数の設定値がサーバ装置の処理能力に対して多き過ぎると,サーバ装置の処理効率が著しく低下し,一部の処理要求を待ち行列に加えて後から処理するよりも返って応答時間が長くなる。
従って,サーバ装置における最大並列処理数や最大待ち行列数の設定値を適切(最適)に決定することは,サーバ装置の処理能力を最大限引き出して応答時間を最小化する上で,非常に重要な設計項目である。
従来,このようなサーバ装置における最大並列処理数や最大待ち行列数の設定値は,経験的或いは試行錯誤的に設計者の判断によって決定されていた。
また,比較的大規模なサーバシステムでは,複数のサーバ装置と端末装置からの処理要求を受け付けて複数のサーバ装置へその処理を振り分けるロードバランサとを備えた負荷分散システムが採用されることが多い。
また,例えば,特許文献1には,サーバの処理能力を表すパラメータとして,ファイルサイズに依存する処理容量と,オーバヘッド処理時間と,複数端末からの同時アクセス時の性能劣化度とを用いて,サーバで所定サイズのファイルを送信するのに要する処理時間を推定する方法の一例が示されている。
For example, if the setting value of the maximum parallel processing number is too small with respect to the processing capacity of the server device, the server device capacity cannot be sufficiently extracted, resulting in an increase in the number of processing request queues and a longer response time. In such a case, if the maximum number of queues is reduced in order to satisfy the maximum allowable response time (allowable response time), the allowable response time can be satisfied, but the processing request that is rejected ( In the Internet and the like, a response such as “the server is busy” is returned to the terminal device).
On the other hand, if the setting value of the maximum number of parallel processes is too large for the processing capacity of the server device, the processing efficiency of the server device is significantly reduced, rather than adding some processing requests to the queue and processing them later. The response time is increased.
Therefore, it is very important to appropriately determine the setting values for the maximum number of parallel processes and the maximum number of queues in the server device in order to maximize the processing capability of the server device and minimize the response time. Design item.
Conventionally, the set values of the maximum number of parallel processes and the maximum number of queues in such a server apparatus are determined empirically or by trial and error based on the judgment of the designer.
Moreover, in a relatively large-scale server system, a load distribution system including a load balancer that receives processing requests from a plurality of server devices and terminal devices and distributes the processing to the plurality of server devices is often employed. .
Further, for example, in
しかしながら,サーバ装置における最大並列処理数や最大待ち行列数の設定値を,設計者により経験的或いは試行錯誤的に決定すると,それらが適切(最適)に決定されず,サーバ装置の処理能力を十分に引き出すことができない,或いは設計条件として要求される応答時間を満足できないという結果になりやすいという問題点があった。
また,ロードバランサを設けて負荷分散を行うサーバシステムは,比較的小規模なサーバ装置に適用することはシステムが複雑化,高コスト化して現実的でないという問題点があった。
また,特許文献1に示される技術は,端末からの同時アクセス数は考慮されているが,前記最大待ち行列数が考慮されておらず,設計条件として要求される許容応答時間を保証できないという問題点があった。
従って,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,シンプルなシステム構成によってサーバ装置の処理能力を最大限引き出し,応答時間の短縮と許容応答時間の確保とが可能なようにサーバ装置の最大並列処理数の設定値と最大待ち行列数の設定値を決定できる通信サーバ設定値決定装置及びその方法並びにその処理を前記サーバ装置と通信可能なコンピュータに実行させるための通信サーバ設定値決定プログラムを提供することにある。
However, if the designer determines the setting values for the maximum number of parallel processes and the maximum number of queues empirically or by trial and error, they cannot be determined appropriately (optimally), and the processing capacity of the server apparatus is sufficient. However, there is a problem that the result cannot easily satisfy the response time required as a design condition.
In addition, a server system that provides a load balancer and distributes load has a problem that it is not practical to apply to a relatively small server device because the system becomes complicated and expensive.
The technique disclosed in
Accordingly, the present invention has been made in view of the above circumstances, and the object of the present invention is to maximize the processing capacity of the server device with a simple system configuration, to shorten the response time and to secure the allowable response time. Communication server setting value determining apparatus and method capable of determining the setting value of the maximum parallel processing number and the maximum number of queues of the server apparatus as possible, and a method for causing a computer communicable with the server apparatus to execute the process Is to provide a communication server set value determination program.
上記目的を達成するために本発明は,インターネット等の通信回線を介して複数の端末装置から受信される処理要求に応じて処理を実行するサーバ装置について,複数の前記処理要求が受信された場合の前記サーバ装置における前記処理要求の最大並列処理数の設定値と,複数の並列処理に対して備えられた1つの待ち行列に加える処理要求の数の最大値を示す最大待ち行列数の設定値とを決定する通信サーバ設定値決定装置及びその方法並びにその処理を前記サーバ装置と通信可能なコンピュータに実行させるための通信サーバ設定値決定プログラムとして構成されるものであり,以下のような処理を実行するものである。
即ち,まず,前記最大並列処理数の設定値が設定されていない状態,或いは前記サーバ装置の処理能力として並列処理可能な数以上の範囲で設定された状態で,前記サーバ装置に対し,前記通信回線を介して前記サーバ装置の処理能力として並列処理可能な数(例えば,OS等の制約上の最大数)の1又は複数の前記処理要求を同時に(ほぼ同時を含む)送信してその応答を受信する処理を,その同時に送信する前記処理要求の数を変えて複数回実行し,そのときの前記処理要求の送信及びその応答の受信ごとに,前記処理要求を略同時に送信した後からそれらの応答の受信完了までの時間を表す応答時間を測定し,その測定結果に基づいて前記サーバ装置における並列処理数ごとの処理効率を推定する。
ここで,送信した前記処理要求に対する全ての応答の完了後に次の前記処理要求を送信するようにすれば,同時送信する前記処理要求の数は,前記サーバ装置側における前記処理要求に応じた処理の並列処理数を表す。従って,同時送信する前記処理要求の数を変えた各条件下で,その条件(並列処理数)ごとの応答時間を測定することにより,前記サーバ装置における並列処理数ごとの処理効率を推定することが可能である。
推定する前記処理効率としては,例えば,並列処理数ごとに測定した応答時間を略同時に送信した処理要求の数で割った値又はそれを正規化した値を求める(推定する)ことが考えられる。
ここで,前記サーバ装置により前記最大並列処理数決定手段により決定された前記最大並列処理数の設定値の下で,該設定値に対応する前記処理効率推定手段の推定結果である前記処理効率で処理がなされたとしたときに,最大の応答待ち時間が前記応答許容時間と略等しくなるように,前記応答許容時間と,並列処理数ごとに測定した応答時間を略同時に送信した処理要求の数で割った値又はそれを正規化した値のうち最小である最小単位応答時間との差を,当該最小単位応答時間で割り,さらに,前記最大並列処理数の設定値を掛けた値を,前記最大待ち行列数の設定値として決定する。もちろん,所定の余裕率を考慮して,前記最大の応答待ち時間が前記応答許容時間よりも小さくなるように前記最大待ち行列数の設定値を決定することも考えられる。
次に,前記処理効率の推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定する。例えば,前記処理効率が最も高くなる前記サーバ装置における並列処理数(即ち,同時送信した前記処理要求の数)を前記最大並列処理数の設定値に決定する。
これにより,前記サーバ装置の能力を最大限に引き出せる前記最大並列処理数を設定できる。
これにより,サーバ装置の処理能力を最大限に引き出せるような前記最大並列処理数の設定値が設定された状態で,要求される前記応答許容時間を保証できるように前記最大待ち行列数の設定値を決定できる。
In order to achieve the above object, the present invention provides a case where a plurality of processing requests are received for a server device that executes processing in response to processing requests received from a plurality of terminal devices via a communication line such as the Internet. The setting value of the maximum number of parallel processing of the processing requests in the server device and the setting value of the maximum number of queues indicating the maximum number of processing requests to be added to one queue provided for a plurality of parallel processing Communication server set value determining apparatus and method thereof, and a communication server set value determining program for causing a computer communicable with the server apparatus to execute the process. It is something to execute.
That is, first, in a state where the set value of the maximum parallel processing number is not set, or in a state where the processing capacity of the server device is set in a range more than the number that can be processed in parallel , the communication with the server device is performed. As a processing capability of the server device via the line, one or a plurality of the processing requests that can be processed in parallel (for example, the maximum number on the limitation of the OS or the like) are simultaneously transmitted (including almost simultaneously), and the response is transmitted. The processing to be received is executed a plurality of times while changing the number of the processing requests to be transmitted at the same time , and at each transmission of the processing request and reception of the response, the processing requests are transmitted at substantially the same time. A response time representing a time until the reception of the response is completed is measured, and a processing efficiency for each parallel processing number in the server device is estimated based on the measurement result.
Here, if the next processing request is transmitted after completion of all responses to the transmitted processing request, the number of processing requests transmitted at the same time is the number of processing requests corresponding to the processing request on the server device side. Represents the number of parallel processes. Therefore, under each condition where the number of processing requests to be transmitted simultaneously is changed, the processing efficiency for each parallel processing number in the server apparatus is estimated by measuring the response time for each condition (number of parallel processing). Is possible.
As the processing efficiency to be estimated, for example, it is conceivable to obtain (estimate) a value obtained by dividing the response time measured for each parallel processing number by the number of processing requests transmitted substantially simultaneously, or a value obtained by normalizing it .
Here, under the set value of the maximum parallel processing number determined by the maximum parallel processing number determining unit by the server device, the processing efficiency which is an estimation result of the processing efficiency estimating unit corresponding to the set value When processing is performed, the response allowable time and the response time measured for each number of parallel processes are approximately the same as the number of processing requests transmitted at the same time so that the maximum response waiting time is approximately equal to the response allowable time. The difference between the divided unit value or the normalized minimum unit response time among the normalized values is divided by the minimum unit response time, and the value obtained by multiplying the set value of the maximum parallel processing number is the maximum value. It is determined as the set value for the number of queues. Of course, it is also possible to determine the set value of the maximum number of queues so that the maximum response waiting time is smaller than the allowable response time in consideration of a predetermined margin rate.
Next, a set value of the maximum number of parallel processes in the server device is determined based on the estimation result of the processing efficiency. For example, the number of parallel processes (that is, the number of processing requests transmitted simultaneously) in the server device with the highest processing efficiency is determined as the set value of the maximum number of parallel processes.
As a result, the maximum number of parallel processes that can maximize the capacity of the server device can be set.
As a result, the setting value of the maximum number of queues is set so that the required allowable response time can be guaranteed in a state where the setting value of the maximum number of parallel processings that can maximize the processing capacity of the server device is set. Can be determined.
本発明によれば,前記サーバ装置に対して同時送信する前記処理要求の数(即ち,前記サーバ装置における並列処理数)を変えた各条件下で,その条件(並列処理数)ごとの応答時間を測定して前記サーバ装置の処理効率を推定し,その推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定するので,前記サーバ装置の能力を最大限に引き出して応答時間を最大限に短縮できる前記最大並列処理数を設定できる。
さらに,前記サーバ装置の設計条件として与えられる前記処理要求に対する応答許容時間と,前述の処理により決定された前記最大並列処理数の設定値と,その設定値に対応する前述の推定の結果である前記処理効率とに基づいて,前記サーバ装置における前記処理要求の最大待ち行列数の設定値を決定するので,要求される前記応答許容時間を保証(確保)できるように前記最大待ち行列数の設定値を決定できる。
以上より,負荷分散システムのような複雑なシステム構成を要しないシンプルな構成により,前記サーバ装置の能力範囲内で,応答時間を短縮して許容応答時間を保証しつつ前記処理要求の受け付が拒否される頻度が極力少なくなるような前記最大並列処理数と前記最大待ち行列数の各設定値を決定できる。
According to the present invention, the response time for each condition (number of parallel processes) under each condition in which the number of processing requests simultaneously transmitted to the server apparatus (that is, the number of parallel processes in the server apparatus) is changed. Is measured to estimate the processing efficiency of the server device, and the setting value of the maximum parallel processing number in the server device is determined based on the estimation result. The maximum number of parallel processes that can be shortened to the maximum can be set.
Further, the allowable response time for the processing request given as a design condition of the server device, the set value of the maximum number of parallel processes determined by the above processing, and the result of the above estimation corresponding to the set value. Since the setting value of the maximum number of queues of the processing request in the server device is determined based on the processing efficiency, the maximum number of queues is set so that the required response allowable time can be guaranteed (secured). The value can be determined.
As described above, the processing request can be accepted while ensuring the allowable response time by shortening the response time within the capability range of the server device by a simple configuration that does not require a complicated system configuration such as a load distribution system. Each set value of the maximum number of parallel processes and the maximum number of queues can be determined so that the frequency of rejection is minimized.
以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
ここに,図1は本発明の実施形態に係る通信サーバ設定値決定装置Xの主要部の概略構成を表すブロック図,図2は通信サーバ設定値決定装置Xにおけるサーバ装置Yの最大並列処理数及び最大待ち行列数の各設定値を決定する処理の手順を表すフローチャート,図3はサーバ装置Yにおける並列処理数と通信サーバ設定値決定装置Xにより推定された処理効率との関係を表すグラフ,図4は通信サーバ設定値決定装置Xにより決定された最大並列処理数及び最大待ち行列数の設定値が設定されたサーバ装置Yの負荷試験により得られた応答時間の測定結果を表すグラフである。
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings so that the present invention can be understood. The following embodiment is an example embodying the present invention, and does not limit the technical scope of the present invention.
FIG. 1 is a block diagram showing a schematic configuration of a main part of the communication server set value determining device X according to the embodiment of the present invention, and FIG. 2 is a maximum parallel processing number of the server device Y in the communication server set value determining device X. FIG. 3 is a flowchart showing the procedure of determining each set value of the maximum queue number, FIG. 3 is a graph showing the relationship between the number of parallel processes in the server device Y and the processing efficiency estimated by the communication server set value determining device X, FIG. 4 is a graph showing the response time measurement result obtained by the load test of the server device Y in which the setting values of the maximum parallel processing number and the maximum queue number determined by the communication server setting value determining device X are set. .
まず,図1に示すブロック図を用いて,本発明の実施形態に係る通信サーバ設定値決定装置X(以下,単に決定装置Xという)の概略構成について説明する。
前記決定装置Xは,一般的なパーソナルコンピュータ等の計算機であり,インターネット等のネットワーク9(所定の通信回線の一例)を介して複数の端末装置(不図示)から受信される処理要求(例えば,所望のコンテンツの送信要求等)に応じて処理を実行するサーバ装置Yについて,複数の前記処理要求が受信された場合の前記サーバ装置Yにおける前記処理要求の最大並列処理数の設定値と,最大待ち行列数の設定値とを決定するための装置である。従って,前記端末装置とネットワーク接続されて実際のシステム運用がなされる前に,前記サーバ装置Yとネットワーク接続されて所定のテスト通信を行うものであり,前記最大並列処理数と前記最大待ち行列数の各設定値が決定され,その設定値が前記サーバ装置Yに設定された後のシステム運用段階では,前記決定装置Xと前記サーバ装置Yとの間で通信は行われない。
First, a schematic configuration of a communication server set value determination device X (hereinafter simply referred to as a determination device X) according to an embodiment of the present invention will be described using the block diagram shown in FIG.
The determination device X is a computer such as a general personal computer, and processing requests (for example, received from a plurality of terminal devices (not shown) via a network 9 (an example of a predetermined communication line) such as the Internet. For a server device Y that executes processing according to a desired content transmission request or the like, a setting value of the maximum number of parallel processing of the processing request in the server device Y when a plurality of the processing requests are received, and a maximum This is a device for determining the set value of the number of queues. Therefore, before the actual system operation is performed with the terminal device connected to the network, the server device Y is connected to the network to perform a predetermined test communication. The maximum parallel processing number and the maximum queue number In the system operation stage after the set values are determined and set in the server device Y, no communication is performed between the determined device X and the server device Y.
図1に示すように,前記決定装置Xは,CPU及びRAMやROM等のその周辺装置からなる演算部1と,ハードディスク等の読み書き自在の不揮発性記憶手段である記憶部2と,前記ネットワーク9を介した通信制御を行う通信制御部3と,液晶ディスプレイやCRTディスプレイ等の表示手段である表示部4と,キーボードやマウス等の情報入力手段である操作部5等を具備している。
前記通信制御部3は,前記ネットワーク9を介して,前記最大並列処理数と前記最大待ち行列数の各設定値の決定対象となる前記サーバ装置Yと通信可能に接続されており,これにより,前記決定装置Xは,前記サーバ装置Yとの間で,システムの実運用段階でそのサーバ装置Yと接続される前記端末装置と同等の条件で通信可能である。
前記記憶部2には,前記演算部1によって実行される所定のサーバ設定値決定プログラムがインストールされており,前記演算部1が前記サーバ設定値決定プログラムを実行することにより,当該決定装置Xは,前記サーバ装置Yにおける前記最大並列処理数及び前記最大待ち行列数の各設定値を決定する装置として機能する。
ここで,前記サーバ設定値決定プログラムは,要求通信処理部11,応答時間測定処理部12,処理効率推定処理部13,最大並列処理数決定部14及び最大待ち行列数決定部15等のプログラムモジュールから構成されている。それらの処理については後述する。
また,前記サーバ装置Yは,インターネットサーバやイントラネットサーバ等として機能する一般的ないわゆるサーバ計算機であり,ハードウェア構成は,前記決定装置Xと同様である。また,前記サーバ装置Yには,前記ネットワーク9を介して前記端末装置から前記処理要求を受け付けるとともに,それに対応する処理の結果を前記端末装置に応答(返信)するWebサーバプログラムや,前記処理要求に応じて要求される処理,例えば,予め記憶部に記憶されたコンテンツデータベースを検索して要求されるコンテンツを抽出する処理や,指定されたキーワードに対応する接続先URL(リンク先)をリスト化したHTMLデータを自動生成する処理等を行うアプリケーションプログラム(CGIプログラム等)等がインストールされており,それらプログラムの実行により,前記端末装置からの処理要求に対応する処理を実行し応答を返す。
As shown in FIG. 1, the determination device X includes a
The communication control unit 3 is communicably connected to the server device Y, which is a target for determining each setting value of the maximum parallel processing number and the maximum queue number, via the network 9, thereby The determination device X can communicate with the server device Y under the same conditions as the terminal device connected to the server device Y in the actual operation stage of the system.
A predetermined server set value determination program executed by the
Here, the server set value determination program is a program module such as the request communication processing unit 11, the response time measurement processing unit 12, the processing efficiency estimation processing unit 13, the maximum parallel processing number determination unit 14, and the maximum queue number determination unit 15. It is composed of These processes will be described later.
The server device Y is a general so-called server computer that functions as an Internet server, an intranet server, or the like, and has a hardware configuration similar to that of the determination device X. The server device Y accepts the processing request from the terminal device via the network 9 and responds (replies) to the terminal device with a processing result corresponding to the processing request. Required processing, for example, a search of a content database stored in the storage unit in advance to extract requested content, and a list of connection destination URLs (link destinations) corresponding to specified keywords An application program (CGI program or the like) that performs processing for automatically generating the HTML data is installed, and the execution of these programs executes processing corresponding to the processing request from the terminal device and returns a response.
次に,図2に示すフローチャートを用いて,前記決定装置Xが実行する前記サーバ装置Yにおける前記最大並列処理数及び前記最大待ち行列数の各設定値を決定する処理の手順について説明する。本処理は,前述したように,前記演算部1が前記サーバ設定値決定プログラムを実行することにより具現される。
まず,前記決定装置Xは,所定の変数iを初期化(1を代入)した上で(S1),その変数iの値を順次インクリメントしながら(S4)その値が予め定められた設定値Nmaxを超えるまで以下に示すステップS2及びS3の処理を繰り返し(即ち,Nmax回)実行する。
まず,ステップS2では,前記決定装置Xは,前記ネットワーク9を介して前記サーバ装置Yに対し,前記通信制御部3を通じてi個の前記処理要求をスレッド処理やマルチタスク処理等により同時に送信するとともに,その応答を前記サーバ装置Yから受信する(S2)。本処理は,前記要求通信処理部11により具現される。
ここで,前記設定値Nmaxは,前記サーバ装置Yが並列処理可能な数(例えば,前記サーバ装置YにおけるOS等の制約上の最大数,或いは経験上現実的と考えられる最大の並列処理数)に設定されている。従って,このステップS2では,前記サーバ装置Yが並列処理可能な数(i≦Nmaxであるので)の1又は複数の前記処理要求が同時に送信される。これにより,前記サーバ装置Yでは,ステップS2において同時送信された前記処理要求各々に応じた処理が並列処理されることになる。なお,前記サーバ装置Yは,その並行処理数が特に制限されていない状態,或いは前記設定値Nmax以上の範囲で制限されている状態であることはいうまでもない。
また,前記処理要求の同時送信とは,実質的な同時送信をいうものであり,スレッド処理におけるジョブスケジューリングや前記ネットワーク9におけるトークン衝突の制約等により送信タイミングが多少ずれることも同時送信に含まれる概念である。
Next, a procedure of processing for determining each set value of the maximum parallel processing number and the maximum queue number in the server device Y executed by the determination device X will be described using the flowchart shown in FIG. As described above, this process is implemented when the
First, the determining device X initializes a predetermined variable i (substitutes 1) (S1), and sequentially increments the value of the variable i (S4), and the value is set to a predetermined set value N. Steps S2 and S3 shown below are repeated (ie, N max times) until max is exceeded.
First, in step S2, the determination device X simultaneously transmits i processing requests to the server device Y via the network 9 through the communication control unit 3 by thread processing, multitask processing, or the like. The response is received from the server device Y (S2). This process is implemented by the request communication processing unit 11.
Here, the set value N max is the number that can be processed in parallel by the server device Y (for example, the maximum number of constraints in the server device Y, such as the OS, or the maximum number of parallel processing considered to be realistic from experience) ) Is set. Therefore, in this step S2, one or a plurality of the processing requests of the number that can be processed in parallel by the server device Y (since i ≦ N max ) are transmitted simultaneously. As a result, in the server device Y, processing corresponding to each of the processing requests simultaneously transmitted in step S2 is processed in parallel. It goes without saying that the server device Y is in a state where the number of parallel processes is not particularly limited, or in a state where it is limited within the range of the set value N max or more.
Further, the simultaneous transmission of the processing request means a substantial simultaneous transmission, and includes that the transmission timing is slightly deviated due to job scheduling in thread processing, restriction of token collision in the network 9, and the like. It is a concept.
また,ステップS2において前記サーバ装置Yに送信する前記処理要求は,例えば,前記サーバ装置Yの記憶部に予め記憶されたコンテンツデータベースを検索し,所定のコンテンツを抽出して返信する処理の要求や,前記サーバ装置Yの記憶部に予め記憶されたURLデータベースを検索し,所定のキーワードに関連する接続先URL(リンク先)をリスト化したHTMLデータを自動生成して返信する処理の要求等が考えられる。
ここで,同時送信される複数の前記処理要求は,全て同じ内容の処理要求とすること,及び異なる内容の処理要求とすることが考えられる。但し,異なる内容の処理要求を同時送信する場合,前記処理要求1つ当たりの前記サーバ装置Yにおける演算負荷が同等となるようにすることが望ましい。
また,ステップS2において前記サーバ装置Yに送信する前記処理要求は,例えば,実際のシステム運用段階で想定される平均的な演算負荷に相当するものとすることや,或いは実際のシステム運用段階で想定される最大の演算負荷に相当するものとすること等が考えられる。ステップS2において用いる前記処理要求は,前記サーバ装置Yの実運用段階で要求される仕様に応じて適切なものを選定する。例えば,平均的な応答時間が所定の許容応答時間内に収まることが求められる場合には,平均的な演算負荷相当の前記処理要求を選定し,最大の応答待ち時間が所定の許容応答時間内に収まることが求められる場合には,最大の演算負荷相当の前記処理要求を選定する等である。
Further, the processing request transmitted to the server device Y in step S2 is, for example, a processing request for searching a content database stored in advance in the storage unit of the server device Y, extracting a predetermined content, and returning it. A request for a process of searching a URL database stored in advance in the storage unit of the server device Y, automatically generating and returning HTML data that lists connection destination URLs (link destinations) related to a predetermined keyword, etc. Conceivable.
Here, it is conceivable that the plurality of processing requests transmitted at the same time are all processing requests having the same contents and processing requests having different contents. However, when processing requests having different contents are transmitted at the same time, it is desirable that the processing loads on the server device Y per processing request are equal.
In addition, the processing request transmitted to the server device Y in step S2 is assumed to correspond to, for example, an average calculation load assumed in the actual system operation stage, or assumed in the actual system operation stage. It is conceivable to correspond to the maximum calculation load to be performed. The processing request used in step S2 is selected according to the specifications required in the actual operation stage of the server device Y. For example, the average when the response time is required to fall within a predetermined allowable response time, average calculation load the processing request selected in equivalent, the maximum response waiting time predetermined allowable response time If it is required to fall within the range, the processing request corresponding to the maximum calculation load is selected.
次に,ステップS3では,前記決定装置Xは,ステップS2における全ての前記処理要求の送信からそれらの応答の受信完了までの時間である応答時間を測定し,その測定結果を前記処理要求の同時送信数に対応させて前記記憶部2に記憶させる(S3)。本処理は,前記応答時間測定処理部12により具現される。
そして,前記決定装置Xは,前記変数iをインクリメントしながら(S4),即ち,同時送信する前記処理要求の数を変えながら,前記変数iがNmax以下であると判別(S5)されている間,1又は複数の前記処理要求の同時送信及びその応答の受信を行う処理(S2)と,その処理ごとに前記応答時間を測定する処理(S3,応答時間測定処理の一例)とを複数回(Nmax回)実行する(S2,S4,S5が要求通信処理の一例)。
なお,図2に示すフローチャートでは,同時送信する前記処理要求の個数ごとに1回ずつステップS2及びS3の処理を行う例を示しているが,これに限るものでなく,S1〜S5の処理を同一条件下で,或いは異なる条件下(例えば,前記処理要求の内容が異なる条件下)で複数回繰り返すことも考えられる。この場合,以降の処理で用いる前記応答時間として,前記処理要求の同時送信数ごとの平均応答時間や最大応答時間等を用いればよい。
Next, in step S3, the determination device X measures a response time which is a time from transmission of all the processing requests in step S2 until reception of those responses is completed, and the measurement result is simultaneously measured with the processing requests. The data is stored in the storage unit 2 in correspondence with the number of transmissions (S3). This process is implemented by the response time measurement processing unit 12.
Then, the determination device X determines that the variable i is N max or less (S5) while incrementing the variable i (S4), that is, changing the number of processing requests transmitted simultaneously. A process of simultaneously transmitting one or a plurality of the processing requests and receiving a response thereof (S2), and a process of measuring the response time for each process (S3, an example of a response time measurement process) a plurality of times Execute (N max times) (S2, S4, and S5 are examples of request communication processing).
The flowchart shown in FIG. 2 shows an example in which the processes of steps S2 and S3 are performed once for each number of processing requests to be transmitted simultaneously, but the present invention is not limited to this, and the processes of S1 to S5 are performed. It is also conceivable to repeat a plurality of times under the same conditions or under different conditions (for example, under conditions where the contents of the processing request are different). In this case, an average response time, a maximum response time, or the like for each number of simultaneous transmissions of the processing request may be used as the response time used in subsequent processing.
次に,前記決定装置Xは,ステップS3(応答時間測定処理)の測定結果に基づいて,前記サーバ装置Yにおける並列処理数ごとの処理効率を推定する(処理効率推定処理)。本処理は,前記処理効率推定処理部13により具現される。
ここでは,推定する前記処理効率として,例えば,前記サーバ装置Yにおける前記処理要求に応じた処理の並列処理数ごと(即ち,前記処理要求の同時送信数iごと)に,1つの前記処理要求当たりの応答時間(即ち,ステップS3で得られた前記応答時間を,同時送信した前記処理要求の数iで割った値,以下,単位応答時間TPという)を求める。もちろん,その時間を正規化する等により前記単位応答時間TPを表す指標を求めるようにしてもよい。
Next, the determination device X estimates the processing efficiency for each number of parallel processes in the server device Y based on the measurement result in step S3 (response time measurement processing) (processing efficiency estimation processing). This processing is implemented by the processing efficiency estimation processing unit 13.
Here, as the processing efficiency to be estimated, for example, per one processing request for each parallel processing number of processes corresponding to the processing request in the server device Y (that is, for each simultaneous transmission number i of the processing requests). Response time (that is, the value obtained by dividing the response time obtained in step S3 by the number i of the simultaneously transmitted processing requests, hereinafter referred to as unit response time T P ). Of course, an index representing the unit response time T P may be obtained by normalizing the time.
次に,前記決定装置Xは,ステップS6で推定された前記処理効率に基づいて,前記サーバ装置Yにおける前記最大並列処理数の設定値を決定する(S7,最大並列処理数決定処理)。本処理は,前記最大並列処理数決定部14により具現される。
図3は,前記サーバ装置Yにおける並列処理数(即ち,前記処理要求の同時送信数:横軸)とステップS6の処理により推定された前記サーバ装置Yの処理効率の一例である前記単位応答時間TP(1要求当たり応答時間:縦軸)との関係を表すグラフである。なお,横軸は対数軸である。
図3に示すように,前記並列処理数が少なすぎる(例えば1)状態では,処理のオーバーヘッド等の影響により,前記単位応答時間TPが長くなる(即ち,処理効率が悪い)。そして,前記並列処理数が増えるにつれて,徐々に処理効率が向上する(前記単位応答時間TPが短くなる)が,前記並列処理数が多すぎると,前記サーバ装置Yの処理効率が再び低下する(前記単位応答時間TPが長くなる)。
従って,前記決定装置Xは,ステップS7の処理において,前記処理効率が最も高くなるときの前記サーバ装置Yにおける並列処理数(即ち,前記処理要求の同時送信数)を,前記サーバ装置Yにおける前記最大並列処理数の設定値NSに決定する。図3に示す例では,前記最大並列処理数の設定値NSは「5」となる。
もちろん,前記サーバ装置Yにおける他の処理用に余裕を持たせる等のために,前記処理効率が最も高くなるときの並列処理数よりもあえて若干少ない数を前記最大並列処理数の設定値NSとすることも考えられる。
Next, the determination device X determines the set value of the maximum parallel processing number in the server device Y based on the processing efficiency estimated in step S6 (S7, maximum parallel processing number determination processing). This processing is implemented by the maximum parallel processing number determination unit 14.
FIG. 3 shows the unit response time as an example of the number of parallel processes in the server apparatus Y (that is, the number of simultaneous transmissions of the process requests: the horizontal axis) and the processing efficiency of the server apparatus Y estimated by the process of step S6. It is a graph showing the relationship with T P (response time per request: vertical axis). The horizontal axis is the logarithmic axis.
As shown in FIG. 3, in the parallel processing number is too small (e.g., 1) state, due to the influence of overhead such as processing, the unit response time T P is increased (i.e., poor processing efficiency). Then, as the number of parallel processing increases gradually processing efficiency can be improved (the unit response time T P becomes shorter) is, when the number of parallel processes is too large, the processing efficiency of the server device Y is lowered again (the unit response time T P is longer).
Therefore, the determination device X determines the number of parallel processes (that is, the number of simultaneous transmissions of the processing requests) in the server device Y when the processing efficiency is highest in the process of step S7. determining the set value N S of the maximum number of parallel processes. In the example shown in FIG. 3, a set value N S of the maximum number of parallel processes is "5".
Of course, for such allow room for other processing in the server apparatus Y, set the number dare slightly less than the number of parallel processing when the processing efficiency becomes highest in the maximum number of parallel processes values N S It can also be considered.
次に,前記決定装置Xは,前記サーバ装置Yの設計条件として与えられる前記処理要求に対する応答許容時間Tspecと,ステップS7の処理(最大並列処理数決定処理)により決定された前記最大並列処理数の設定値NSと,ステップS7での推定結果である前記単位応答時間TP(処理効率の一例)のうち前記最大並列処理数の設定値NSに対応するものである最小単位応答時間TPN(図3参照)とに基づいて,前記サーバ装置Yにおける前記処理要求の最大待ち行列数の設定値qSを決定し(S8,最大待ち行列数決定処理),その後処理を終了させる。本処理は,前記最大待ち行列数決定部15により具現される。
本処理で決定された前記最大並列処理数の設定値NS及び前記最大待ち行列数の設定値qSは,前記記憶部2への記憶や前記表示部4への表示がなされ,別途,その設定値が前記サーバ装置Yに設定される。或いは,当該決定装置Xから前記サーバ装置Yに前記ネットワーク9を通じて送信し,これに応じて前記サーバ装置Yにおいて自動設定されるよう構成してもよい。
ここで,前記サーバ装置YにおいてNS個の前記処理要求に応じた処理(以下,1個の前記処理要求に対応する処理をジョブという)をスレッド処理やマルチタスク処理等により並列処理した場合,同一のジョブ(ステップS2で送信した前記処理要求に対応するジョブ或いはこれと同等の演算負荷のジョブ)が一様に進行していると仮定すると,ある時点でのNS個のスレッド或いはタスク各々における前記ジョブの残処理時間は,残処理時間の少ないものから順に(TPN/NS,2TPN/NS,3TPN/NS,…,TPN)であるといえる。その結果,前記サーバ装置Yは,時間(TPN/NS)の経過ごとに1つの前記ジョブを処理することになる。これは,前記サーバ装置Yにおける待ち行列内にある前記処理要求のジョブは,時間(TPN/NS)の経過ごとに1つのジョブが処理されていくことを表す。従って,前記サーバ装置Yにおける最大待ち行列数をqとすると,その待ち行列の最後尾に加えられた前記処理要求のジョブがその待ち行列内に滞在する時間である最大滞在時間TWMAXは,次の(1)式で表される。
TWMAX = q・TPN/NS …(1)
従って,前記端末装置が前記サーバ装置Yに対して前記処理要求を送信したときの最大の応答待ち時間は,1つのジョブの処理に要する時間TPNに前記最大滞在時間TWMAXを加えた時間となるので,次の(2)式を満足する最大待ち行列数qを前記最大待ち行列数の設定値qSとして設定すれば,前記応答許容時間Tspecを保証できる。
Tspec ≧ TPN+q・TPN/NS …(2)
この(2)式を変形すると,次の(3)式になる。
q ≦ NS(Tspec−TPN)/TPN …(3)
Next, the determination device X includes the allowable response time T spec for the processing request given as a design condition of the server device Y and the maximum parallel processing determined by the processing of step S7 (maximum parallel processing number determination processing). the number of set values N S, the minimum unit response time corresponds to the set value N S of the maximum parallelism number of estimation results in the unit response time is T P (an example of the processing efficiency) at step S7 Based on T PN (see FIG. 3), a setting value q S of the maximum queue number of the processing request in the server device Y is determined (S8, maximum queue number determination process), and then the process is terminated. This process is implemented by the maximum queue number determination unit 15.
Set value N S and the set value q S of the maximum queue number of the maximum number of parallel processes which are determined in this process, the display of the memory and the display unit 4 of the the storage unit 2 is made separately, the A set value is set in the server device Y. Alternatively, the determination apparatus X may be configured to transmit to the server apparatus Y through the network 9 and be automatically set in the server apparatus Y in response thereto.
Here, the processing corresponding to the N S of the processing request in the server device Y when processed in parallel by a (hereinafter, referred to as one said processing job processing corresponding to the request) threading or multi-tasking or the like, assuming the same job (job or this and job equivalent calculation load corresponding to the processing request transmitted in step S2) is proceeding uniformly, N S number of threads or tasks each at a point in time remaining processing time of the job in the said from those few remaining processing time order (T PN / N S, 2T PN / N S, 3T PN / N S, ..., T PN) to be. As a result, the server apparatus Y processes one job every time (T PN / N S ). This means that one job of the processing request in the queue in the server device Y is processed every time (T PN / N S ). Therefore, if the maximum number of queues in the server device Y is q, the maximum stay time T WMAX , which is the time that the job of the processing request added to the tail of the queue stays in the queue, is (1).
T WMAX = q · T PN / N S (1)
Therefore, the maximum response waiting time when the terminal device transmits the processing request to the server device Y is the time obtained by adding the maximum stay time T WMAX to the time T PN required for processing one job. Therefore, if the maximum queue number q satisfying the following equation (2) is set as the set value q S of the maximum queue number, the allowable response time T spec can be guaranteed.
T spec ≧ T PN + q · T PN / N S (2)
When this equation (2) is modified, the following equation (3) is obtained.
q ≦ N S (T spec −T PN ) / T PN (3)
ここで,(3)式(或いは(2)式)を満たすq(整数)の最小値,即ち,左辺と右辺とが等しくなるようなq(qが小数となるときは,小数点第1位以下を切り捨てた整数)を前記最大待ち行列数の設定値qSとして設定すれば,前記応答許容時間Tspecを保証で
きる。即ち,次の(4)式を満たすqSを前記最大待ち行列数の設定値とする。
qS ≒ NS(Tspec−TPN)/TPN …(4)
この(4)式を満たすqSを前記最大待ち行列数の設定値とするということは,即ち,前記サーバ装置YによりステップS7(最大並列処理数決定処理)で決定された前記最大並列処理数の設定値NSの下で,その設定値NSに対応する前記最小単位応答時間TPN(1つの前記処理要求当たりの応答時間)で処理がなされたとしたときに,最大の応答待ち時間が前記応答許容時間Tspecと等しく(或いはほぼ等しく)なるように前記最大待ち行列数の設定値qSを決定するということである。
例えば,前述のステップS6で得られた前記最小単位応答時間TPNが2.25sec,ステップS7で得られた前記最大並列処理数の設定値NSが5であり,前記応答許容時間Tspecが7secである場合,(4)式に従えば前記最大待ち行列数の設定値qSは10となる。
これにより,前記応答許容時間Tspecを満たす範囲で,最大の前記最大待ち行列数の設定値qSが決定され,前記処理要求の受け付が拒否される頻度が極力少なくなるような決定がなされる。
Here, the minimum value of q (integer) satisfying equation (3) (or equation (2)), that is, q such that the left side and the right side are equal (when q is a decimal, the first decimal place by setting the integer) the truncated as the set value q S of the maximum queue number, it can guarantee the response time allowed T spec. That is, q S satisfying the following expression (4) is set as the set value of the maximum number of queues.
q S ≈N S (T spec −T PN ) / T PN (4)
Setting q S satisfying this equation (4) as the set value of the maximum number of queues means that the maximum number of parallel processes determined by the server device Y in step S7 (maximum parallel processing number determination process). under the setting value N S, when the processing has been performed the minimum unit response time T PN corresponding to the set value N S (response time per one of the processing requests), the maximum response waiting time That is, the set value q S of the maximum number of queues is determined so as to be equal to (or substantially equal to) the allowable response time T spec .
For example, the minimum unit response time T PN obtained in step S6 the aforementioned 2.25Sec, is said maximum number of parallel
As a result, the maximum set value q S of the maximum number of queues is determined within a range satisfying the response allowable time T spec, and a determination is made so that the frequency of rejecting the processing request is minimized. The
図4は,前記決定装置Xにより決定された前記最大待ち行列数の設定値qSが10であるときに,決定された各設定値NS,qSを設定した前記サーバ装置Yに複数の前記端末装置から前記処理要求を繰り返し送信する負荷試験により得られた前記サーバ装置Yの応答時間の測定結果を表すグラフ(横軸は経過時間)である。
ここで,図4に示す例は,前述のステップS6で得られた前記最小単位応答時間TPNが2.25sec,ステップS7で決定された前記最大並列処理数の設定値NSが5であり,前記応答許容時間Tspecが7secであるのに対してステップS8で決定された前記最大待ち行列数の設定値qSが10である場合の例である。
図4からわかるように,ほぼ設計通りの7sec以内に前記端末装置が応答を得ていることがわかる。
FIG. 4 shows that when the setting value q S of the maximum number of queues determined by the determination device X is 10, a plurality of values are assigned to the server device Y in which the determined setting values N S and q S are set. It is a graph showing the measurement result of the response time of the said server apparatus Y obtained by the load test which repeatedly transmits the said process request from the said terminal device (a horizontal axis is elapsed time).
Here, the example shown in FIG. 4, the minimum unit response time T PN obtained in step S6 the aforementioned 2.25Sec, be the maximum number of parallel
As can be seen from FIG. 4, it can be seen that the terminal device obtains a response within approximately 7 seconds as designed.
本発明は,通信回線を介して複数の端末装置から受信される処理要求に応じて処理を実行するサーバ装置に設定するパラメータの決定に利用可能である。 The present invention can be used for determining parameters to be set in a server device that executes processing in response to processing requests received from a plurality of terminal devices via a communication line.
X…通信サーバ設定値決定装置
Y…サーバ装置
1…演算部
2…記憶部
3…通信制御部
4…表示部
5…操作部
9…ネットワーク
11…要求通信処理部
12…応答時間測定処理部
13…処理効率推定処理部
14…最大並列処理数決定部
15…最大待ち行列数決定部
S1,S2,,…処理手順(ステップ)
X ... Communication server set value determination device Y ...
Claims (4)
前記最大並列処理数の設定値が設定されていない状態,或いは前記サーバ装置の処理能力として並列処理可能な数以上の範囲で設定された状態で,前記サーバ装置に対して前記通信回線を介して前記サーバ装置の処理能力として並列処理可能な数の1又は複数の前記処理要求を略同時に送信しその応答を受信する処理を,略同時に送信する前記処理要求の数を変えて複数回実行する要求通信手段と,
前記要求通信手段による前記処理要求の送信及びその応答の受信ごとに,前記処理要求を略同時に送信した後からそれらの応答の受信完了までの時間を表す応答時間を測定する応答時間測定手段と,
前記応答時間測定手段の測定結果に基づいて前記サーバ装置における並列処理数ごとの処理効率を推定する処理効率推定手段と,
前記処理効率推定手段の推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定する最大並列処理数決定手段と,
前記サーバ装置の設計条件として与えられる前記処理要求に対する応答許容時間と前記最大並列処理数決定手段により決定された前記最大並列処理数の設定値と該設定値に対応する前記処理効率推定手段の推定結果である前記処理効率とに基づいて前記サーバ装置における前記処理要求の最大待ち行列数の設定値を決定する最大待ち行列数決定手段と,
を具備してなり,
前記処理効率推定手段により推定される前記処理効率が,並列処理数ごとに測定した応答時間を略同時に送信した処理要求の数で割った値又はそれを正規化した値であって,
前記最大待ち行列数決定手段が,前記サーバ装置により前記最大並列処理数決定手段により決定された前記最大並列処理数の設定値の下で,該設定値に対応する前記処理効率推定手段の推定結果である前記処理効率で処理がなされたとしたときに,最大の応答待ち時間が前記応答許容時間と略等しくなるように,前記応答許容時間と,並列処理数ごとに測定した応答時間を略同時に送信した処理要求の数で割った値又はそれを正規化した値のうち最小である最小単位応答時間との差を,当該最小単位応答時間で割り,さらに,前記最大並列処理数の設定値を掛けた値を,前記最大待ち行列数の設定値として決定してなることを特徴とする通信サーバ設定値決定装置。 Maximum parallel processing of the processing requests in the server device when a plurality of the processing requests are received for a server device that executes processing in response to processing requests received from a plurality of terminal devices via a predetermined communication line A communication server setting value determination device that determines a setting value of a number and a setting value of a maximum number of queues indicating a maximum value of the number of processing requests to be added to one queue provided for a plurality of parallel processes. And
In a state where the set value of the maximum parallel processing number is not set, or in a state where the processing capacity of the server device is set in a range more than the number that can be processed in parallel, the server device is connected to the server device via the communication line. A request to execute a process of transmitting one or a plurality of the process requests that can be processed in parallel as the processing capability of the server apparatus substantially at the same time and receiving a response thereof a plurality of times by changing the number of the process requests to be transmitted substantially simultaneously. Communication means;
A response time measuring means for measuring a response time indicating a time from transmission of the processing request substantially simultaneously to reception completion of the response for each transmission of the processing request and reception of the response by the request communication means;
Processing efficiency estimation means for estimating processing efficiency for each parallel processing number in the server device based on the measurement result of the response time measurement means;
Maximum parallel processing number determining means for determining a setting value of the maximum parallel processing number in the server device based on an estimation result of the processing efficiency estimating means;
An allowable response time for the processing request given as a design condition of the server device, a set value of the maximum parallel processing number determined by the maximum parallel processing number determining unit, and an estimation of the processing efficiency estimating unit corresponding to the set value Maximum queue number determining means for determining a setting value of the maximum queue number of the processing request in the server device based on the processing efficiency as a result;
Ri name comprises a,
The processing efficiency estimated by the processing efficiency estimation means is a value obtained by dividing the response time measured for each parallel processing number by the number of processing requests transmitted substantially simultaneously, or a value obtained by normalizing it.
The estimation result of the processing efficiency estimation unit corresponding to the set value under the set value of the maximum parallel processing number determined by the maximum parallel processing number determining unit by the server device. When the processing is performed with the above processing efficiency, the response allowable time and the response time measured for each number of parallel processes are transmitted substantially simultaneously so that the maximum response waiting time is substantially equal to the response allowable time. The difference from the minimum unit response time, which is the minimum value among the values divided by the number of processed requests or the normalized value, is divided by the minimum unit response time, and then multiplied by the set value of the maximum parallel processing number. A communication server set value determining apparatus , wherein the set value is determined as a set value for the maximum number of queues .
前記最大並列処理数の設定値が設定されていない状態,或いは前記サーバ装置の処理能力として並列処理可能な数以上の範囲で設定された状態で,前記サーバ装置に対して前記サーバ装置の処理能力として並列処理可能な数の1又は複数の前記処理要求を略同時に送信しその応答を受信する処理を,略同時に送信する前記処理要求の数を変えて複数回実行させる要求通信処理と,
前記要求通信処理による前記処理要求の送信及びその応答の受信ごとに,前記処理要求を略同時に送信した後からそれらの応答の受信完了までの時間を表す応答時間を測定して記憶手段に記憶させる応答時間測定処理と,
前記記憶手段に記憶された前記応答時間測定処理の測定結果に基づいて前記サーバ装置における前記処理要求の並列処理数ごとの処理効率を推定する処理効率推定処理と,
前記処理効率推定処理の推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定する最大並列処理数決定処理と,
前記サーバ装置の設計条件として与えられる前記処理要求に対する応答許容時間と前記最大並列処理数決定処理により決定された前記最大並列処理数の設定値と該設定値に対応する前記処理効率推定処理の推定結果である前記処理効率とに基づいて前記サーバ装置における前記処理要求の最大待ち行列数の設定値を決定する最大待ち行列数決定処理と,
をコンピュータに実行させるものであり,
前記処理効率推定処理により推定される前記処理効率が,並列処理数ごとに測定した応答時間を略同時に送信した処理要求の数で割った値又はそれを正規化した値であって,
前記最大待ち行列数決定処理が,前記サーバ装置により前記最大並列処理数決定処理により決定された前記最大並列処理数の設定値の下で,該設定値に対応する前記処理効率推定処理の推定結果である前記処理効率で処理がなされたとしたときに,最大の応答待ち時間が前記応答許容時間と略等しくなるように,前記応答許容時間と,並列処理数ごとに測定した応答時間を略同時に送信した処理要求の数で割った値又はそれを正規化した値のうち最小である最小単位応答時間との差を,当該最小単位応答時間で割り,さらに,前記最大並列処理数の設定値を掛けた値を,前記最大待ち行列数の設定値として決定するものである通信サーバ設定値決定プログラム。 Maximum parallel processing of the processing requests in the server device when a plurality of the processing requests are received for a server device that executes processing in response to processing requests received from a plurality of terminal devices via a predetermined communication line A process of determining a set value of a number and a set value of a maximum queue number indicating a maximum value of the number of processing requests to be added to one queue provided for a plurality of parallel processes; A communication server setting value determination program for causing a computer capable of communication via a communication line to execute,
The maximum number of parallel processing in a state where the set value is not set, or in a state in which the set in parallel processing possible number above range as the processing capability of the server apparatus, the processing capacity of the server device to the server device and request communication process to be executed multiple times substantially transmitted process of receiving the response at the same time, by changing the number of the processing request to transmit substantially simultaneously parallel processing possible number of one or more of the processing request as,
For each transmission of the processing request and reception of the response by the request communication processing, a response time indicating a time from the transmission of the processing request to the completion of reception of the response is measured and stored in the storage unit. Response time measurement processing,
Processing efficiency estimation processing for estimating processing efficiency for each parallel processing number of the processing request in the server device based on the measurement result of the response time measurement processing stored in the storage means;
A maximum parallel processing number determination process for determining a setting value of the maximum parallel processing number in the server device based on an estimation result of the processing efficiency estimation process;
Estimating the allowable response time for the processing request given as a design condition of the server device, the setting value of the maximum parallel processing number determined by the maximum parallel processing number determination processing, and the processing efficiency estimation processing corresponding to the setting value A maximum queue number determination process for determining a setting value of the maximum queue number of the processing request in the server device based on the processing efficiency as a result;
Is shall cause the computer to execute,
The processing efficiency estimated by the processing efficiency estimation process is a value obtained by dividing the response time measured for each parallel processing number by the number of processing requests transmitted substantially simultaneously, or a normalized value thereof,
The maximum queue number determination process is an estimation result of the processing efficiency estimation process corresponding to the set value under the set value of the maximum parallel process number determined by the server apparatus by the maximum parallel process number determination process. When the processing is performed at the processing efficiency, the response allowable time and the response time measured for each number of parallel processes are transmitted substantially simultaneously so that the maximum response waiting time is approximately equal to the response allowable time. The difference from the minimum unit response time, which is the minimum value among the values divided by the number of processed requests or the normalized value, is divided by the minimum unit response time, and then multiplied by the set value of the maximum parallel processing number. A communication server setting value determination program for determining the value as a setting value for the maximum number of queues .
前記最大並列処理数の設定値が設定されていない状態,或いは前記サーバ装置の処理能力として並列処理可能な数以上の範囲で設定された状態で,前記サーバ装置に対して前記通信回線を介して前記サーバ装置の処理能力として並列処理可能な数の1又は複数の前記処理要求を略同時に送信しその応答を受信する処理を,略同時に送信する前記処理要求の数を変えて複数回実行する要求通信工程と,
前記要求通信工程による前記処理要求の送信及びその応答の受信ごとに,前記処理要求を略同時に送信した後からそれらの応答の受信完了までの時間を表す応答時間を測定する応答時間測定工程と,
前記応答時間測定処理の測定結果に基づいて前記サーバ装置における前記処理要求の並列処理数ごとの処理効率を推定する処理効率推定工程と,
前記処理効率推定工程の推定結果に基づいて前記サーバ装置における前記最大並列処理数の設定値を決定する最大並列処理数決定工程と,
前記サーバ装置の設計条件として与えられる前記処理要求に対する応答許容時間と前記最大並列処理数決定工程により決定された前記最大並列処理数の設定値と該設定値に対応する前記処理効率推定工程の推定結果である前記処理効率とに基づいて前記サーバ装置における前記処理要求の最大待ち行列数の設定値を決定する最大待ち行列数決定工程と,
を有してなり,
前記処理効率推定工程により推定される前記処理効率が,並列処理数ごとに測定した応答時間を略同時に送信した処理要求の数で割った値又はそれを正規化した値であって,
前記最大待ち行列数決定工程が,前記サーバ装置により前記最大並列処理数決定工程により決定された前記最大並列処理数の設定値の下で,該設定値に対応する前記処理効率推定工程の推定結果である前記処理効率で処理がなされたとしたときに,最大の応答待ち時間が前記応答許容時間と略等しくなるように,前記応答許容時間と,並列処理数ごとに測定した応答時間を略同時に送信した処理要求の数で割った値又はそれを正規化した値のうち最小である最小単位応答時間との差を,当該最小単位応答時間で割り,さらに,前記最大並列処理数の設定値を掛けた値を,前記最大待ち行列数の設定値として決定するものであることを特徴とする通信サーバ設定値決定方法。 Maximum parallel processing of the processing requests in the server device when a plurality of the processing requests are received for a server device that executes processing in response to processing requests received from a plurality of terminal devices via a predetermined communication line A communication server setting value determination method for determining a setting value of a number and a setting value of a maximum number of queues indicating a maximum value of the number of processing requests to be added to one queue provided for a plurality of parallel processes. And
In a state where the set value of the maximum parallel processing number is not set, or in a state where the processing capacity of the server device is set in a range more than the number that can be processed in parallel, the server device is connected to the server device via the communication line. A request to execute a process of transmitting one or a plurality of the process requests that can be processed in parallel as the processing capability of the server apparatus substantially at the same time and receiving a response thereof a plurality of times by changing the number of the process requests to be transmitted substantially simultaneously. Communication process;
A response time measuring step for measuring a response time indicating a time from transmission of the processing request almost simultaneously to reception completion of the response for each transmission of the processing request and reception of the response by the request communication step;
A processing efficiency estimation step of estimating processing efficiency for each parallel processing number of the processing request in the server device based on the measurement result of the response time measurement processing;
A maximum parallel processing number determination step for determining a setting value of the maximum parallel processing number in the server device based on an estimation result of the processing efficiency estimation step;
Response allowable time for the processing request given as a design condition of the server device, a setting value of the maximum parallel processing number determined by the maximum parallel processing number determination step, and an estimation of the processing efficiency estimation step corresponding to the setting value A maximum queue number determining step of determining a setting value of the maximum queue number of the processing request in the server device based on the processing efficiency as a result;
Ri name have,
The processing efficiency estimated by the processing efficiency estimation step is a value obtained by dividing the response time measured for each parallel processing number by the number of processing requests transmitted substantially simultaneously, or a value obtained by normalizing it.
The maximum queue number determination step is an estimation result of the processing efficiency estimation step corresponding to the setting value under the setting value of the maximum parallel processing number determined by the server device by the maximum parallel processing number determination step. When the processing is performed at the processing efficiency, the response allowable time and the response time measured for each number of parallel processes are transmitted substantially simultaneously so that the maximum response waiting time is approximately equal to the response allowable time. The difference from the minimum unit response time, which is the minimum value among the values divided by the number of processed requests or the normalized value, is divided by the minimum unit response time, and then multiplied by the set value of the maximum parallel processing number. The communication server setting value determining method is characterized in that the determined value is determined as a setting value for the maximum number of queues .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005035949A JP4646649B2 (en) | 2005-02-14 | 2005-02-14 | COMMUNICATION SERVER SETTING VALUE DETERMINING DEVICE, ITS PROGRAM, AND ITS METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005035949A JP4646649B2 (en) | 2005-02-14 | 2005-02-14 | COMMUNICATION SERVER SETTING VALUE DETERMINING DEVICE, ITS PROGRAM, AND ITS METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006221516A JP2006221516A (en) | 2006-08-24 |
JP4646649B2 true JP4646649B2 (en) | 2011-03-09 |
Family
ID=36983802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005035949A Expired - Fee Related JP4646649B2 (en) | 2005-02-14 | 2005-02-14 | COMMUNICATION SERVER SETTING VALUE DETERMINING DEVICE, ITS PROGRAM, AND ITS METHOD |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4646649B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5030063B2 (en) | 2007-10-05 | 2012-09-19 | 本田技研工業株式会社 | Navigation device and navigation system |
JP2013222407A (en) * | 2012-04-18 | 2013-10-28 | Bank Of Tokyo-Mitsubishi Ufj Ltd | System having flow rate control function |
JP5793259B1 (en) | 2014-04-14 | 2015-10-14 | 株式会社日立システムズ | Information processing apparatus, flow control parameter calculation method, and program |
JP2017059250A (en) * | 2016-11-01 | 2017-03-23 | 株式会社三菱東京Ufj銀行 | System having flow rate control function |
JP2022110929A (en) | 2021-01-19 | 2022-07-29 | 株式会社日立製作所 | Management computer, management system, and management program |
JP7288727B1 (en) * | 2021-07-09 | 2023-06-08 | 株式会社プレイシンク | Matrix optimization system, matrix optimization method, and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001075832A (en) * | 1999-08-31 | 2001-03-23 | Fujitsu Ltd | Device and method for system diagnosis and computer- readable recording medium with system diagnostic program recorded thereon |
JP2004164253A (en) * | 2002-11-13 | 2004-06-10 | Nec Corp | Queue controller and registration suppression method used therefor |
JP2004302525A (en) * | 2003-03-28 | 2004-10-28 | Nri & Ncc Co Ltd | Device and method for carrying out performance balance evaluation and sizing of component of computer system |
-
2005
- 2005-02-14 JP JP2005035949A patent/JP4646649B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001075832A (en) * | 1999-08-31 | 2001-03-23 | Fujitsu Ltd | Device and method for system diagnosis and computer- readable recording medium with system diagnostic program recorded thereon |
JP2004164253A (en) * | 2002-11-13 | 2004-06-10 | Nec Corp | Queue controller and registration suppression method used therefor |
JP2004302525A (en) * | 2003-03-28 | 2004-10-28 | Nri & Ncc Co Ltd | Device and method for carrying out performance balance evaluation and sizing of component of computer system |
Also Published As
Publication number | Publication date |
---|---|
JP2006221516A (en) | 2006-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7779416B2 (en) | Load balance control method and load balance control apparatus in data-processing system | |
JP4646649B2 (en) | COMMUNICATION SERVER SETTING VALUE DETERMINING DEVICE, ITS PROGRAM, AND ITS METHOD | |
JP4898805B2 (en) | Method, program and apparatus for optimizing system configuration parameter sets | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
CN112256417B (en) | Data request processing method and device and computer readable storage medium | |
CN110287332B (en) | Method and device for selecting simulation model in cloud environment | |
US20110131579A1 (en) | Batch job multiplex processing method | |
CN114730277B (en) | Multi-tenant extraction transformation loading resource sharing | |
US20160274946A1 (en) | System and method for controlling workflow execution, and recording medium | |
US9609068B2 (en) | Session management system, session management apparatus, and non-transitory computer readable medium | |
US20110119373A1 (en) | Service workflow generation apparatus and method | |
US10613992B2 (en) | Systems and methods for remote procedure call | |
US9652294B2 (en) | Cross-platform workload processing | |
US9886320B2 (en) | Method for prioritizing tasks queued at a server system | |
CN112506619B (en) | Job processing method, job processing device, electronic equipment and storage medium | |
US9501321B1 (en) | Weighted service requests throttling | |
He et al. | Budget-based control for interactive services with adaptive execution | |
JP5045576B2 (en) | Multiprocessor system and program execution method | |
JP2006012065A (en) | Resource load adjustment management system | |
WO2013138982A1 (en) | A parallel processing method and apparatus | |
Ogden et al. | Layercake: Efficient Inference Serving with Cloud and Mobile Resources | |
JP2011107862A (en) | System, device, method, and program for evaluating maximum throughput | |
CN112835804B (en) | Test case processing method, device, electronic equipment and medium | |
JP3891273B2 (en) | Transaction processing load balancing method and system | |
CN110442612B (en) | Data query method, electronic device and computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070928 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090908 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100420 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20100614 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100621 |
|
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: 20101207 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101207 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131217 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |