WO2013129061A1 - Control system for simultaneous number of connections, control server for simultaneous number of connections, control method for simultaneous number of connections and control program for simultaneous number of connections - Google Patents

Control system for simultaneous number of connections, control server for simultaneous number of connections, control method for simultaneous number of connections and control program for simultaneous number of connections Download PDF

Info

Publication number
WO2013129061A1
WO2013129061A1 PCT/JP2013/052864 JP2013052864W WO2013129061A1 WO 2013129061 A1 WO2013129061 A1 WO 2013129061A1 JP 2013052864 W JP2013052864 W JP 2013052864W WO 2013129061 A1 WO2013129061 A1 WO 2013129061A1
Authority
WO
WIPO (PCT)
Prior art keywords
operation status
multiplicity
limit
unit
connections
Prior art date
Application number
PCT/JP2013/052864
Other languages
French (fr)
Japanese (ja)
Inventor
堀川 隆
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2013129061A1 publication Critical patent/WO2013129061A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Definitions

  • the present invention relates to a simultaneous connection number control system, a simultaneous connection number control server, a simultaneous connection number control method, and a simultaneous connection number control program.
  • FIG. 1 An example of such an information processing system is shown in FIG.
  • the client 9 and the database server 8 are computers equipped with a CPU (Central Processing Unit), memory, communication means, and the like.
  • the database server 8 since the database server 8 is required to have high performance, it is common to mount an operating system that includes a plurality of CPUs and that can operate a plurality of processing processes 81 in parallel.
  • Such a database server 8 usually creates one processing process 81 for each client 9 and receives a processing request and transmits a processing result with the client 9.
  • the number of processing processes 81 that proceed simultaneously in parallel is called multiplicity.
  • Multiplicity is closely related to the throughput performance of the database server, that is, the number of processing requests from clients completed per unit time. Specifically, as shown in FIG. 9, in a region where the database server has a surplus, by increasing the multiplicity, processing requests from more clients can be executed in parallel. Get higher. However, if the multiplicity is excessively increased, an overhead or the like for arbitrating the use of the bottleneck resource occurs between the processing processes, and the throughput performance is decreased. Therefore, in order to maintain the processing efficiency of the database server, an upper limit value (hereinafter referred to as “limit multiplicity”) L is set for the multiplicity, and the number of processing processes exceeding the limit multiplicity L is not generated. It is important to control.
  • the method of setting the limit multiplicity value applied to the database server is determined depending on the static method using a fixed value determined in advance and the result of measuring the behavior of the information processing system and the database server.
  • the optimum limit multiplicity value generally depends on the hardware configuration of the database server and the content of the processing request from the client. Therefore, it is more likely that an optimum value can be set by setting the limit multiplicity value using a dynamic method than a static method. For this reason, a technique for controlling the multiplicity using a limit multiplicity value obtained from the result of measuring the behavior of the database server has been conventionally devised (see, for example, Patent Document 1 below).
  • Patent Document 1 discloses a server device that measures a CPU usage rate and a memory usage capacity as indices indicating the behavior of a database server, and calculates the limit multiplicity using the measurement results.
  • the performance index value used when measuring the behavior of the computer includes a single-dimensional numerical value and a numerical value obtained as a ratio to the elapsed time.
  • the single-dimensional numerical value for example, the memory usage capacity corresponds.
  • This single-dimensional numerical value can be measured by performing a measurement operation at one point in the operation period of the measurement target computer.
  • the numerical value obtained as a ratio to the elapsed time is generally measured using a sampling method.
  • This sampling method is a method of continuously performing a measurement operation for acquiring a system state (for example, whether or not a CPU is used) at regular intervals and calculating a ratio to be obtained using a plurality of acquired measurement data. It is.
  • a timer that causes the CPU to generate interrupts at regular intervals and an operating system can be used.
  • the fixed interval in this case is an interval of several milliseconds to tens of milliseconds. Therefore, for example, when a measurement operation of about several tens to one hundred times is performed in order to obtain the CPU usage rate, a time of at least about 1 second is consumed.
  • the CPU usage rate calculated as a ratio to the elapsed time is used as the performance index value used when calculating the limit multiplicity.
  • the CPU usage rate is obtained, it is necessary to repeat the measurement operation for a predetermined period, which takes time. Therefore, under circumstances where the operating environment factors that affect the optimum value of the limit multiplicity change greatly, the optimum limit multiplicity for the CPU usage rate over a predetermined period and the optimum limit multiplicity at each time There may be differences between them.
  • the server device described in Patent Document 1 since the CPU usage rate is obtained using the result of the measurement operation performed over a predetermined period, not only the operation at the time of obtaining the optimum limit multiplicity, but also the time point.
  • the optimum limit multiplicity is calculated on the basis of the CPU usage rate obtained by averaging the operations within the predetermined period. Therefore, under circumstances where the operating environment factors that affect the optimum value of the limit multiplicity gradually change, calculating the limit multiplicity using such a CPU usage rate results in the optimal limit multiplicity. There may be a delay in following changes.
  • the present invention has been made to solve the above-described problem, and an optimum multiplicity can be set even in a situation where an operating environment factor affecting the optimum value of the limit multiplicity changes.
  • An object is to provide a simultaneous connection number control system, a simultaneous connection number control server, a simultaneous connection number control method, and a simultaneous connection number control program.
  • the simultaneous connection number control system includes a counter unit that measures an operation state of hardware in a target computer, and the counter unit that is measured each time the operation state acquisition operation is started. Using an operation status acquisition unit that acquires an operation status and the operation status acquired by the operation status acquisition unit, a limit multiplicity that calculates a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously perform processing is calculated. A severe calculation unit, and a simultaneous connection number control unit that controls the number of simultaneous connections to the target computer with the limit multiplicity calculated by the limit multiplicity calculation unit as an upper limit.
  • the simultaneous connection number control server includes a counter unit that measures a hardware operation state in a target computer, and the counter unit that is measured each time the operation state acquisition operation is started. Using an operation status acquisition unit that acquires an operation status and the operation status acquired by the operation status acquisition unit, a limit multiplicity that calculates a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously perform processing is calculated. A severe calculation unit, and a simultaneous connection number control unit that controls the number of simultaneous connections to the target computer with the limit multiplicity calculated by the limit multiplicity calculation unit as an upper limit.
  • the method for controlling the number of simultaneous connections includes a counter step for measuring an operation state of hardware in a target computer, and the counter step measured every time the operation state acquisition operation is started.
  • the limit multiplicity for calculating the limit multiplicity that is the upper limit value of the number of processing processes to be processed in parallel at the same time A severe calculation step, and a simultaneous connection number control step of controlling the number of simultaneous connections to the target computer with the limit multiplicity calculated in the limit multiplicity calculation step as an upper limit.
  • the concurrent connection number control program that is one aspect of the present invention causes a computer to execute each step included in the concurrent connection number control method.
  • the simultaneous connection number control system 1 includes one server 2 and a plurality of clients 3.
  • the server 2 includes, for example, a plurality of CPUs 21, a plurality of memories 22, and a timer 23 as hardware.
  • the memory 22 and the timer 23 are connected to the CPU 21.
  • the timer 23 requests an interruption to the CPU 21 at a predetermined time interval set in advance.
  • the CPU 21 has a built-in performance counter 211.
  • the performance counter 211 is one of hardware counters for measuring the performance of the computer. Details of the performance counter are disclosed in Non-Patent Document 1 below. This performance counter shows the number of occurrences of events that measure the number of memory accesses and cache misses, and values related to the time and time required for operations that measure the memory access time, etc. Can be measured with the accuracy of sub-nanoseconds.
  • Non-Patent Document 1 "Intel (R) 64" and “IA-32” Architectures "Software” Developer's “Manual” Volume “3B:” System “Programming” Guide, “Part” 2 ",” May “2007,” [CHAPTER “18” DEBUGGING “AND” PERFORMANCE “MONITORING], [APPENDIX-MONITORING] ]
  • the performance counter 211 built in the CPU 21 functions as a performance counter unit.
  • the performance counter unit has a function of accumulating the number of accesses and the access time that the CPU 21 accesses the memory 22. In this embodiment, it is assumed that two performance counters are provided, and two types of measurement of the number of accesses and the access time can be performed simultaneously.
  • the server 2 includes, as software functions, for example, an operation status acquisition unit 221, a limit multiplicity calculation unit 222, and a simultaneous connection number control unit 223.
  • the processing process 224 is a process for executing a processing request from the client 3.
  • the operating system 225 controls the execution of each program in response to an external request or an interrupt from the timer 23.
  • the operation status acquisition unit 221 calculates the number of accesses and the access time measured by the performance counter unit 211 each time an operation for acquiring the operation status of the computer (hereinafter referred to as “operation status acquisition operation”) is started. Get the cumulative value.
  • a time predetermined by the operating system 225 can be set.
  • the timer 23 requests the CPU 21 to interrupt each time a predetermined time elapses, and starts execution of the operation status acquisition operation.
  • the limit multiplicity calculation unit 222 calculates the limit multiplicity by using the access count and the accumulated access time acquired by the operation status acquisition unit 221.
  • the limit multiplicity is the upper limit value of the number of processing processes that simultaneously proceed in parallel. An example of calculating the limit multiplicity will be described below.
  • the limit multiplicity calculation unit 222 calculates the average access time using the cumulative number of access times and access times.
  • the average access time can be calculated by dividing the cumulative value of the access time by the cumulative value of the number of accesses.
  • the limit multiplicity calculation unit 222 subtracts 1 from the currently set limit multiplicity when the average access time is equal to or greater than a predetermined threshold.
  • the simultaneous connection number control unit 223 controls the number of simultaneous connections of the client 3 to the server 2 with the limit multiplicity calculated by the limit multiplicity calculation unit 222 as an upper limit.
  • the number of simultaneous connections can be controlled by controlling whether a processing request from the client 3 to the server 2 is transferred to the processing process 224. Specifically, this will be described below.
  • the simultaneous connection number control unit 223 determines whether or not the current number of connections (initial value is 0) is equal to or greater than the limit multiplicity. If the current number of connections is less than the limit multiplicity, a connection process is executed, and 1 is added to the current number of connections. On the other hand, if the current number of connections is greater than or equal to the limit multiplicity, the client 3 is notified of that fact without executing the connection process. When receiving a disconnection request from the client 3, the simultaneous connection number control unit 223 executes disconnection processing and subtracts 1 from the current number of connections.
  • FIG. 2 is a flowchart for explaining the start procedure of the operation status acquisition process. This starting procedure of the operation status acquisition process is repeatedly executed from when the server 2 starts up to when it stops.
  • the operation status acquisition unit 221 performs an operation status acquisition process every time a predetermined time has elapsed (step S101; YES) (step S102).
  • FIG. 3 is a flowchart for explaining the procedure of the operation status acquisition process executed in step S102.
  • the operation status acquisition unit 221 acquires the cumulative number of access times and access times from the performance counter 211 (step S201).
  • the performance counter unit resets the total number of accesses and access times measured by the performance counter 211 to 0 (step S202).
  • the limit multiplicity calculation unit 222 determines whether or not the average access time calculated in step S203 is equal to or greater than a predetermined threshold (step S204). If this determination is NO (step S204; NO), the operation status acquisition process ends.
  • step S204 when it is determined in step S204 that the average access time is equal to or greater than the threshold (step S204; YES), the limit multiplicity calculation unit 222 subtracts 1 from the currently set limit multiplicity (Ste S205). Then, the operation status acquisition process ends.
  • FIG. 4 is a flowchart for explaining a procedure for controlling the number of simultaneous connections.
  • the control of the number of simultaneous connections is started when the server 2 is started and is executed until the server 2 is stopped.
  • the simultaneous connection number control unit 223 resets the current number of connections to 0 (step S301).
  • the simultaneous connection number control unit 223 waits until a processing request from the client 3 is received (step S302; NO).
  • step S302 when the processing request from the client 3 is received (step S302; YES) and the processing request is a connection request (step S303; connection request), the simultaneous connection number control unit 223 determines that the current number of connections is It is determined whether or not the current limit multiplicity is exceeded (step S304).
  • step S304 If this determination is NO (step S304; NO), the simultaneous connection number control unit 223 executes a connection process and adds 1 to the current number of connections (step S306). Then, the process proceeds to step S302.
  • step S304 determines whether the current number of connections is greater than or equal to the current limit multiplicity. If it is determined in step S304 that the current number of connections is greater than or equal to the current limit multiplicity (step S304; YES), the simultaneous connection number control unit 223 does not execute the connection process, and the client 3 is notified of this (step S305). Then, the process proceeds to step S302.
  • step S303 when it is determined in step S303 that the processing request from the client 3 is a disconnection request (step S303; disconnection request), the simultaneous connection number control unit 223 executes the disconnection process, and determines from the current number of connections. 1 is subtracted (step S307). Then, the process proceeds to step S302.
  • the limit multiplicity can be calculated by using the access count and the cumulative access time measured by the performance counter 211 of the CPU 21. That is, as shown in FIG. 5, the limit multiplicity can be calculated Y for each acquisition operation X. As a result, the optimum limit multiplicity can be set even in a situation where the operating environment factor that affects the optimum value of the limit multiplicity changes greatly or gradually changes.
  • the acquisition operation X is performed a plurality of times, and the obtained results Z are aggregated, and then the limit multiplicity is calculated Y. That is, in order to calculate Y the limit multiplicity once, a plurality of acquisition operations X are required, and the acquisition operation takes a lot of time. For this reason, it has been difficult to set the optimum multiplicity under circumstances where the operating environment factors that affect the optimum value of the limit multiplicity change greatly or gradually change.
  • the limit multiplicity can be calculated for each acquisition operation, and therefore the operating environment factor that affects the optimum value of the limit multiplicity. It is possible to set an optimum multiplicity even in a situation where the value of the value changes greatly.
  • the time for obtaining a value used when calculating the limit multiplicity can be shortened, and therefore, operating environment factors that affect the optimum value of the limit multiplicity gradually. Even in such a situation that changes, the optimal multiplicity can be set.
  • the cumulative value of the memory access count and the memory access time is read from the performance counter built in the CPU and used to calculate the limit multiplicity, but the measurement value used to calculate the limit multiplicity is It is not limited to this. Any measurement value obtained by observing a hardware signal can be applied to the present invention. For example, if the system is in a halt state when the CPU is not processing, the CPU is in the halt state (or the time the CPU is not in the halt state) and the elapsed time. May be acquired from the CPU performance counter and the CPU usage rate calculated using the acquired times may be used for calculating the limit multiplicity.
  • FIG. 7 shows a configuration example of the simultaneous connection number control system in this modification.
  • the simultaneous connection number control system 4 includes a plurality of servers 5, a single load balancer 6, and a plurality of clients 7. Since the hardware configuration of the server 5 is the same as the hardware configuration of the server 2 in the embodiment, the description thereof is omitted here.
  • the software function of the server 5 includes an operation status acquisition unit 521 corresponding to the operation status acquisition unit 221 among the software functions of the server 2 in the embodiment.
  • the load balancer 6 includes a limit multiplicity calculation unit 222 and a simultaneous connection number control unit 623 corresponding to the limit multiplicity calculation unit 222 and the simultaneous connection number control unit 223 among the software functions of the server 2 in the embodiment.
  • the operation status acquisition unit 521 and the limit multiplicity calculation unit 622 are provided in accordance with the number of servers 5, and the simultaneous connection number control unit 623 is provided in the load balancer 6.
  • the simultaneous connection number control unit 623 reads the limit multiplicity from the limit multiplicity calculation unit 622 corresponding to each server 5 and controls the number of simultaneous connections of the client 7 to each server 5.
  • a counter unit that measures the hardware operation status in the target computer, and an operation status acquisition unit that acquires the operation status measured by the counter unit each time the operation status acquisition operation is started
  • a limit multiplicity calculation unit that calculates a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously proceed in parallel using the operation status acquired by the operation status acquisition unit; and the limit multiplicity calculation
  • a simultaneous connection number control unit that controls the number of simultaneous connections to the target computer with the limit multiplicity calculated by a unit as an upper limit.
  • Supplementary note 1 or 2 including a plurality of servers having the counter unit and the operation status acquisition unit, and a load balancer having the limit multiplicity calculation unit and the simultaneous connection number control unit 2.
  • the simultaneous connection number control system according to 2.
  • a counter unit that measures the hardware operation status in the target computer, and an operation status acquisition unit that acquires the operation status measured by the counter unit each time the operation status acquisition operation is started
  • a limit multiplicity calculation unit that calculates a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously proceed in parallel using the operation status acquired by the operation status acquisition unit; and the limit multiplicity calculation
  • a simultaneous connection number control unit that controls the number of simultaneous connections to the target computer with the limit multiplicity calculated by a unit as an upper limit.
  • the counter step which measures the operation state of the hardware in an object computer
  • the operation state acquisition step which acquires the said operation state measured in the said counter step, whenever the acquisition operation of the said operation state is started
  • a limit multiplicity calculating step for calculating a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously proceed in parallel using the operation status acquired in the operation status acquiring step; and the limit multiplicity calculation.
  • a simultaneous connection number control step of controlling the number of simultaneous connections to the target computer with the limit multiplicity calculated in the step as an upper limit.
  • Appendix 6 A program for controlling the number of simultaneous connections for causing a computer to execute each step described in Appendix 5.
  • the simultaneous connection number control system, the simultaneous connection number control server, the simultaneous connection number control method, and the simultaneous connection number control program according to the present invention are provided under a situation in which operating environment factors affecting the optimum value of the limit multiplicity change. Is also suitable for setting the optimal multiplicity.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The objective of the present invention is to set an optimal multiplicity even under conditions in which operating environment factors affecting an optimal value of a multiplicity limit change. The present invention is provided with: a performance counter (211) which measures operating conditions of hardware in an object computer; an operational conditions acquisition unit (221) for acquiring operational conditions measured by the performance counter (211) whenever an acquisition operation for the operational conditions is started; a multiplicity limit calculation unit (222) which calculates a multiplicity limit which is an upper bound for the number of processes in which processing is to proceed simultaneously in parallel using the operational conditions acquired by the operational conditions acquisition unit (221); and a control unit for the number of simultaneous connections (223) which controls the number of simultaneous connections to the object computers with the multiplicity limit calculated by the multiplicity limit calculation unit (222) as an upper limit.

Description

同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラムSimultaneous connection number control system, simultaneous connection number control server, simultaneous connection number control method, and simultaneous connection number control program
 本発明は、同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラムに関する。 The present invention relates to a simultaneous connection number control system, a simultaneous connection number control server, a simultaneous connection number control method, and a simultaneous connection number control program.
 情報処理システムでは、一般に、データベースサーバに重要な情報を格納し、そのデータベースサーバが複数のクライアントからのアクセス要求に応じて情報を操作するものが多い。このような情報処理システムの一例を図8に示す。クライアント9およびデータベースサーバ8は、CPU(Central Processing Unit)、メモリおよび通信手段などを搭載するコンピュータである。特に、データベースサーバ8は高い性能が要求されるため、複数のCPUを搭載し、かつ、複数の処理プロセス81を並行して動作可能なオペレーティングシステムを搭載することが一般的である。このようなデータベースサーバ8は、通常、一つのクライアント9ごとに一つの処理プロセス81を作成し、クライアント9との間で処理要求の受信と処理結果の送信とを実行する。同時に並行して処理を進める処理プロセス81の数を多重度と呼ぶ。 In general, information processing systems often store important information in a database server, and the database server manipulates information according to access requests from a plurality of clients. An example of such an information processing system is shown in FIG. The client 9 and the database server 8 are computers equipped with a CPU (Central Processing Unit), memory, communication means, and the like. In particular, since the database server 8 is required to have high performance, it is common to mount an operating system that includes a plurality of CPUs and that can operate a plurality of processing processes 81 in parallel. Such a database server 8 usually creates one processing process 81 for each client 9 and receives a processing request and transmits a processing result with the client 9. The number of processing processes 81 that proceed simultaneously in parallel is called multiplicity.
 多重度は、データベースサーバのスループット性能、すなわち、単位時間に完了するクライアントからの処理要求数と密接に関係している。具体的には、図9に示すように、データベースサーバに余力がある領域では多重度を大きくすることで、より多くのクライアントからの処理要求を並行して実行できるようになるため、スループット性能も高くなる。しかしながら、多重度を大きくし過ぎると、処理プロセスの間でボトルネック資源の利用を調停するオーバヘッドなどが発生し、却ってスループット性能が低下する。したがって、データベースサーバの処理効率を保つためには、多重度に上限値(以下、「限界多重度」という。)Lを設定し、この限界多重度Lを超える数の処理プロセスを生成しないように制御することが重要となる。 Multiplicity is closely related to the throughput performance of the database server, that is, the number of processing requests from clients completed per unit time. Specifically, as shown in FIG. 9, in a region where the database server has a surplus, by increasing the multiplicity, processing requests from more clients can be executed in parallel. Get higher. However, if the multiplicity is excessively increased, an overhead or the like for arbitrating the use of the bottleneck resource occurs between the processing processes, and the throughput performance is decreased. Therefore, in order to maintain the processing efficiency of the database server, an upper limit value (hereinafter referred to as “limit multiplicity”) L is set for the multiplicity, and the number of processing processes exceeding the limit multiplicity L is not generated. It is important to control.
 データベースサーバに適用する限界多重度の値を設定する方法には、予め決められた固定値を使用する静的な方法と、情報処理システムやデータベースサーバの挙動を測定した結果に応じて値が決まる動的な方法とがある。最適な限界多重度の値は、一般的に、データベースサーバのハードウェア構成やクライアントからの処理要求の内容に依存する。したがって、静的な方法よりも動的な方法を用いて限界多重度の値を設定した方が、最適な値を設定できる可能性が高い。このため、データベースサーバの挙動を測定した結果から求まる限界多重度の値を用いて多重度を制御する手法が従来から考案されている(例えば、下記特許文献1参照)。特許文献1には、データベースサーバの挙動を示す指標としてCPU使用率およびメモリ使用容量を測定し、その測定結果を用いて限界多重度を算出するサーバ装置が開示されている。 The method of setting the limit multiplicity value applied to the database server is determined depending on the static method using a fixed value determined in advance and the result of measuring the behavior of the information processing system and the database server. There is a dynamic method. The optimum limit multiplicity value generally depends on the hardware configuration of the database server and the content of the processing request from the client. Therefore, it is more likely that an optimum value can be set by setting the limit multiplicity value using a dynamic method than a static method. For this reason, a technique for controlling the multiplicity using a limit multiplicity value obtained from the result of measuring the behavior of the database server has been conventionally devised (see, for example, Patent Document 1 below). Patent Document 1 discloses a server device that measures a CPU usage rate and a memory usage capacity as indices indicating the behavior of a database server, and calculates the limit multiplicity using the measurement results.
 ここで、データベースサーバ等、コンピュータの挙動を測定する一般的な方法について説明する。コンピュータの挙動を測定する際に用いる性能指標値には、単一次元の数値と、経過時間に対する割合として求まる数値とがある。単一次元の数値としては、例えば、メモリ使用容量が該当する。この単一次元の数値は、測定対象コンピュータの動作期間内の一時点において測定操作を実施することで計測できる。一方、経過時間に対する割合として求まる数値としては、例えば、CPU使用率(=CPU使用時間/経過時間)が該当する。この経過時間に対する割合として求まる数値は、サンプリング手法を用いて計測することが一般的である。このサンプリング手法は、一定間隔でシステムの状態(例えば、CPUを使用しているか否か)を取得する測定操作を継続して行い、取得した複数の測定データを用いて求めるべき割合を算出する方法である。 Here, a general method for measuring the behavior of a computer such as a database server will be described. The performance index value used when measuring the behavior of the computer includes a single-dimensional numerical value and a numerical value obtained as a ratio to the elapsed time. As the single-dimensional numerical value, for example, the memory usage capacity corresponds. This single-dimensional numerical value can be measured by performing a measurement operation at one point in the operation period of the measurement target computer. On the other hand, for example, a CPU usage rate (= CPU usage time / elapsed time) corresponds to a numerical value obtained as a ratio to the elapsed time. The numerical value obtained as a ratio to the elapsed time is generally measured using a sampling method. This sampling method is a method of continuously performing a measurement operation for acquiring a system state (for example, whether or not a CPU is used) at regular intervals and calculating a ratio to be obtained using a plurality of acquired measurement data. It is.
 システムの状態を一定間隔で取得する場合に、CPUに一定間隔で割り込みを発生させるタイマとオペレーティングシステムとを用いることができる。この場合の一定間隔は、数ミリ秒から十数ミリ秒の間隔となる。したがって、例えばCPU使用率を求めるために数十回~百回程度の測定操作を実施した場合には、最低でも1秒程度の時間を費やすことになる。 When acquiring the system status at regular intervals, a timer that causes the CPU to generate interrupts at regular intervals and an operating system can be used. The fixed interval in this case is an interval of several milliseconds to tens of milliseconds. Therefore, for example, when a measurement operation of about several tens to one hundred times is performed in order to obtain the CPU usage rate, a time of at least about 1 second is consumed.
特開2007-122527号公報JP 2007-122527 A
 特許文献1に記載のサーバ装置では、限界多重度を算出する際に用いる性能指標値として、経過時間に対する割合として計算されるCPU使用率を使用している。この場合、CPU使用率を求める際に、測定操作を所定期間繰り返す必要があるため、時間を要してしまう。そのため、限界多重度の最適値に影響を与える動作環境要因が大きく変化するような状況下では、所定期間に亘るCPU使用率に対する最適な限界多重度と個々の時刻における最適な限界多重度との間に差異が生ずるおそれがある。 In the server device described in Patent Document 1, the CPU usage rate calculated as a ratio to the elapsed time is used as the performance index value used when calculating the limit multiplicity. In this case, when the CPU usage rate is obtained, it is necessary to repeat the measurement operation for a predetermined period, which takes time. Therefore, under circumstances where the operating environment factors that affect the optimum value of the limit multiplicity change greatly, the optimum limit multiplicity for the CPU usage rate over a predetermined period and the optimum limit multiplicity at each time There may be differences between them.
 また、特許文献1に記載のサーバ装置では、所定期間に亘って実施した測定操作の結果を用いてCPU使用率を求めるため、最適な限界多重度を求める時点の動作だけではなく、その時点を含む所定期間内の動作を平均して求めたCPU使用率に基づいて最適な限界多重度を算出することになる。したがって、限界多重度の最適値に影響を与える動作環境要因が徐々に変化していくような状況下では、このようなCPU使用率を用いて限界多重度を算出すると、最適な限界多重度の変化に対する追随が遅延するおそれがある。 Further, in the server device described in Patent Document 1, since the CPU usage rate is obtained using the result of the measurement operation performed over a predetermined period, not only the operation at the time of obtaining the optimum limit multiplicity, but also the time point. The optimum limit multiplicity is calculated on the basis of the CPU usage rate obtained by averaging the operations within the predetermined period. Therefore, under circumstances where the operating environment factors that affect the optimum value of the limit multiplicity gradually change, calculating the limit multiplicity using such a CPU usage rate results in the optimal limit multiplicity. There may be a delay in following changes.
 本発明は、上述した課題を解決するためになされたものであり、限界多重度の最適値に影響を与える動作環境要因が変化するような状況下においても最適な多重度を設定することができる同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラムを提供することを目的の一つとする。 The present invention has been made to solve the above-described problem, and an optimum multiplicity can be set even in a situation where an operating environment factor affecting the optimum value of the limit multiplicity changes. An object is to provide a simultaneous connection number control system, a simultaneous connection number control server, a simultaneous connection number control method, and a simultaneous connection number control program.
 本発明の一態様である同時接続数制御システムは、対象コンピュータにおけるハードウェアの動作状況を計測するカウンタ部と、前記動作状況の取得操作が開始されるたびに、前記カウンタ部により計測された前記動作状況を取得する動作状況取得部と、前記動作状況取得部により取得された前記動作状況を用いて、同時に並行して処理を進める処理プロセス数の上限値である限界多重度を算出する限界多重度算出部と、前記限界多重度算出部により算出された前記限界多重度を上限として前記対象コンピュータへの同時接続数を制御する同時接続数制御部と、を備える。 The simultaneous connection number control system according to one aspect of the present invention includes a counter unit that measures an operation state of hardware in a target computer, and the counter unit that is measured each time the operation state acquisition operation is started. Using an operation status acquisition unit that acquires an operation status and the operation status acquired by the operation status acquisition unit, a limit multiplicity that calculates a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously perform processing is calculated. A severe calculation unit, and a simultaneous connection number control unit that controls the number of simultaneous connections to the target computer with the limit multiplicity calculated by the limit multiplicity calculation unit as an upper limit.
 本発明の一態様である同時接続数制御サーバは、対象コンピュータにおけるハードウェアの動作状況を計測するカウンタ部と、前記動作状況の取得操作が開始されるたびに、前記カウンタ部により計測された前記動作状況を取得する動作状況取得部と、前記動作状況取得部により取得された前記動作状況を用いて、同時に並行して処理を進める処理プロセス数の上限値である限界多重度を算出する限界多重度算出部と、前記限界多重度算出部により算出された前記限界多重度を上限として前記対象コンピュータへの同時接続数を制御する同時接続数制御部と、を備える。 The simultaneous connection number control server according to one aspect of the present invention includes a counter unit that measures a hardware operation state in a target computer, and the counter unit that is measured each time the operation state acquisition operation is started. Using an operation status acquisition unit that acquires an operation status and the operation status acquired by the operation status acquisition unit, a limit multiplicity that calculates a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously perform processing is calculated. A severe calculation unit, and a simultaneous connection number control unit that controls the number of simultaneous connections to the target computer with the limit multiplicity calculated by the limit multiplicity calculation unit as an upper limit.
 本発明の一態様である同時接続数制御方法は、対象コンピュータにおけるハードウェアの動作状況を計測するカウンタステップと、前記動作状況の取得操作が開始されるたびに、前記カウンタステップにおいて計測された前記動作状況を取得する動作状況取得ステップと、前記動作状況取得ステップにおいて取得された前記動作状況を用いて、同時に並行して処理を進める処理プロセス数の上限値である限界多重度を算出する限界多重度算出ステップと、前記限界多重度算出ステップにおいて算出された前記限界多重度を上限として前記対象コンピュータへの同時接続数を制御する同時接続数制御ステップと、を含む。 The method for controlling the number of simultaneous connections according to an aspect of the present invention includes a counter step for measuring an operation state of hardware in a target computer, and the counter step measured every time the operation state acquisition operation is started. Using the operation status acquisition step for acquiring the operation status and the operation status acquired in the operation status acquisition step, the limit multiplicity for calculating the limit multiplicity that is the upper limit value of the number of processing processes to be processed in parallel at the same time A severe calculation step, and a simultaneous connection number control step of controlling the number of simultaneous connections to the target computer with the limit multiplicity calculated in the limit multiplicity calculation step as an upper limit.
 本発明の一態様である同時接続数制御プログラムは、上記同時接続数制御方法に含まれる各ステップをコンピュータに実行させる。 The concurrent connection number control program that is one aspect of the present invention causes a computer to execute each step included in the concurrent connection number control method.
 本発明によれば、限界多重度の最適値に影響を与える動作環境要因が変化するような状況下においても最適な多重度を設定することができる。 According to the present invention, it is possible to set the optimum multiplicity even in a situation where the operating environment factor that affects the optimum value of the limit multiplicity changes.
実施形態における同時接続数制御システムの構成を例示する図である。It is a figure which illustrates the structure of the simultaneous connection number control system in embodiment. 動作状況取得処理の開始手順を説明するためのフローチャートである。It is a flowchart for demonstrating the start procedure of an operation condition acquisition process. 動作状況取得処理の手順を説明するためのフローチャートである。It is a flowchart for demonstrating the procedure of an operation condition acquisition process. 同時接続数を制御する際の手順を説明するためのフローチャートである。It is a flowchart for demonstrating the procedure at the time of controlling the number of simultaneous connections. 実施形態における取得操作と限界多重度の算出との関係を示す図である。It is a figure which shows the relationship between acquisition operation in embodiment, and calculation of limit multiplicity. 従来における取得操作と限界多重度の算出との関係を示す図である。It is a figure which shows the relationship between acquisition operation in the past, and calculation of limit multiplicity. 変形例における同時接続数制御システムの構成を例示する図である。It is a figure which illustrates the structure of the simultaneous connection number control system in a modification. 従来の情報処理システムの一例を示す図である。It is a figure which shows an example of the conventional information processing system. データベースサーバのスループット性能を説明するための図である。It is a figure for demonstrating the throughput performance of a database server.
 以下、添付図面を参照して、本発明に係る同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラムの好適な実施形態について説明する。 Hereinafter, preferred embodiments of a simultaneous connection number control system, a simultaneous connection number control server, a simultaneous connection number control method, and a simultaneous connection number control program according to the present invention will be described with reference to the accompanying drawings.
 まず、図1を参照して、実施形態における同時接続数制御システムの構成について説明する。同時接続数制御システム1は、一つのサーバ2と、複数のクライアント3とを備える。 First, the configuration of the simultaneous connection number control system in the embodiment will be described with reference to FIG. The simultaneous connection number control system 1 includes one server 2 and a plurality of clients 3.
 サーバ2は、ハードウェアとして、例えば、複数のCPU21と複数のメモリ22と一つのタイマ23とを備える。メモリ22およびタイマ23は、CPU21に接続されている。タイマ23は、予め設定された所定の時間間隔でCPU21に割り込みを要求する。 The server 2 includes, for example, a plurality of CPUs 21, a plurality of memories 22, and a timer 23 as hardware. The memory 22 and the timer 23 are connected to the CPU 21. The timer 23 requests an interruption to the CPU 21 at a predetermined time interval set in advance.
 CPU21は、性能カウンタ211を内蔵する。性能カウンタ211は、コンピュータの性能を計測するためのハードウェア・カウンタの一つである。性能カウンタの詳細については、下記非特許文献1に開示されている。この性能カウンタは、メモリアクセスやキャッシュミスの回数などを測定対象とするイベントの発生回数、およびメモリアクセス時間などを測定対象とする操作に要した時間や時刻に関連する値を、ハードウェア・クロックの精度(サブナノ秒の単位)で計測することができる。 The CPU 21 has a built-in performance counter 211. The performance counter 211 is one of hardware counters for measuring the performance of the computer. Details of the performance counter are disclosed in Non-Patent Document 1 below. This performance counter shows the number of occurrences of events that measure the number of memory accesses and cache misses, and values related to the time and time required for operations that measure the memory access time, etc. Can be measured with the accuracy of sub-nanoseconds.
 [非特許文献1] "Intel(R) 64 and IA-32 Architectures Software Developer’s Manual Volume 3B: System Programming Guide, Part 2"、 May 2007、 [CHAPTER 18 DEBUGGING AND PERFORMANCE MONITORING]、[APPENDIX A PERFORMANCE-MONITORING EVENTS] [Non-Patent Document 1] "Intel (R) 64" and "IA-32" Architectures "Software" Developer's "Manual" Volume "3B:" System "Programming" Guide, "Part" 2 "," May "2007," [CHAPTER "18" DEBUGGING "AND" PERFORMANCE "MONITORING], [APPENDIX-MONITORING] ]
 CPU21が内蔵する性能カウンタ211は、性能カウンタ部として機能する。性能カウンタ部は、CPU21がメモリ22に対して行うアクセス回数とアクセス時間とを累計する機能を有する。本実施形態では、二つの性能カウンタを備え、アクセス回数およびアクセス時間の2種類の計測を同時に実行できるものとする。 The performance counter 211 built in the CPU 21 functions as a performance counter unit. The performance counter unit has a function of accumulating the number of accesses and the access time that the CPU 21 accesses the memory 22. In this embodiment, it is assumed that two performance counters are provided, and two types of measurement of the number of accesses and the access time can be performed simultaneously.
 サーバ2は、ソフトウェアによる機能として、例えば、動作状況取得部221と、限界多重度算出部222と、同時接続数制御部223と、を有する。CPU21が、メモリ22に格納されているプログラムを読み出して実行することで、上記ソフトウェアによる機能が実現する。処理プロセス224は、クライアント3からの処理要求を実行するプロセスである。オペレーティングシステム225は、外部からの要求やタイマ23からの割り込みを契機として各プログラムの実行を制御する。 The server 2 includes, as software functions, for example, an operation status acquisition unit 221, a limit multiplicity calculation unit 222, and a simultaneous connection number control unit 223. When the CPU 21 reads and executes the program stored in the memory 22, the function by the software is realized. The processing process 224 is a process for executing a processing request from the client 3. The operating system 225 controls the execution of each program in response to an external request or an interrupt from the timer 23.
 動作状況取得部221は、コンピュータの動作状況を取得するための操作(以下、「動作状況取得操作」という。)が開始されるたびに、性能カウンタ部211により計測されたアクセス回数およびアクセス時間の累計値を取得する。 The operation status acquisition unit 221 calculates the number of accesses and the access time measured by the performance counter unit 211 each time an operation for acquiring the operation status of the computer (hereinafter referred to as “operation status acquisition operation”) is started. Get the cumulative value.
 動作状況取得操作を実行する間隔は、オペレーティングシステム225で予め決められた時間を設定することができる。タイマ23は、予め決められた時間が経過するごとに、CPU21に割り込みを要求し、動作状況取得操作の実行を開始させる。 As the interval for executing the operation status acquisition operation, a time predetermined by the operating system 225 can be set. The timer 23 requests the CPU 21 to interrupt each time a predetermined time elapses, and starts execution of the operation status acquisition operation.
 限界多重度算出部222は、動作状況取得部221により取得されたアクセス回数およびアクセス時間の累計値を用いて、限界多重度を算出する。限界多重度は、同時に並行して処理を進める処理プロセス数の上限値である。限界多重度を算出する一例について以下に説明する。 The limit multiplicity calculation unit 222 calculates the limit multiplicity by using the access count and the accumulated access time acquired by the operation status acquisition unit 221. The limit multiplicity is the upper limit value of the number of processing processes that simultaneously proceed in parallel. An example of calculating the limit multiplicity will be described below.
 限界多重度算出部222は、アクセス回数およびアクセス時間の累計値を用いて平均アクセス時間を算出する。平均アクセス時間は、アクセス時間の累計値をアクセス回数の累計値で除することで算出できる。限界多重度算出部222は、平均アクセス時間が予め定めた閾値以上である場合に、現在設定している限界多重度から1を減ずる。 The limit multiplicity calculation unit 222 calculates the average access time using the cumulative number of access times and access times. The average access time can be calculated by dividing the cumulative value of the access time by the cumulative value of the number of accesses. The limit multiplicity calculation unit 222 subtracts 1 from the currently set limit multiplicity when the average access time is equal to or greater than a predetermined threshold.
 同時接続数制御部223は、限界多重度算出部222により算出された限界多重度を上限としてサーバ2に対するクライアント3の同時接続数を制御する。同時接続数の制御は、クライアント3からサーバ2への処理要求を処理プロセス224に受け渡すかどうかを制御することで行うことができる。具体的に、以下に説明する。 The simultaneous connection number control unit 223 controls the number of simultaneous connections of the client 3 to the server 2 with the limit multiplicity calculated by the limit multiplicity calculation unit 222 as an upper limit. The number of simultaneous connections can be controlled by controlling whether a processing request from the client 3 to the server 2 is transferred to the processing process 224. Specifically, this will be described below.
 同時接続数制御部223は、クライアント3から接続要求を受け取ったときに、現在の接続数(初期値は0)が限界多重度以上であるか否かを判定する。現在の接続数が限界多重度未満である場合には、接続処理を実行し、現在の接続数に1を加える。一方、現在の接続数が限界多重度以上である場合には、接続処理を実行せずに、クライアント3にその旨を通知する。同時接続数制御部223は、クライアント3から切断要求を受け取ったときに、切断処理を実行し、現在の接続数から1を減ずる。 When the connection request is received from the client 3, the simultaneous connection number control unit 223 determines whether or not the current number of connections (initial value is 0) is equal to or greater than the limit multiplicity. If the current number of connections is less than the limit multiplicity, a connection process is executed, and 1 is added to the current number of connections. On the other hand, if the current number of connections is greater than or equal to the limit multiplicity, the client 3 is notified of that fact without executing the connection process. When receiving a disconnection request from the client 3, the simultaneous connection number control unit 223 executes disconnection processing and subtracts 1 from the current number of connections.
 次に、図2~図4を参照して同時接続数制御サーバの動作について説明する。 Next, the operation of the simultaneous connection number control server will be described with reference to FIGS.
 図2は、動作状況取得処理の開始手順を説明するためのフローチャートである。この動作状況取得処理の開始手順は、サーバ2が起動してから停止するまでの間、繰り返し実行される。 FIG. 2 is a flowchart for explaining the start procedure of the operation status acquisition process. This starting procedure of the operation status acquisition process is repeatedly executed from when the server 2 starts up to when it stops.
 動作状況取得部221は、所定時間が経過するたび(ステップS101;YES)に、動作状況取得処理を実行する(ステップS102)。 The operation status acquisition unit 221 performs an operation status acquisition process every time a predetermined time has elapsed (step S101; YES) (step S102).
 図3は、上記ステップS102で実行される動作状況取得処理の手順を説明するためのフローチャートである。 FIG. 3 is a flowchart for explaining the procedure of the operation status acquisition process executed in step S102.
 最初に、動作状況取得部221は、性能カウンタ211からアクセス回数およびアクセス時間の累計値を取得する(ステップS201)。 First, the operation status acquisition unit 221 acquires the cumulative number of access times and access times from the performance counter 211 (step S201).
 続いて、性能カウンタ部は、性能カウンタ211で計測しているアクセス回数およびアクセス時間の累計値を0にリセットする(ステップS202)。 Subsequently, the performance counter unit resets the total number of accesses and access times measured by the performance counter 211 to 0 (step S202).
 続いて、限界多重度算出部222は、上記ステップS201で取得されたアクセス回数およびアクセス時間の累計値を用いて、平均アクセス時間(=アクセス時間の累計値/アクセス回数の累計値)を算出する(ステップS203)。 Subsequently, the limit multiplicity calculation unit 222 calculates the average access time (= the cumulative value of the access time / the cumulative value of the number of accesses) using the cumulative value of the access count and access time acquired in step S201. (Step S203).
 続いて、限界多重度算出部222は、上記ステップS203で算出した平均アクセス時間が、予め定めた閾値以上であるか否かを判定する(ステップS204)。この判定がNOである場合(ステップS204;NO)には、動作状況取得処理を終了する。 Subsequently, the limit multiplicity calculation unit 222 determines whether or not the average access time calculated in step S203 is equal to or greater than a predetermined threshold (step S204). If this determination is NO (step S204; NO), the operation status acquisition process ends.
 一方、上記ステップS204の判定で平均アクセス時間が閾値以上であると判定された場合(ステップS204;YES)に、限界多重度算出部222は、現在設定している限界多重度から1を減ずる(ステップS205)。そして、動作状況取得処理を終了する。 On the other hand, when it is determined in step S204 that the average access time is equal to or greater than the threshold (step S204; YES), the limit multiplicity calculation unit 222 subtracts 1 from the currently set limit multiplicity ( Step S205). Then, the operation status acquisition process ends.
 図4は、同時接続数を制御する際の手順を説明するためのフローチャートである。この同時接続数の制御は、サーバ2が起動したときに開始され、サーバ2が停止するまで実行される。 FIG. 4 is a flowchart for explaining a procedure for controlling the number of simultaneous connections. The control of the number of simultaneous connections is started when the server 2 is started and is executed until the server 2 is stopped.
 最初に、同時接続数制御部223は、現在の接続数を0にリセットする(ステップS301)。 First, the simultaneous connection number control unit 223 resets the current number of connections to 0 (step S301).
 続いて、同時接続数制御部223は、クライアント3からの処理要求を受信するまで待機する(ステップS302;NO)。 Subsequently, the simultaneous connection number control unit 223 waits until a processing request from the client 3 is received (step S302; NO).
 続いて、同時接続数制御部223は、クライアント3からの処理要求を受信した場合(ステップS302;YES)に、処理要求が接続要求であれば(ステップS303;接続要求)、現在の接続数が現在の限界多重度以上であるか否かを判定する(ステップS304)。 Subsequently, when the processing request from the client 3 is received (step S302; YES) and the processing request is a connection request (step S303; connection request), the simultaneous connection number control unit 223 determines that the current number of connections is It is determined whether or not the current limit multiplicity is exceeded (step S304).
 この判定がNOである場合(ステップS304;NO)に、同時接続数制御部223は、接続処理を実行し、現在の接続数に1を加える(ステップS306)。そして、処理を上記ステップS302に移行する。 If this determination is NO (step S304; NO), the simultaneous connection number control unit 223 executes a connection process and adds 1 to the current number of connections (step S306). Then, the process proceeds to step S302.
 一方、上記ステップS304の判定で現在の接続数が現在の限界多重度以上であると判定した場合(ステップS304;YES)に、同時接続数制御部223は、接続処理を実行せずに、クライアント3にその旨を通知する(ステップS305)。そして、処理を上記ステップS302に移行する。 On the other hand, if it is determined in step S304 that the current number of connections is greater than or equal to the current limit multiplicity (step S304; YES), the simultaneous connection number control unit 223 does not execute the connection process, and the client 3 is notified of this (step S305). Then, the process proceeds to step S302.
 一方、上記ステップS303においてクライアント3からの処理要求が切断要求であると判定された場合(ステップS303;切断要求)に、同時接続数制御部223は、切断処理を実行し、現在の接続数から1を減ずる(ステップS307)。そして、処理を上記ステップS302に移行する。 On the other hand, when it is determined in step S303 that the processing request from the client 3 is a disconnection request (step S303; disconnection request), the simultaneous connection number control unit 223 executes the disconnection process, and determines from the current number of connections. 1 is subtracted (step S307). Then, the process proceeds to step S302.
 本実施形態における同時接続数制御システム1によれば、CPU21の性能カウンタ211で計測されているアクセス回数およびアクセス時間の累計値を用いて限界多重度を算出することができる。つまり、図5に示すように、一回の取得操作Xのたびに、限界多重度を算出Yすることができる。これにより、限界多重度の最適値に影響を与える動作環境要因が、大きく変化または徐々に変化していくような状況下においても、最適な限界多重度を設定することが可能となる。 According to the simultaneous connection number control system 1 in the present embodiment, the limit multiplicity can be calculated by using the access count and the cumulative access time measured by the performance counter 211 of the CPU 21. That is, as shown in FIG. 5, the limit multiplicity can be calculated Y for each acquisition operation X. As a result, the optimum limit multiplicity can be set even in a situation where the operating environment factor that affects the optimum value of the limit multiplicity changes greatly or gradually changes.
 これに対して、従来は、図6に示すように、複数回の取得操作Xを実行し、取得された結果Zを集計してから限界多重度を算出Yしていた。つまり、限界多重度を一回算出Yするために、複数回の取得操作Xを必要とし、取得操作に多くの時間を要していた。このため、限界多重度の最適値に影響を与える動作環境要因が大きく変化、または徐々に変化していくような状況下では、最適な多重度を設定するのが難しかった。 On the other hand, conventionally, as shown in FIG. 6, the acquisition operation X is performed a plurality of times, and the obtained results Z are aggregated, and then the limit multiplicity is calculated Y. That is, in order to calculate Y the limit multiplicity once, a plurality of acquisition operations X are required, and the acquisition operation takes a lot of time. For this reason, it has been difficult to set the optimum multiplicity under circumstances where the operating environment factors that affect the optimum value of the limit multiplicity change greatly or gradually change.
 上述したように、実施形態における同時接続数制御システム1によれば、一回の取得操作のたびに限界多重度を算出することができるため、限界多重度の最適値に影響を与える動作環境要因が大きく変化するような状況においても最適な多重度を設定することができる。 As described above, according to the simultaneous connection number control system 1 in the embodiment, the limit multiplicity can be calculated for each acquisition operation, and therefore the operating environment factor that affects the optimum value of the limit multiplicity. It is possible to set an optimum multiplicity even in a situation where the value of the value changes greatly.
 また、実施形態における同時接続数制御システム1によれば、限界多重度を算出する際に使用する値を取得する時間を短縮できるため、限界多重度の最適値に影響を与える動作環境要因が徐々に変化していくような状況においても、最適な多重度を設定することができる。 Further, according to the simultaneous connection number control system 1 in the embodiment, the time for obtaining a value used when calculating the limit multiplicity can be shortened, and therefore, operating environment factors that affect the optimum value of the limit multiplicity gradually. Even in such a situation that changes, the optimal multiplicity can be set.
 [変形例]
 なお、上述した実施形態は、単なる例示に過ぎず、実施形態に明示していない種々の変形や技術の適用を排除するものではない。すなわち、本発明は、その趣旨を逸脱しない範囲で様々な形態に変形して実施することができる。
[Modification]
Note that the above-described embodiment is merely an example, and does not exclude various modifications and technical applications that are not explicitly described in the embodiment. That is, the present invention can be implemented by being modified into various forms without departing from the spirit of the present invention.
 例えば、上述した実施形態では、CPU内蔵の性能カウンタからメモリアクセス回数およびメモリアクセス時間の累計値を読み出して限界多重度の算出に使用していたが、限界多重度の計算に使用する測定値はこれに限定されない。ハードウェア信号を観測することで得られる測定値であれば、本発明に適用可能である。例えば、CPUが処理していないときに一時休止(halt)状態となるシステムであれば、CPUがhalt状態になっている時間(または、CPUがhalt状態になっていない時間)と、経過時間とをCPUの性能カウンタから取得し、取得した各時間を用いて算出したCPU使用率を限界多重度の算出に使用することとしてもよい。 For example, in the above-described embodiment, the cumulative value of the memory access count and the memory access time is read from the performance counter built in the CPU and used to calculate the limit multiplicity, but the measurement value used to calculate the limit multiplicity is It is not limited to this. Any measurement value obtained by observing a hardware signal can be applied to the present invention. For example, if the system is in a halt state when the CPU is not processing, the CPU is in the halt state (or the time the CPU is not in the halt state) and the elapsed time. May be acquired from the CPU performance counter and the CPU usage rate calculated using the acquired times may be used for calculating the limit multiplicity.
 また、上述した実施形態では一つのサーバで本発明を実施しているが、本発明は複数のサーバで実施することもできる。図7に、本変形例における同時接続数制御システムの構成例を示す。図7に示すように、同時接続数制御システム4は、複数のサーバ5と、一つのロードバランサ6と、複数のクライアント7とを備える。サーバ5のハードウェア構成は、実施形態におけるサーバ2のハードウェア構成と同様であるため、ここではその説明を省略する。サーバ5のソフトウェア機能は、実施形態におけるサーバ2のソフトウェア機能のうち、動作状況取得部221に相当する動作状況取得部521を有する。ロードバランサ6は、実施形態におけるサーバ2のソフトウェア機能のうち、限界多重度算出部222および同時接続数制御部223に相当する限界多重度算出部622および同時接続数制御部623を有する。動作状況取得部521および限界多重度算出部622は、サーバ5の数に合わせてそれぞれ設け、同時接続数制御部623は、ロードバランサ6に一つ設ける。同時接続数制御部623は、各サーバ5に対応する限界多重度算出部622から限界多重度を読み出して、各サーバ5に対するクライアント7の同時接続数を制御する。 In the above-described embodiment, the present invention is implemented by one server, but the present invention can also be implemented by a plurality of servers. FIG. 7 shows a configuration example of the simultaneous connection number control system in this modification. As shown in FIG. 7, the simultaneous connection number control system 4 includes a plurality of servers 5, a single load balancer 6, and a plurality of clients 7. Since the hardware configuration of the server 5 is the same as the hardware configuration of the server 2 in the embodiment, the description thereof is omitted here. The software function of the server 5 includes an operation status acquisition unit 521 corresponding to the operation status acquisition unit 221 among the software functions of the server 2 in the embodiment. The load balancer 6 includes a limit multiplicity calculation unit 222 and a simultaneous connection number control unit 623 corresponding to the limit multiplicity calculation unit 222 and the simultaneous connection number control unit 223 among the software functions of the server 2 in the embodiment. The operation status acquisition unit 521 and the limit multiplicity calculation unit 622 are provided in accordance with the number of servers 5, and the simultaneous connection number control unit 623 is provided in the load balancer 6. The simultaneous connection number control unit 623 reads the limit multiplicity from the limit multiplicity calculation unit 622 corresponding to each server 5 and controls the number of simultaneous connections of the client 7 to each server 5.
 本変形例における同時接続数制御システム4によれば、複数のクライアント7からの処理要求を複数のサーバ5で負荷分散処理するシステムにおいて、限界多重度を最適に制御することが可能となる。 According to the simultaneous connection number control system 4 in the present modification, it is possible to optimally control the limit multiplicity in a system in which processing requests from a plurality of clients 7 are load-balanced by a plurality of servers 5.
 上述した実施形態の一部または全部は、以下の付記のようにも記載され得るが、本発明を以下のように限定するものではない。 Some or all of the above-described embodiments may be described as in the following supplementary notes, but the present invention is not limited to the following.
 (付記1) 対象コンピュータにおけるハードウェアの動作状況を計測するカウンタ部と、前記動作状況の取得操作が開始されるたびに、前記カウンタ部により計測された前記動作状況を取得する動作状況取得部と、前記動作状況取得部により取得された前記動作状況を用いて、同時に並行して処理を進める処理プロセス数の上限値である限界多重度を算出する限界多重度算出部と、前記限界多重度算出部により算出された前記限界多重度を上限として前記対象コンピュータへの同時接続数を制御する同時接続数制御部と、を備えることを特徴とする同時接続数制御システム。 (Supplementary note 1) A counter unit that measures the hardware operation status in the target computer, and an operation status acquisition unit that acquires the operation status measured by the counter unit each time the operation status acquisition operation is started A limit multiplicity calculation unit that calculates a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously proceed in parallel using the operation status acquired by the operation status acquisition unit; and the limit multiplicity calculation A simultaneous connection number control unit that controls the number of simultaneous connections to the target computer with the limit multiplicity calculated by a unit as an upper limit.
 (付記2) 前記カウンタ部は、前記動作状況として、ハードウェア動作の回数および時間を計測する、ことを特徴とする付記1記載の同時接続数制御システム。 (Supplementary note 2) The simultaneous connection number control system according to supplementary note 1, wherein the counter unit measures the number of times and time of hardware operation as the operation state.
 (付記3) 前記カウンタ部と前記動作状況取得部とを有する複数のサーバと、前記限界多重度算出部と前記同時接続数制御部とを有するロードバランサと、を備えることをとする付記1または2記載の同時接続数制御システム。 (Supplementary note 3) Supplementary note 1 or 2 including a plurality of servers having the counter unit and the operation status acquisition unit, and a load balancer having the limit multiplicity calculation unit and the simultaneous connection number control unit 2. The simultaneous connection number control system according to 2.
 (付記4) 対象コンピュータにおけるハードウェアの動作状況を計測するカウンタ部と、前記動作状況の取得操作が開始されるたびに、前記カウンタ部により計測された前記動作状況を取得する動作状況取得部と、前記動作状況取得部により取得された前記動作状況を用いて、同時に並行して処理を進める処理プロセス数の上限値である限界多重度を算出する限界多重度算出部と、前記限界多重度算出部により算出された前記限界多重度を上限として前記対象コンピュータへの同時接続数を制御する同時接続数制御部と、を備えることを特徴とする同時接続数制御サーバ。 (Supplementary Note 4) A counter unit that measures the hardware operation status in the target computer, and an operation status acquisition unit that acquires the operation status measured by the counter unit each time the operation status acquisition operation is started A limit multiplicity calculation unit that calculates a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously proceed in parallel using the operation status acquired by the operation status acquisition unit; and the limit multiplicity calculation And a simultaneous connection number control unit that controls the number of simultaneous connections to the target computer with the limit multiplicity calculated by a unit as an upper limit.
 (付記5) 対象コンピュータにおけるハードウェアの動作状況を計測するカウンタステップと、前記動作状況の取得操作が開始されるたびに、前記カウンタステップにおいて計測された前記動作状況を取得する動作状況取得ステップと、前記動作状況取得ステップにおいて取得された前記動作状況を用いて、同時に並行して処理を進める処理プロセス数の上限値である限界多重度を算出する限界多重度算出ステップと、前記限界多重度算出ステップにおいて算出された前記限界多重度を上限として前記対象コンピュータへの同時接続数を制御する同時接続数制御ステップと、を含むことを特徴とする同時接続数制御方法。 (Additional remark 5) The counter step which measures the operation state of the hardware in an object computer, The operation state acquisition step which acquires the said operation state measured in the said counter step, whenever the acquisition operation of the said operation state is started, A limit multiplicity calculating step for calculating a limit multiplicity that is an upper limit value of the number of processing processes that simultaneously proceed in parallel using the operation status acquired in the operation status acquiring step; and the limit multiplicity calculation. A simultaneous connection number control step of controlling the number of simultaneous connections to the target computer with the limit multiplicity calculated in the step as an upper limit.
 (付記6) 付記5に記載の各ステップをコンピュータに実行させるための同時接続数制御プログラム。 (Appendix 6) A program for controlling the number of simultaneous connections for causing a computer to execute each step described in Appendix 5.
 この出願は、2012年2月28日に出願された日本出願特願2012-041446を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2012-041446 filed on February 28, 2012, the entire disclosure of which is incorporated herein.
 以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
 本発明に係る同時接続数制御システム、同時接続数制御サーバ、同時接続数制御方法および同時接続数制御プログラムは、限界多重度の最適値に影響を与える動作環境要因が変化するような状況下においても最適な多重度を設定することに適している。 The simultaneous connection number control system, the simultaneous connection number control server, the simultaneous connection number control method, and the simultaneous connection number control program according to the present invention are provided under a situation in which operating environment factors affecting the optimum value of the limit multiplicity change. Is also suitable for setting the optimal multiplicity.
1、4…同時接続数制御システム
2、5…サーバ
3、7…クライアント
6…ロードバランサ
21…CPU
22…メモリ
23…タイマ
211…性能カウンタ部
221、521…動作状況取得部
222、622…限界多重度算出部
223、623…同時接続数制御部
224…処理プロセス
225…オペレーティングシステム
DESCRIPTION OF SYMBOLS 1, 4 ... Simultaneous connection number control system 2, 5 ... Server 3, 7 ... Client 6 ... Load balancer 21 ... CPU
22 ... Memory 23 ... Timer 211 ... Performance counter unit 221, 521 ... Operation status acquisition unit 222, 622 ... Limit multiplicity calculation unit 223, 623 ... Simultaneous connection number control unit 224 ... Processing process 225 ... Operating system

Claims (6)

  1.  対象コンピュータにおけるハードウェアの動作状況を計測するカウンタ部と、
     前記動作状況の取得操作が開始されるたびに、前記カウンタ部により計測された前記動作状況を取得する動作状況取得部と、
     前記動作状況取得部により取得された前記動作状況を用いて、同時に並行して処理を進める処理プロセス数の上限値である限界多重度を算出する限界多重度算出部と、
     前記限界多重度算出部により算出された前記限界多重度を上限として前記対象コンピュータへの同時接続数を制御する同時接続数制御部と、
     を備えることを特徴とする同時接続数制御システム。
    A counter unit for measuring the operation status of hardware in the target computer;
    An operation status acquisition unit that acquires the operation status measured by the counter unit each time the operation status acquisition operation is started,
    Using the operation status acquired by the operation status acquisition unit, a limit multiplicity calculation unit that calculates a limit multiplicity that is the upper limit value of the number of processing processes that proceed simultaneously in parallel;
    A simultaneous connection number control unit for controlling the number of simultaneous connections to the target computer with the limit multiplicity calculated by the limit multiplicity calculation unit as an upper limit;
    A simultaneous connection number control system comprising:
  2.  前記カウンタ部は、前記動作状況として、ハードウェア動作の回数および時間を計測する、
     ことを特徴とする請求項1記載の同時接続数制御システム。
    The counter unit measures the number and time of hardware operations as the operation status.
    The simultaneous connection number control system according to claim 1.
  3.  前記カウンタ部と前記動作状況取得部とを有する複数のサーバと、
     前記限界多重度算出部と前記同時接続数制御部とを有するロードバランサと、
     を備えることをとする請求項1または2記載の同時接続数制御システム。
    A plurality of servers having the counter unit and the operation status acquisition unit;
    A load balancer having the limit multiplicity calculation unit and the simultaneous connection number control unit;
    The simultaneous connection number control system according to claim 1 or 2, further comprising:
  4.  対象コンピュータにおけるハードウェアの動作状況を計測するカウンタ部と、
     前記動作状況の取得操作が開始されるたびに、前記カウンタ部により計測された前記動作状況を取得する動作状況取得部と、
     前記動作状況取得部により取得された前記動作状況を用いて、同時に並行して処理を進める処理プロセス数の上限値である限界多重度を算出する限界多重度算出部と、
     前記限界多重度算出部により算出された前記限界多重度を上限として前記対象コンピュータへの同時接続数を制御する同時接続数制御部と、
     を備えることを特徴とする同時接続数制御サーバ。
    A counter unit for measuring the operation status of hardware in the target computer;
    An operation status acquisition unit that acquires the operation status measured by the counter unit each time the operation status acquisition operation is started,
    Using the operation status acquired by the operation status acquisition unit, a limit multiplicity calculation unit that calculates a limit multiplicity that is the upper limit value of the number of processing processes that proceed simultaneously in parallel;
    A simultaneous connection number control unit for controlling the number of simultaneous connections to the target computer with the limit multiplicity calculated by the limit multiplicity calculation unit as an upper limit;
    A simultaneous connection number control server comprising:
  5.  対象コンピュータにおけるハードウェアの動作状況を計測するカウンタステップと、
     前記動作状況の取得操作が開始されるたびに、前記カウンタステップにおいて計測された前記動作状況を取得する動作状況取得ステップと、
     前記動作状況取得ステップにおいて取得された前記動作状況を用いて、同時に並行して処理を進める処理プロセス数の上限値である限界多重度を算出する限界多重度算出ステップと、
     前記限界多重度算出ステップにおいて算出された前記限界多重度を上限として前記対象コンピュータへの同時接続数を制御する同時接続数制御ステップと、
     を含むことを特徴とする同時接続数制御方法。
    A counter step for measuring hardware operating conditions in the target computer;
    An operation status acquisition step of acquiring the operation status measured in the counter step every time the operation status acquisition operation is started,
    Using the operation status acquired in the operation status acquisition step, a limit multiplicity calculation step for calculating a limit multiplicity that is the upper limit value of the number of processing processes that proceed simultaneously in parallel;
    A simultaneous connection number control step of controlling the number of simultaneous connections to the target computer with the limit multiplicity calculated in the limit multiplicity calculating step as an upper limit;
    A method for controlling the number of simultaneous connections.
  6.  請求項5に記載の各ステップをコンピュータに実行させるための同時接続数制御プログラム。 A program for controlling the number of simultaneous connections for causing a computer to execute each step according to claim 5.
PCT/JP2013/052864 2012-02-28 2013-02-07 Control system for simultaneous number of connections, control server for simultaneous number of connections, control method for simultaneous number of connections and control program for simultaneous number of connections WO2013129061A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012041446 2012-02-28
JP2012-041446 2012-02-28

Publications (1)

Publication Number Publication Date
WO2013129061A1 true WO2013129061A1 (en) 2013-09-06

Family

ID=49082264

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/052864 WO2013129061A1 (en) 2012-02-28 2013-02-07 Control system for simultaneous number of connections, control server for simultaneous number of connections, control method for simultaneous number of connections and control program for simultaneous number of connections

Country Status (2)

Country Link
JP (1) JPWO2013129061A1 (en)
WO (1) WO2013129061A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476732B2 (en) 2016-11-28 2019-11-12 Fujitsu Limited Number-of-couplings control method and distributing device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6377197B1 (en) * 2017-03-03 2018-08-22 三菱電機インフォメーションシステムズ株式会社 Thread number variation communication apparatus and thread number variation communication program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63211452A (en) * 1987-02-27 1988-09-02 Nec Corp Network conversational processing system
JP2005141441A (en) * 2003-11-06 2005-06-02 Hitachi Ltd Load distribution system
JP2008250669A (en) * 2007-03-30 2008-10-16 Nec Corp Web monitoring control system, web server control device and web server control program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63211452A (en) * 1987-02-27 1988-09-02 Nec Corp Network conversational processing system
JP2005141441A (en) * 2003-11-06 2005-06-02 Hitachi Ltd Load distribution system
JP2008250669A (en) * 2007-03-30 2008-10-16 Nec Corp Web monitoring control system, web server control device and web server control program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476732B2 (en) 2016-11-28 2019-11-12 Fujitsu Limited Number-of-couplings control method and distributing device

Also Published As

Publication number Publication date
JPWO2013129061A1 (en) 2015-07-30

Similar Documents

Publication Publication Date Title
EP3087503B1 (en) Cloud compute scheduling using a heuristic contention model
US9037717B2 (en) Virtual machine demand estimation
RU2015114568A (en) AUTOMATED RESOURCE USE PROFILING
US20150134831A1 (en) Management method and apparatus
US10255114B2 (en) Abnormality detection apparatus, control method, and program
US11876731B2 (en) System and methods for sharing memory subsystem resources among datacenter applications
US9864641B2 (en) Method for managing workloads in a multiprocessing computer system
US20120137295A1 (en) Method for displaying cpu utilization in a multi-processing system
US20130198758A1 (en) Task distribution method and apparatus for multi-core system
US9244733B2 (en) Apparatus and method for scheduling kernel execution order
US9424212B2 (en) Operating system-managed interrupt steering in multiprocessor systems
KR20130115574A (en) Method and apparatus for performing a task scheduling in a terminal
JPWO2005017736A1 (en) System and program for detecting bottleneck in disk array device
CN106293881B (en) Performance monitor based on non-uniform I/O access framework and monitoring method thereof
US10402232B2 (en) Method and system for deterministic multicore execution
Yi et al. {MT^ 2}: Memory Bandwidth Regulation on Hybrid {NVM/DRAM} Platforms
US10733023B1 (en) Oversubscription scheduling
US20110191094A1 (en) System and method to evaluate and size relative system performance
US8516503B2 (en) Method and system for self-tuning of hardware resources
WO2013129061A1 (en) Control system for simultaneous number of connections, control server for simultaneous number of connections, control method for simultaneous number of connections and control program for simultaneous number of connections
US9122800B1 (en) System and method of non-intrusive measurement of memory access profiles of threads in a multi-core processor
US9021499B2 (en) Moving a logical device between processor modules in response to identifying a varying load pattern
US9298576B2 (en) Collecting processor usage statistics
JP2013127685A (en) Information processing system and operation management method
CN110727518B (en) Data processing method and related equipment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13755057

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014502101

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13755057

Country of ref document: EP

Kind code of ref document: A1