JPWO2014045417A1 - 情報処理装置、および負荷試験方法 - Google Patents

情報処理装置、および負荷試験方法 Download PDF

Info

Publication number
JPWO2014045417A1
JPWO2014045417A1 JP2014536515A JP2014536515A JPWO2014045417A1 JP WO2014045417 A1 JPWO2014045417 A1 JP WO2014045417A1 JP 2014536515 A JP2014536515 A JP 2014536515A JP 2014536515 A JP2014536515 A JP 2014536515A JP WO2014045417 A1 JPWO2014045417 A1 JP WO2014045417A1
Authority
JP
Japan
Prior art keywords
load factor
packet
determined
load
control unit
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.)
Pending
Application number
JP2014536515A
Other languages
English (en)
Inventor
宣章 笹木
宣章 笹木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2014045417A1 publication Critical patent/JPWO2014045417A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

ネットワークの負荷を効率的に設定する。監視部は、パケットを送信する送信部からパケットを受信する受信部にパケットを送信しているとき、送信部と受信部との間の帯域の使用率である負荷率を測定する。そして、制御部は、監視部で測定した負荷率が決められた負荷率に近づくように、設定を変更すると負荷率を変動させる複数のパラメータを、負荷率の増減に対する影響の大きいパラメータから順番に調整する。

Description

本発明はネットワークの負荷を調整する技術に関する。
コンピュータ装置に高負荷の処理を行なわせることにより、動作の安定性を試験する高負荷試験が行なわれている。コンピュータ装置の高負荷試験の一つに、コンピュータ装置のネットワークに負荷をかけて、コンピュータ装置が正常に動作するか否かを試験するネットワーク負荷試験がある。また、コンピュータ装置単体でネットワーク負荷試験を行なうことがある。この場合には、コンピュータ装置が備えるネットワークカードの各ポートを、LAN(Local Area Network)ケーブルで接続する。そして、コンピュータ装置は、同一の装置内でパケットの送受信を行うことにより、ネットワークに負荷をかけて負荷試験を行なう。
関連する技術として、計算機システムは、回線アダプタに、折り返しコネクタの装着を識別する手段を設ける。そして、計算機システムは、折り返しコネクタが装着されていないときはアダプタ試験を実行しており、折り返しコネクタが装着されると回線試験を実行する技術が知られている。電子計算機システムのシステム構成、及び動作モードに適応した試験環境で、ハードウェアの試験を実施する電子計算機システムの試験方法では、試験項目毎に、試験を実行する際の動作環境情報を設定する。そして、電子計算機の試験の制御を行う試験プログラム制御部は、予め設定されている電子計算機システムのシステム構成情報及び動作モード情報を読み出すと共に、各動作環境情報を読み出す。試験プログラム制御部は、電子計算機システムのシステム構成情報及び動作モード情報と、各動作環境情報を比較することにより、試験環境を識別して試験の実行可否を決定し、該当する試験項目で試験を実行する技術が知られている(例えば、特許文献1および特許文献2参照)。
特開平01−238250号公報 特開平06−012275号公報
前述した負荷試験技術では、例えば、コンピュータ装置の送信側と受信側でパケットを送受信するときに設定される、パケットカウント数やコネクション数が不足すると、送信側と受信側との間のネットワークに負荷がかからない。また、パケットカウント数やコネクション数を増やし過ぎると、コンピュータ装置の制御回路にかかる負荷が重たくなり、制御回路は、指定された数のパケットを送受信できなくなるので、ネットワークに負荷がかからなくなる。したがって、ネットワーク負荷(以下、負荷とも言う。)を最大にするには、コンピュータ装置のリソースに適合した最大の負荷がかかるパケットカウント数やコネクション数を調整するパラメータを見つけなくてはならない。
しかし、コンピュータ装置は、それぞれ搭載されるCPU数、メモリサイズ、ネットワークカード数、ネットワークポート数、およびネットワーク速度が異なる。すなわち、各コンピュータ装置は、使用できるリソースや処理能力が異なる。したがって、各コンピュータ装置に高負荷のネットワーク負荷をかけるには、各コンピュータで別々のパラメータ(試験設定)を設定しなければならない。
さらに、近年のネットワークの高速化にともない、従来の負荷試験の方法では、コンピュータ装置のリソース不足により、ネットワーク負荷を上げることができない場合がある。ネットワーク負荷を上げるためには、パラメータのチューニングや制御の見直し、確認作業が必要となり、多くの手間と時間を要する。また、コンピュータ装置の設定の確認作業では、確認項目の組み合わせが数千〜数万あり、装置ごとにネットワーク負荷を最大とするパラメータを見つけることは困難である。
上述した問題に鑑み、本明細書で後述する情報処理装置は、ネットワークの負荷を効率的に設定することを目的とする。
本明細書で開示する情報処理装置のひとつに、送信部と、受信部と、監視部と、制御部とを備えた情報処理装置がある。送信部は、パケットを送信する。受信部は、パケットを受信する。監視部は、送信部から受信部にパケットを送信しているとき、送信部と受信部との間の帯域の使用率である負荷率を測定する。そして、制御部は、監視部で測定した負荷率が決められた負荷率に近づくように、設定を変更すると負荷率を変動させる複数のパラメータを、負荷率の増減に対する影響の大きいパラメータから順番に調整する。
本明細書で後述する情報処理装置は、ネットワークの負荷を効率的に設定できるという効果を奏する。
情報処理装置の一実施例を示す機能ブロック図である。 負荷試験で用いるテーブルのデータ例を表したテーブルである。 情報処理装置の一実施例を示すブロック図である。 負荷試験の処理の処理内容を示すフローチャートである。 バッファサイズの調整処理の内容を示すフローチャートである。 パケットカウント数の調整処理の内容を示すフローチャートである。 パケットカウント数の調整処理の内容を示すフローチャートである。 コネクション数の調整処理の内容を示すフローチャートである。 CPUバインド数の調整処理の内容を示すフローチャートである。 ディスパッチ処理数の調整処理の内容を示すフローチャートである。 優先度の調整処理の内容を示すフローチャートである。
[実施形態]
実施形態の情報処理装置について説明する。
情報処理装置は、1つ以上のネットワークカードを備え、パケットを送受信するためのポートを2つ以上有する。そして、情報処理装置は、任意の2つのポートをLANケーブルで折り返し接続したポートペアを形成し、パケットを送受信する。また、情報処理装置は、ポートペアで送受信されたパケットの数を測定し、単位時間当たりのデータの転送レート(例えば、Byte/sec)を取得する。そして、情報処理装置は、転送レートを帯域で除算することにより、負荷率を算出する。
情報処理装置は、負荷率を監視しながら、ポートペアごとにパケットを送受信する処理に用いるリソースを割り振り、かつ設定を変更すると負荷率が変動する複数のパラメータを変更し、ポートペアの通信帯域をできる限り多く使用するように調整する。このとき、情報処理装置は、複数のパラメータの中で、負荷率の増減に対する影響の大きいパラメータから順番に調整する。
上記のように、情報処理装置は、ポートペアごとに負荷率を監視しながら、複数のパラメータの設定を調整することで、情報処理装置の能力で出力可能な最大の負荷を得る。また、情報処理装置は、複数のパラメータの設定を調整するとき、負荷率の増減に対する影響の大きいパラメータから順番に調整する。これにより、情報処理装置は、負荷試験におけるネットワーク負荷を粗調整から微調整することでネットワーク負荷の最大値を見つけるので、複数のパラメータの組み合わせをランダムに確認するのに比較して、ネットワーク負荷を効率よく調整することができる。
図1は、情報処理装置の一実施例を示す機能ブロック図である。
図1において、情報処理装置100は、試験制御部10、記憶部20、および送受信部30を備えている。以下の説明においては、情報処理装置100単体でのネットワーク負荷試験について説明する。また、情報処理装置100は、ネットワーク負荷の調整として、情報処理装置100のリソースや折り返し接続に用いるLANケーブルの帯域などで決まる最大のネットワーク負荷を見つけるときについて説明する。ただし、実施形態の情報処理装置100は、図1に示す試験制御部10、記憶部20、および送受信部30に含まれる各種機能を、複数の情報処理装置で一部ずつ担当することによって、全体として一つの情報処理装置100の機能を実現可能である。また、実施形態の情報処理装置100は、最大のネットワーク負荷ではなく、ユーザにより設定された決められた負荷に近づくように、複数のパラメータを調整することで、適宜必要なネットワーク負荷を得る構成として用いても良い。以下の説明では、決められた負荷として、最大のネットワーク負荷を設定したときについて説明する。
試験制御部10は、制御部11、監視部12、および試験部13を備える。そして、試験制御部10は、監視部12で測定された負荷率(負荷)を監視しながら、負荷率が最大の負荷(決められた負荷)に近づくように、負荷率の増減に対する影響の大きいパラメータから順番に調整する。
制御部11は、監視部12で測定された負荷率が決められた負荷率に近づくように、複数のパラメータの設定を変更する。そして、制御部11は、複数のパラメータの設定を変更するときに、負荷率の増減に対する影響の大きいパラメータから順番に調整する。
監視部12は、送受信部30が有する送信部31から受信部32にパケットを送信しているとき、送信部31と受信部32との間の負荷率を測定する。
試験部13は、制御部11が設定した複数のパラメータが入力されると、入力された複数のパラメータの設定にしたがって、送受信部30で送受信するパケットを生成し、送受信部30へ出力する。より具体的には、試験部13は、制御部11の指示にしたがって、指定されたリソースを用いて、指定された数であるパケットカウント数のパケットを生成するごとに、送信部31に生成したパケットを出力し、送信部31を介して受信部32にパケットを送信する。また、試験部13は、制御部11の設定にしたがって、記憶部20の一部の領域を、送信部31の送信バッファと受信部32の受信バッファとして使用する。なお、図示しないが、試験制御部10は、動作する送受信部30が複数ある場合には、動作する送受信部30ごとに1つずつ試験部13を有する。
記憶部20は、構成情報テーブル21、初期値テーブル22、およびデータテーブル23を備える。
構成情報テーブル21は、図2(a)に示すように、論理CPU(Central Processing Unit)数、試験で使用可能なメモリサイズ、有効なネットワークポート数、および各ネットワークポートのMTU(Maximum Transmission Unit)を格納している。
論理CPU数とは、情報処理装置100の有するCPUのコアの数である。なお、情報処理装置100にハイパースレッディングなどの技術が適用されており、1つのプロセッサを複数のプロセッサ、例えば2つのプロセッサであるとみなすことができる場合には、その論理的なCPU数を論理CPU数としても良い。
試験で使用可能なメモリサイズとは、情報処理装置100が有するメモリの中で、負荷試験に割り当てられた格納領域のサイズである。
有効なネットワークポート数とは、情報処理装置100が備えるネットワークカードが有するポートの数である。なお、ネットワークカードは、送受信部30として機能し、ネットワークカードが有するポートは、送信部31、または受信部32として機能する。
各ネットワークポートのMTUとは、各ネットワークポートにおいて、1回の転送で送信できるデータの最大値を示す値である。なお、MTUは、ネットワーク接続ごとに送信側で値を設定することができる。
初期値テーブル22は、図2(b)に示すように、負荷試験の際のパラメータとして、パケットカウント数、コネクション数、CPUバインド数、優先度、および動作モードの値を格納している。
パケットカウント数は、試験部13が生成したパケットを送信バッファに蓄えて、一度のパケット送信処理で送信部31から受信部32に送信するパケット数である。すなわち、試験部13は、パケットを生成し、生成したパケットを送信バッファに蓄え、パケットカウント数のパケットを生成するごとに送信部31を介して受信部32にパケットを送信する。
コネクション数とは、送信部31と受信部32との間の論理的なパケットの通信路の数である。なお、情報処理装置100は、コネクション数と同じ数だけの通信路にパケットを伝送するので、パケットの送受信に関するタスク(以下、送受信タスクという。)をコネクション数と同じ数だけ並行して実行することになる。
CPUバインド数は、各ポートペアに割り当てられた論理CPUの数である。CPUバインド数は、各ポートペアが専有可能な論理CPU数以下の数であり、負荷試験の処理の必要に応じて値を増減する。
優先度とは、ディスパッチ処理における送受信タスクの優先度である。具体的には、スケジューラで送受信タスクに実行権を割り当てる際の優先度であり、優先度の高いタスクから順に、ディスパッチ処理数に相当する処理を実行する実行権が割り当てられる。すなわち、優先度とは、送受信タスクと他の処理との実行順序を決定するパラメータである。
動作モードとは、情報処理装置100が複数のポートを備える場合、全てのポートを同時に動作させるか、または指定されたポートのみを動作させるかを設定する。情報処理装置100は、負荷試験を行なうとき、情報処理装置100が備えるリソースが少ないために、全てのポートを同時に動作させると、ポートペアの帯域に対して大きな負荷をかけることができないときがある。このとき、動作モードにより動作させるポートを指定して、負荷試験を行なうことにより、情報処理装置100は、指定したポートに大きな負荷をかけることができる。この場合、全てのポートに対して負荷試験を行なうには、指定したポートごとに複数回の負荷試験を行なうことになる。以下の説明においては、説明の簡単化のため、動作モードについては特に記載しない。動作モードを考慮する場合には、指定したポートごとに負荷試験を行なえば良い。
データテーブル23は、図2(c)に示すように、項目として、パケット送受信数の乖離値、パケットカウント数調整用変数、パケットカウント数用の格納領域、コネクション数値用の格納領域、CPUバインド数用の格納領域、ディスパッチ処理数の格納領域、タスク優先度用の格納領域、ディスパッチ時間の基準値、負荷率更新フラグ、リバースフラグ、レンジ変更フラグ、およびリトライフラグとを備え、それぞれのデータを格納している。
データテーブル23は、情報処理装置100が負荷試験におけるパラメータ値の調整を行な際に得られる各データを格納する。そして、パラメータ値の調整処理では、パラメータ値の調整処理の結果に基づいて、データテーブル23に格納された各パラメータの格納領域から、パラメータ値の調整値を抽出する。そして、情報処理装置100は、負荷試験において、複数のパラメータ値の調整値を用いる。なお、各データの内容については、下記の情報処理装置100の動作において後述する。
図3は、情報処理装置の一実施例を示すブロック図である。
図3において、情報処理装置100は、制御回路301〜304、記憶装置305、読取装置306、記録媒体307、表示装置308、入出力インターフェイス309(入出力I/F)、通信インターフェイス310〜312(通信I/F)、送信装置313〜315、受信装置316〜318、スイッチ319、およびネットワーク320を備えている。また、各構成要素は、バス300により接続されている。
制御回路301〜304は、情報処理装置100全体の制御をする。そして、制御回路301〜304は、例えば、CPU、マルチコアCPU、FPGA(Field Programmable Gate Array)およびPLD(Programmable Logic Device)などである。制御回路301〜304は、図1において、試験制御部10として機能する。また、図示しないが、制御回路301〜304は、レジスタなどの記憶領域を有し、送信部31および受信部32で使用する送信バッファ、および受信バッファとして機能しても良い。なお、以下の説明では、制御回路と記載したとき、制御回路301〜304のいずれか一つを示すものとする。また、図3において、情報処理装置100は、制御回路を4つ有しているが、制御回路の数を1つ以上の任意の数としても良い。
記憶装置305は、各種データを記憶する。そして、記憶装置305は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)などのメモリや、HD(Hard Disk)などで構成される。また、ROMは、ブートプログラムなどのプログラムを記憶している。RAMは、制御回路のワークエリアとして使用される。HDは、OS(Operating System)、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。また、情報処理装置100の記憶装置305は、図1の構成情報テーブル21、初期値テーブル22、およびデータテーブル23を記憶している。なお、構成情報テーブル21、初期値テーブル22、およびデータテーブル23は、情報処理装置100の制御回路が通信インターフェイス312を介してアクセス可能であれば、ネットワーク320上で接続されるサーバに記憶されていても良い。
また、情報処理装置100の記憶装置305には、制御回路を試験制御部10として機能させるための負荷試験プログラムを記憶する。そして、負荷試験を開始するとき、情報処理装置100の制御回路は、記憶装置305に記憶された負荷試験プログラムをRAMに読み出す。これにより、情報処理装置100の制御回路は、RAMをワークスペースとして使用することにより、試験制御部10として機能する。なお、負荷試験プログラムは、情報処理装置100の制御回路が通信インターフェイス312を介してアクセス可能であれば、ネットワーク320上で接続されるサーバに記憶されていても良い。
また、記憶装置305がHDである場合、HDは、HDD(Hard Disk Drive)を介してバス300に接続される。そして、HDは、HDDが制御回路によって制御され、データのリード/ライトが行なわれる。
読取装置306は、制御回路によって制御され、着脱可能な記録媒体307のデータのリード/ライトを行なう。そして、読取装置306は、例えば、FDD(Floppy Disk Drive)、CDD(Compact Disc Drive)、DVDD(Digital Versatile Disk Drive)、BDD(Blu−ray Disk Drive:登録商標)およびUSB(Universal Serial Bus)などである。また、情報処理装置100の読取装置306は、記録媒体307に記録された負荷試験プログラムを読み出し、記憶装置305に記憶しても良い。
記録媒体307は、各種データを保存する。一例として、記録媒体307は、負荷試験プログラムを保存する。そして、記録媒体307は、読取装置306を介してバス300に接続され、制御回路が読取装置306を制御することにより、データのリード/ライトが行なわれる。また、記録媒体307は、例えば、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu−ray Disk:登録商標)、およびフラッシュメモリなどである。
表示装置308は、入力された情報を映像として表示することにより、ユーザに通知する。表示装置308は、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)およびOELD(Organic Electroluminescence Display)などである。また、表示装置308に代えて、入力された情報をランプの点灯や、スピーカからの音声により、ユーザに通知しても良い。さらに、表示装置308をタッチパネルで構成し、入力装置としても良い。
入出力インターフェイス309は、例えば、機械式のボタン、キーボード、マウス、タッチパネル、スキャナ、およびプリンタなどと接続され、接続された装置から各種情報を示す信号が入力される。すると、入出力インターフェイス309は、バス300を介して入力された信号を制御回路に出力する。また、入出力インターフェイス309は、制御回路から出力された各種情報を示す信号がバス300を介して入力されると、接続された各種装置にその信号を出力する。
通信インターフェイス310〜312は、電力線通信、LANケーブル、無線通信、またはインターネットなどのネットワーク320を介して、情報処理装置100と他の情報処理装置100とを通信可能に接続する。
また、実施形態の通信インターフェイス310〜312は、例えば、ネットワークカードであり、それぞれポートを有している。そして、通信インターフェイス310〜312は、それぞれポートを送信側のポート(送信装置313〜315)、受信側のポート(受信装置316〜318)として、LANケーブルを用いて折り返し接続し、ポートペアを形成する。そして、通信インターフェイス310〜312は、図1において、それぞれ送受信部30として機能する。また、送信装置313〜315は、図1において、それぞれ送信部31として機能する。さらに、受信装置316〜318は、図1において、それぞれ受信部32として機能する。なお、以下の説明では、通信インターフェイスと記載したとき、通信インターフェイス310〜312のいずれか一つを示すものとする。また、図3において、情報処理装置100が通信インターフェイスを4つ備える場合を示したが、通信インターフェイスの数は1つ以上の任意の数で良い。また、送信装置313〜315と受信装置316〜318は、ネットワークカードに搭載されているポートに限定するものではない。そして、送信装置313〜315と受信装置316〜318それぞれの接続方法は、LANケーブルに限定するものではなく、例えば、電力線通信、や無線通信であっても良い。
図4は、負荷試験の処理の処理内容を示すフローチャートである。
図4は、情報処理装置100の負荷試験が開始されて、動的に負荷調整を行い、負荷試験が終了するまでの負荷試験全体の処理内容を示している。
制御部11は、負荷試験が開始されると、図2(a)の構成情報テーブル21から、情報処理装置100が有する論理CPU数、試験で使用可能なメモリサイズ、有効なネットワークポートの数、および各ネットワークポートのMTUを取得する。さらに、制御部11は、図2(b)の初期値テーブルから、パケットカウント数、コネクション数、CPUバインド数、および優先度の初期値を取得する(S101)。
制御部11は、ポートペアで使用する論理CPU数、送信側のポート(送信部31)で使用する送信バッファと受信側のポート(受信部32)で受信する受信バッファのサイズを設定する。さらに、制御部11は、試験部13に出力するポートペアのコネクション数、ポートペアで送受信するパケットのパケットカウント数等のパラメータをS101で取得した初期値に設定する(S102)。
S102のリソースの割り当て、およびパラメータ設定について具体的に説明する。
制御部11は、S101で取得した有効なネットワークポート数を2で除算し、ポートペア(送受信部30)の数を算出する。
また、制御部11は、情報処理装置100が有する論理CPU数をポートペア数で除算することにより、1つのポートペアで専有可能な論理CPU数を算出する。すなわち、専有可能な論理CPU数とは、パラメータの設定において、CPUバインド数として設定することができる最大値である。なお、情報処理装置100が有する論理CPU数のうちの一部のみを負荷試験に割り当てる場合には、情報処理装置100は、割り当てられた論理CPU数をポートペア数で除算することにより、1つのポートペアで専有可能な論理CPU数を算出しても良い。
さらに、制御部11は、試験で使用可能なメモリサイズを有効なネットワークポート数で除算することにより、1つのポートペアで使用可能なメモリサイズ(以下、割り当てメモリサイズという。)を算出する。なお、ポートペアに割り当てられたメモリのことを割り当てメモリという。
そして、制御部11は、下記式(1)、(2)にS101で取得した値を代入して、送信側と受信側とで割り当てメモリサイズを分割した、送信側メモリサイズと受信側メモリサイズとを算出する。
制御部11は、例えば、送信側と受信側との分割比率をM(送信側の比率):N(受信側の比率)にする場合は以下となる。
送信側メモリサイズ=割り当てメモリサイズ×M/(M+N) (1)
受信側メモリサイズ=割り当てメモリサイズ×N/(M+N) (2)
また、制御部11は、下記式(3)にS101で取得した値を代入して、送信バッファ用の格納領域のサイズ(以下、送信バッファのサイズという。)を算出する。
送信バッファサイズ=パケットカウント数×各ポートのMTU×コネクション数 (3)
そして、制御部11は、受信バッファ用の格納領域のサイズ(以下、受信バッファのサイズという。)を、送信バッファサイズより大きめに設定する。これは、送信側から送信されたパケットは、受信側で受信バッファに一旦蓄えられてから処理されるので、受信側で前回受信したパケットに含まれる処理が終了する前に、送信側から新たなパケットを受信したとき、オーバーフローにならないようにするためである。
制御部11は、負荷試験開始時のCPUバインド数を次のように設定する。初期値テーブル22に格納されているCPUバインド数の初期値が0または、専有可能な論理CPU数<1ならば、各ポートペアにCPUの割り当てをしないで、1つのCPUを複数のポートペアで共有する。したがって、制御部11は、専有可能な論理CPU数<1のときCPUバインド数無しに設定する。CPUバインド数>専有可能な論理CPU数ならば、CPUバインド数は、専有可能な論理CPU数に設定する。それ以外は、初期値テーブルに格納された値を設定する。
そして、制御部11は、試験部13にS102で設定したパラメータを出力する。すると、試験部13は、制御部11から入力されたパラメータにしたがって、パケットを生成し、送信部31を介して、受信部32にパケットを送信する。これにより、送受信部30は、パケットを送受信する(S103)。
S103のパケットの送受信について具体的に説明する。
まず、試験部13は、制御部11から受信したパラメータを用いて、ポートペア数にコネクション数を乗算した分の送受信タスクを実行する。そして、試験部13は、CPUバインドにより割り当てられたCPUと、割り当てメモリとを使用して、各送受信タスクを動作させ、パケットカウント数のパケットを生成するごとにパケットの送信を行う。なお、1つのポートペアで実行される送受信タスクは、双方向の送受信を行うために、更に2つの送受信タスクに分かれて動作する。この2つの送受信タスクは、例えば、AポートからBポート方向へのパケット送信を行うタスクとBポートからAポート方向へのパケット送信を行うタスクに分けられる。なお、実施形態では、説明の簡単化のため、パケットの送信は片方向のみである場合を例として説明する。
すると、監視部12は、送受信されているパケットの数を測定し、単位時間当たりのデータの転送量である転送レートを算出する。そして、送信部31と受信部32との間の帯域で算出した転送レートを除算することにより、負荷率を算出する(S104)。なお、帯域は、送信側のポートと受信側のポートの構成やLANケーブルの形状などで決まるものであり、例えば、記憶装置305の一部の記憶領域に格納されており、制御部11を介して監視部12に通知されても良い。また、S101〜S104の処理は、後述するS105、S106の処理に関連する処理であり、各パラメータの初期値を設定し、各パラメータを初期値に設定したときの負荷率を算出しているものである。したがって、S101〜S104の処理は、制御部11が一つパラメータの変更を開始すると、一つパラメータの設定値を初期値に設定し、送信部を介して受信部にパケットを送信して、監視部12で負荷率を測定する処理と言える。
制御部11は、監視部12で算出した負荷率(測定した負荷率)を参照して、負荷が最適な負荷になっているかどうかを判定する(S105)。最適な負荷であるか否かは、決められた負荷となったか否かで判定しても良い。また、最適な負荷を、情報処理装置100の能力で可能となる最大のネットワーク負荷にし、負荷調整をしてもこれ以上負荷率が上がらない状態を最適な負荷としても良い。さらに、最適な負荷として負荷率100%を設定し、負荷率が100%となったとき、最適な負荷となるパラメータが得られたと判定しても良い。
制御部11は、S105において、負荷率からネットワークに最適な負荷がかかっていないと判定する(S105にてNo)と、負荷率の増減に対する影響の大きいパラメータから順番にパラメータを調整する。また、制御部11は、各ポートペアへ割り当てる情報処理装置100のリソースの設定を変更する(S106)。S106の処理については、図5〜図11を参照して後述する。
そして、制御部11は、負荷試験が終了したか否かを判定する(S107)。そして、制御部11は、負荷試験が終了したと判定する(S107にてYes)と、負荷の調整とリソース割り当ての設定の変更の処理を終了する。また、制御部11は、負荷試験が継続すると判定する(S107にてNo)と、S103〜S107の処理を繰り返す。
制御部11は、S105において、負荷率からネットワークに最適な負荷がかかっていると判定する(S105にてYes)と、S107の処理を実行する。
上記のS103〜S107の処理は、ポートペアごとに割り当てられた情報処理装置100のリソースを使用して、それぞれ別々に実行される。
上記のように、情報処理装置100は、負荷率を監視して、動的にパラメータを調整するので、最適な負荷状態での負荷試験が可能となる。情報処理装置100は、自動的にパラメータを変更しながら負荷の調整をするので、数千〜数万のパラメータを人手で設定して試験をするのに比べて、効率よく最適な負荷を設定することができる。
以下では、図5〜図11を参照して本発明の一実施例を説明する。
図5は、バッファサイズの調整処理の内容を示すフローチャートである。
図4のS105において、最適な負荷となっていない場合、S106の負荷調整・設定変更を行なう。
すると、図5において、監視部12は、送信側で送信処理されたパケット(以下、送信処理パケットという。)数と、受信側で受信処理されたパケット(以下、受信処理パケットという。)数とをカウントする(S201)。ここで、送信処理とは、送信側でパケットを生成し、送信側のポートを介して受信側のポートにパケットを送信するまでの処理を言う。また、受信処理とは、送信パケットを受信側のポートで受信して、受信バッファにパケットを格納し、受信側の処理において、受信バッファに格納されたパケットが受信バッファから取り出されるまでの処理を言う。
そして、制御部11は、監視部12でカウントした送信処理パケット数と、受信処理パケット数とを取得し、送信処理パケット数と受信処理パケット数とが乖離しているか否かを確認することにより、受信側の処理が遅いか否かを判定する(S202)。
制御部11は、送信処理パケット数よりも受信処理パケット数の値が少ないとき、受信側の処理が遅いと判定(S202にてYes)する。すると、制御部11は、受信バッファに格納されているパケット数をチェックし、受信バッファの格納領域にパケットが一杯(以下、バッファフル状態という。)であると、バッファサイズを増加し、パケットカウント数を減少指定にする(S203)。パケットカウント数の減少指定とは、制御部11が次にパケットカウント数の調整(変更)を行なうとき、パケットカウント数を減少させる方向に調整を行なうように指定するフラグである。そして、制御部11は、S205〜S209の処理を実行する。S205〜S209の処理については、図6〜図11を参照して後述する。
なお、制御部11は、送信処理パケット数と、受信処理パケット数とが乖離しているか否かの判定において、図2(c)のデータテーブルに格納されているパケット送受信数の許容乖離値を用いて、下記式(4)が成り立つとき乖離していると判定しても良い。なお、パケット送受信数の許容乖離値とは、送信処理パケット数と受信処理パケット数との差がどの位まで乖離しても良いかを示しているパケット数を表す数値である。
送信処理パケット数−受信処理パケット数>パケット送受信数の許容乖離値 (4)
パケット送受信数の許容乖離値は、例えば、送信側からの送信パケットの送信が途切れることを予測して、その間に受信側で処理できる受信処理パケット数の範囲内で設定すると良い。
また、S203で、バッファフル状態のとき、受信バッファのサイズを増加するが、このとき、受信バッファのサイズを増加できる最大値は、受信側メモリサイズである。すなわち、受信バッファのサイズが受信側メモリサイズと同じときには、S203において、バッファフル状態でも受信バッファのサイズを増加できないので、パケットカウント数を減少指定にする処理のみを実行する。
S202において、受信側の処理が遅くないと判定したとき、制御部11は、パケットカウント数を増加指定に設定する(S204)。パケットカウント数を増加指定にするとは、制御部11が次にパケットカウント数の調整を行なうとき、パケットカウント数を増加させる方向に調整を行なうように指定するフラグである。そして、制御部11は、パケットカウント調整S205〜S209の処理を実行する。なお、図5に示すように、S205〜S209は、各処理でパラメータの調整値を設定することで処理が終わるごとに、次の処理へ移行する。また、実行されている(今回の)S201〜S209の処理が終了しても、図4のS107において、制御部11により負荷試験が終了したと判定されるまで、図4のS106の処理、すなわちS201〜S209の処理は、繰り返し実行される。制御部11による負荷試験の終了の判定は、入出力インターフェイスを介して負荷試験の終了を示す指示が入力される、または最適な負荷が得られたときなどに、負荷試験を終了すると判定しても良い。
図6、7は、パケットカウント数の調整処理の内容を示すフローチャートである。
図6、7では、図5のS205のパケットカウント数の調整処理の内容を説明するフローチャートである。
制御部11は、データテーブル23のパケットカウント数用の格納領域であるP1に、現在のパケットカウント数を格納する。そして、制御部11は、データテーブル23に格納されている負荷率更新フラグをオフにする(S301)。
なお、制御部11は、負荷試験開始後の初めのパケットカウント数の調整処理では、P1に初期値テーブル22のパケットカウント数を格納することになる。2回目以降のパケットカウント数の調整処理では、前回調整したパケットカウント数をP1に格納しても良い。また、以下の説明においては、P1〜P6と記載したとき、それぞれパケットカウント数用の格納領域P1〜P6のことを示すことにする。
そして、制御部11は、パケットカウント数が減少指定であるか否かを判定する(S302)。
パケットカウント数が減少指定であるとき、制御部11は、下記式(5)にデータテーブル23に格納されているパケットカウント数調整用変数Nを代入し、新たなパケットカウント数を算出する(S303)。すなわち、制御部11がパケットカウント数を増減する値は、パケットカウント数調整用変数Nの指定によって決められるものである。パケットカウント数には、P1、またはP3の格納領域に記憶されたパケットカウント数が代入される。パケットカウント数の調整処理が始まったとき、制御部11は、式(5)にP1に格納されたパケットカウント数を代入する。
パケットカウント数×1/N=新たなパケットカウント数 (5)
なお、パケットカウント数調整用変数Nは、負荷試験開始後の初めのパケットカウント数の調整処理のとき、1よりも大きい数の中で適宜決められた値が設定されている。2回目以降のパケットカウント数の調整処理では、データテーブル23に前回調整したNが設定されている。また、パケットカウント数調整用変数Nは、N=1となるまで2で除算されながらパケットカウント数を調整するので、偶数に設定しても良い。
そして、制御部11は、S303で算出した新たなパケットカウント数をデータテーブル23に指定されている記憶領域であるP2に格納する。
S302にて、パケットカウント数が減少指定でないとき(パケットカウント数が増加指定であるとき)、制御部11は、下記式(6)にパケットカウント数調整用変数Nを代入して新たなパケットカウント数を算出する(S304)。パケットカウント数には、P1、またはP3の格納領域に記憶されたパケットカウント数が代入される。パケットカウント数の調整処理が始まったとき、制御部11は、式(6)にP1に格納されたパケットカウント数を代入する。
パケットカウント数×N=新たなパケットカウント数 (6)
そして、制御部11は、S304で算出した新たなパケットカウント数をデータテーブル23に指定されている記憶領域であるP2に格納する(S305)。
そして、制御部11は、P2に格納した新たなパケットカウント数を試験部13に出力する。すると、試験部13は、制御部11から入力されたパケットカウント数のパケットを生成するごとに、送信側のポートに生成したパケットを出力し、送信側のポートを介して受信側のポートにパケットを送信する。これにより、制御部11は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる(S306)。
S306でパケットの送受信が開始されると、監視部12は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにLANケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部11は、監視部12で算出された負荷率を取得し、パケットカウント数を変更したことにより、負荷率が増加したか否かを判定する(S307)。
制御部11は、パケットカウント数を変更したことにより、負荷率が増加したと判定する(S307にてYes)と、データテーブル23に格納されている負荷率更新フラグをオンにして、このときのパケットカウント数をP3に格納する(S308)。なお、このときP3に格納されるパケットカウント数は、この時点において、パケットカウント調整処理で測定した中で、負荷率が最大となるパケットカウント数である。
そして、制御部11は、S302の処理を実行する。その後、S303に移行すると、制御部11は、式(5)のパケットカウント数にP3に格納したパケットカウント数を代入する。また、S304に移行すると、制御部11は、式(6)のパケットカウント数にP3に格納したパケットカウント数を代入する。
なお、負荷率更新フラグは、今回のパケットカウント数の調整処理において、既に1回以上負荷率が更新されたことを示すフラグである。そして、負荷率更新フラグは、他のパラメータの処理に用いる負荷率更新フラグと同じフラグを使っても良いし、独立して用いるフラグを記憶装置205の異なる格納領域にパラメータごとに格納しても良い。
制御部11は、パケットカウント数を変更しても、負荷率が増加しなかったと判定すると、データテーブル23に格納されている負荷率更新フラグを参照する(S309)。
制御部11は、負荷率更新フラグがオンのとき(S309にてYes)、S315の処理に移行する。
制御部11は、負荷率更新フラグがオフのとき(S309にてNo)、データテーブル23に格納されている、今回のパケットカウント数の調整処理において、既に逆方向のパケットカウント数の増減を指定したか否かを示すフラグであるリバースフラグを参照する(S310)。
そして、制御部11は、リバースフラグがオフのとき、パケットカウント数を変更しても負荷率が増加しなかったので、パケットカウント数を減少指定にしていれば増加指定へ、増加指定にしていれば減少指定へ変更する。さらに、制御部11は、パケットカウント数をP1に格納されているパケットカウント数に戻し、リバースフラグをオンにする(S311)。そして、制御部11は、S302の処理を実行する。その後、S303に移行すると、制御部11は、式(5)のパケットカウント数にP1に格納したパケットカウント数を代入する。また、S304に移行すると、制御部11は、式(6)のパケットカウント数にP1に格納したパケットカウント数を代入する。
S310において、リバースフラグがオフのとき、制御部11は、パケットカウント数調整用変数Nの値を減らすことが可能かチェックする(S312)。具体的には、パケットカウント数調整用変数Nは、式(5)に代入したとき、パケットカウント数が減少し、式(6)に代入したとき、パケットカウント数が増加しなければならないので、N=1以上でなければならない。したがって、パケットカウント数調整用変数Nは、N≦1になると減らすことはできないと判定される。
S312において、N≦1でないとき、制御部11は、パケットカウント数調整用変数Nの値を半分(N×1/2)にする。また、パケットカウント数の増加指定、およびパケットカウント数の減少指定をパケットカウント数の調整S205の開始時の設定に戻す。さらに、制御部11は、パケットカウント数をP1に格納された値に戻す。また、制御部11は、リバースフラグをオフにする(S313)。そして、制御部11は、S302の処理を実行する。その後、S303に移行すると、制御部11は、式(5)のパケットカウント数にP1に格納したパケットカウント数を代入する。また、S304に移行すると、制御部11は、式(6)のパケットカウント数にP1に格納したパケットカウント数を代入する。
なお、S313において、制御部11は、パケットカウント数調整用変数Nの値を1/2の値にするとき、N<1となった場合、N=1に設定する。これにより、式(5)、(6)にパケットカウント数調整用変数Nを代入したとき、パケットカウント数の増加指定と、減少指定とが、実際の指定と異ならないようにする。また、パケットカウント数調整用変数Nを予め偶数で設定しておくことにより、N<1となる前に、N=1となるようにしても良い。
S312において、N≦1のとき、パケットカウント数を増減しても、負荷率が増加しなかったことを示すので、制御部11は、パケットカウント数をP1に格納されている値に設定して、パケットカウント数の調整処理を終了する(S314)。
図6のS309において、負荷率更新フラグがオンと判定したとき、制御部11は、図7のS315の処理を行なう。
すると、制御部11は、データテーブル23を参照して、最後にパケットの送受信をしたときに設定したパケットカウント数であるP2の格納領域に格納されたパケットカウント数をP4の格納領域に格納する(S315)。さらに、制御部11は、負荷率が最大であったP3の格納領域に格納されたパケットカウント数をP5の格納領域に格納する。また、制御部11は、負荷率更新フラグをオフにする。
S315〜S323の処理では、P4に格納されたパケットカウント数とP5に格納されたパケットカウント数との間で高負荷となるパケットカウント数を求める。すなわち、S302〜S314で行なった、パケットカウント数の調整処理の微調整を行なうことになる。
制御部11は、下記式(7)にP4とP5に格納された2つのパケットカウント数を代入して、P4とP5に格納された2つのパケットカウント数の中間値を算出し、P6に新たなパケットカウント数として格納する。
P6=(P4+P5)/2:小数点は四捨五入 (7)
なお、式(7)において、P4は、P4に格納されたパケットカウント数であり、P5は、P5に格納されたパケットカウント数であり、P6は、P6に格納される新たなパケットカウント数である。
そして、制御部11は、P6に格納した新たなパケットカウント数を試験部13に出力することにより、S306と同様に、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる(S317)。
S317でパケットの送受信が開始されると、監視部12は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにLANケーブルに流れるパケットの数である転送レートを求める。また、監視部12は、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部11は、監視部12で算出された負荷率を取得し、パケットカウント数を変更したことにより、負荷率が増加したか否かを判定する(S318)。具体的には、P5に格納されているパケットカウント数を設定したときに得られる負荷率(以下、P5の負荷率という。)よりも、P6に格納されているパケットカウント数を設定したときに得られる負荷率(以下、P6の負荷率という。)のほうが大きいか否かを判定する。なお、P5の負荷率は、今回のパケットカウント数の調整処理において、S318を最初に行なうとき、S308でP3に格納して負荷率である。
そして、P6の負荷率のほうが、P5の負荷率よりも大きいとき(S318にてYes)、制御部11は、P6のパケットカウント数とP5のパケットカウント数で負荷率が低かった方をP4に格納する。また、制御部11は、P6のパケットカウント数とP5のパケットカウント数で負荷率が高かった方をP5に格納する。さらに、制御部11は、負荷率更新フラグをオンにする(S319)。そして、制御部11は、S316の処理を実行する。
P6の負荷率が、P5の負荷率以下のとき、制御部11は、データテーブル23に格納されている負荷率更新フラグがオンか否かをチェックする(S320)。
負荷率更新フラグがオンのとき(S320にてYes)、P5とP6のパケットカウント数の中間値を設定して、負荷率を増加する処理を行なったことを示す。このとき、制御部11は、これ以上の処理を行なわずに最高の負荷が得られたP5に格納されているパケットカウント数をパケットカウント数の調整値に設定する(S321)。そして、制御部11は、パケットカウント数の調整処理を終了する。
なお、パケットカウント数の調整値とは、パケットカウント数(パラメータ)の調整処理において、最も高い(最も決められた負荷率に近い)負荷率が得られたパケットカウント数であり、負荷試験時に設定するパケットカウント数である。
負荷率更新フラグがオフのとき、P5とP6のパケットカウント数の中間値を設定しても負荷率が増加しなかったので、制御部11は、P5とP6の範囲を変更してさらにパケットカウント数を調整するか否かを判定する(S322)。具体的には、制御部11は、今回のパケットカウント数の調整処理において、既にP5とP6に格納されているパケットカウント数の間の範囲を変更したか否かを示すフラグであるレンジ変更フラグを参照する。レンジ変更フラグは、初期値はオフであり、レンジを変更するとオンとなるフラグである。すなわち、レンジ変更フラグがオンの場合、後述するS322において、レンジを変更して負荷率が増加した後、S316〜S320の処理を行なったが、負荷率が増加しなかったことを示している。また、レンジ変更フラグは、パケットカウント数の調整処理がおわるごとにリセットされオフになる。
レンジ変更フラグがオフのとき(S322にてNo)、制御部11は、レンジ変更フラグをオンにする。そして、制御部11は、パケットカウント数が減少指定であれば、P3に格納されているパケットカウント数をN倍にしたパケットカウント数を算出する。また、レンジ変更フラグがオフのとき(S322にてNo)、制御部11は、パケットカウント数が増加指定であれば、P3のパケットカウント数を1/N倍(小数点は四捨五入)にしたパケットカウント数を算出する。そして、制御部11は、算出したパケットカウント数をP4の格納領域に格納する(S323)。その後、制御部11は、S316の処理を実行する。
レンジ変更フラグがオンのとき(S322にてYes)、制御部11は、P5とP6の範囲を変更しても負荷率が増加しないと判断して、調整後のパケットカウント数をP3のパケットカウント数に設定する(S324)。そして、制御部11は、パケットカウント数の調整処理を終了する。
以上のように、制御部11は、パケットカウント数を増減させて、負荷率が最大になるパケットカウント数をパケットカウント数の調整値として設定する。これにより、情報処理装置100は、パケットカウント数を祖調整から微調整することにより、最適な負荷率を得られるパケットカウント数を設定することができる。上記の説明においては、負荷率が最大となるパケットカウント数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにパケットカウント数を調整しても良い。
図8は、コネクション数の調整処理の内容を示すフローチャートである。
図8は、図5のS206のコネクション数の調整処理の内容を説明するフローチャートである。
制御部11は、データテーブル23に指定されている記憶領域であるC1に、現在のコネクション数を格納する。なお、制御部11は、負荷試験開始後の初めのコネクション数の調整処理では、C1に初期値テーブル22のコネクション数を格納することになる。2回目以降のコネクション数の調整処理では、前回調整したコネクション数をC1に格納しても良い。また、以下の説明においては、C1、C2と記載したとき、それぞれコネクション数用の格納領域C1、C2のことを示すことにする。
そして、制御部11は、データテーブル23に格納されている負荷率更新フラグをオフにする(S401)。
次に制御部11は、C1に格納されているコネクション数を+1した値を新たなコネクション数として設定する(S402)。
そして、制御部11は、S402で設定した新たなコネクション数を試験部13に出力する。すると、試験部13は、制御部11から入力されたコネクション数と同じ数の、送信側のポートと受信側のポートとの間の論理的なパケットの通信路を形成し、送信側のポートを介して受信側のポートにパケットを送信する(S403)。これにより、制御部11は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる。
S403でパケットの送受信が開始されると、監視部12は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにLANケーブルに流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部11は、監視部12で算出された負荷率を取得し、コネクション数を変更したことにより、負荷率が増加したか否かを判定する(S404)。
制御部11は、コネクション数を増加したことにより、負荷率が増加したと判定する(S404にてYes)と、データテーブル23に格納されている負荷率更新フラグをオンにして、新たなコネクション数をC2に格納する(S405)。なお、このときC2に格納されるコネクション数は、この時点において、コネクション数の調整処理で測定した中で、負荷率が最大となるコネクション数である。そして、制御部11は、S402の処理を実行する。
なお、負荷率更新フラグは、今回のコネクション数の調整処理において、既に1回以上負荷率が更新されたことを示すフラグである。なお、負荷率更新フラグは、他のパラメータの処理に用いる負荷率更新フラグと同じフラグを使っても良いし、パラメータごとに独立して用いるフラグを記憶装置205の異なる格納領域にパラメータごとに格納しても良い。
制御部11は、コネクション数を変更しても、負荷率が増加しなかったと判定すると、データテーブル23に格納されている負荷率更新フラグを参照する(S406)。
制御部11は、負荷率更新フラグがオンのとき(S406にてYes)、コネクション数を増加することにより最大の負荷率が得られたと判断する。すなわち、制御部11は、コネクション数を減少しても、負荷率は増加しないと判断する。そして、制御部11は、コネクション数の調整値をC2に格納されている値に設定する(S407)。そして、制御部11は、コネクション数の調整処理を終了する。
なお、コネクション数の調整値とは、コネクション数(パラメータ)の調整処理において、最も高い(最も決められた負荷率に近い)負荷率が得られたコネクション数であり、負荷試験時に設定するコネクション数である。
制御部11は、負荷率更新フラグがオフのとき(S406にてNo)、コネクション数を増加しても負荷率が増加しなかったので、次はC1に格納されているコネクション数から、コネクション数を減少させて負荷率が増加するか否かを判定する処理をする。したがって、制御部11は、コネクション数をC1に格納されている値に戻す(S408)。
以下の処理では、コネクション数を減少させることにより、負荷率が増加するか否かを判定する。
そして、制御部11は、コネクション数が1であるか否かを判定する(S409)。コネクション数が1のとき(S409にてYes)、コネクション数をこれ以上減少することができないので、コネクション数をC1に格納されている値、すなわちコネクション数を1に設定する(S410)。そして、制御部11は、コネクション数の調整処理を終了する。
コネクション数が1ではないとき、コネクション数は2以上であるので、制御部11はコネクション数を−1した値を新たなコネクション数として設定する(S411)。
そして、制御部11は、S411で設定した新たなコネクション数を試験部13に出力することにより、S403と同様に、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる(S412)。
S412でパケットの送受信が開始されると、監視部12は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにLANケーブルに流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部11は、監視部12で算出された負荷率を取得し、コネクション数を変更したことにより、負荷率が増加したか否かを判定する(S413)。
制御部11は、コネクション数を減少したことにより、負荷率が増加したと判定する(S413にてYes)と、データテーブル23に格納されている負荷率更新フラグをオンにして、新たなコネクション数をC2の格納領域に格納する(S414)。
そして、制御部11は、S414でC2に格納したコネクション数が1であるか否かを判定する(S415)。制御部11は、S414でC2に格納したコネクション数が1ではないとき(S415にてNo)、さらにコネクション数を減少することにより、負荷率が増加するか否かを判定するため、S411の処理を実行する。
コネクション数が1のとき(S415にてYes)、制御部11は、これ以上コネクション数を減少することができないので、C2に格納されているコネクション数をコネクション数の調整値として設定する(S416)。そして、制御部11は、コネクション数の調整処理を終了する。
S413において、制御部11は、コネクション数を変更したことにより、負荷率が増加しなかったと判定する(S413にてNo)と、負荷率更新フラグがオンか否かを判定する(S417)。
制御部11は、負荷率更新フラグがオンのとき(S417にてYes)、コネクション数を増加してもこれ以上の負荷率の増加はないと判断し、S416の処理を実行する。そして、制御部11は、コネクション数の調整処理を終了する。
制御部11は、負荷率更新フラグがオフのとき(S417にてNo)、コネクション数を増減しても負荷率の増加がなかったので、C1に格納されているコネクション数をコネクション数の調整値として設定する(S418)。そして、制御部11は、コネクション数の調整処理を終了する。
以上のように、制御部11は、コネクション数を増減させて、負荷率が最大になるコネクション数を調整後のコネクション数として設定する。これにより、情報処理装置100は、最適な負荷率を得られるコネクション数を設定することができる。上記の説明においては、負荷率が最大となるコネクション数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにコネクション数を調整しても良い。
図9は、CPUバインド数の調整処理の内容を示すフローチャートである。
図9は、図5のS207のCPUバインド数の調整処理の内容を説明するフローチャートである。
制御部11は、データテーブル23に指定されている記憶領域であるB1に、現在のCPUバインド数を格納する。なお、制御部11は、負荷試験開始後の初めのCPUバインド数の調整処理では、B1に初期値テーブル22のCPUバインド数を格納することになる。2回目以降のCPUバインド数の調整処理では、前回調整したCPUバインド数をB1に格納しても良い。また、以下の説明においては、B1、B2と記載したとき、それぞれCPUバインド数用の格納領域B1、B2のことを示すことにする。
そして、制御部11は、データテーブル23に格納されている負荷率更新フラグをオフにする(S501)。
そして、制御部11は、CPUバインド数が1であるか否かを判定する(S502)。制御部11は、CPUバインド数が1ではないとき(S502にてNo)、バインドされているCPUの使用率が高いか否かを判定する(S503)。制御部11は、例えば、CPU使用率が90%(適宜指定した閾値)を超えているかをチェックする。
S502において、CPUバインド数が1のとき(S502にてYes)、およびS503において、CPUの使用率が高いと判定したとき、制御部11は、CPUバインド数を増加指定に設定する(S504)。制御部11がCPUバインド数を増加指定とするのは、CPUの使用率が高く、送受信タスクに対するCPUの割り当て時間が不足し、パケットの生成、およびパケットの送信処理の実行が遅くなり、転送レートが低下しているか否かを調べるためである。すなわち、制御部11は、CPUバインド数を増加してCPUの使用率を下げることにより、送受信タスクに対して十分なCPUの割り当て時間を確保し、ネットワーク負荷が増加するか否かを調べる。これにより、制御部11は、CPUバインド数を増加したとき、ネットワーク負荷が増加すると、送受信タスクに対するCPUの割り当て時間が少ないのでCPUバインド数を増加した値を調整値として設定した方が良いと判定することできる。なお、CPUバインド数の調整値とは、CPUバインド数(パラメータ)の調整処理において、最も高い(最も決められた負荷率に近い)負荷率が得られたCPUバインド数であり、負荷試験時に設定するCPUバインド数である。
制御部11は、CPUの使用率が高くないと判定したとき、CPUバインド数を少なくするため、CPUバインド数を減少指定に設定する(S505)。制御部11がCPUバインド数を減少指定とするのは、CPUの使用率が低く、送受信タスクに対するCPUの割り当てが十分にできていると考えられるが、それでもネットワーク負荷率は、バインドするCPUを少なくした方が高くなることもある。したがって、制御部11は、CPUバインド数を動的に調整するためCPUバインド数を減少指定とし、CPUバインド数を減らしてネットワーク負荷が増加するか否かを調べるためである。なお、CPUの使用率が高くないとは、例えば、CPU使用率が90%(適宜指定した閾値)以下のことを言う。
制御部11は、CPUバインド数が減少指定に設定されているか否かをチェックする(S506)。
S506において、制御部11は、CPUバインド数が増加指定に設定されているとき(S506にてNo)、CPUバインド数が専有可能な論理CPU数以下であればCPUバインド数を+1する。また、S506において、制御部11は、CPUバインド数が増加指定に設定されているとき、専有可能な論理CPU数を超えていたらCPUバインドを無効にする(S507)。これにより、制御部11は、S507で設定した値を新たなCPUバインド数として設定する。なお、CPUバインドを無効にするとは、情報処理装置100が有するCPUを複数のポートペアで共用して使用することを言う。そして、CPUバインドを無効にしたときは、例えば、CPUバインド数を0としても良い。
S506において、CPUバインド数が減少指定に設定されているとき(S506にてYes)、制御部11は、CPUバインド数が専有可能な論理CPU数以下であればCPUバインド数を−1して新たなCPUバインド数として設定する(S508)。ただし、CPUバインド数=1のときは、CPUバインド数1を維持する。
そして、制御部11は、S507、およびS508で設定した新たなCPUバインド数を試験部13に出力する。すると、試験部13は、制御部11から入力されたCPUバインド数の論理CPUを用いてパケットを生成し、送信側のポートから受信側のポートにパケットを送信させる(S509)。これにより、制御部11は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる。なお、S509みおいて、新たなCPUバインド数が0(CPUバインド無効)のとき、情報処理装置100が有するCPUを複数のポートペアで共用して使用しても良い。
S509でパケットの送受信が開始されると、監視部12は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにLANケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部11は、監視部12で算出された負荷率を取得し、CPUバインド数を変更したことにより、負荷率が増加したか否かを判定する(S510)。
制御部11は、CPUバインド数を変更したことにより、負荷率が増加したと判定する(S510にてYes)と、データテーブル23に格納されている負荷率更新フラグをオンにして、新たなCPUバインド数をB2の格納領域に格納する(S511)。なお、このときB2に格納されるCPUバインド数は、この時点において、CPUバインド数の調整処理で測定した中で、負荷率が最大となるCPUバインド数である。そして、制御部11は、S506の処理を実行する。
なお、負荷率更新フラグは、今回のCPUバインド数の調整処理において、既に1回以上負荷率が更新されたことを示すフラグである。そして、負荷率更新フラグは、他のパラメータの処理に用いる負荷率更新フラグと同じフラグを使っても良いし、独立して用いるフラグを記憶装置205の異なる格納領域にパラメータごとに格納しても良い。
制御部11は、CPUバインド数を変更しても、負荷率が増加しなかったと判定すると、データテーブル23に格納されている負荷率更新フラグを参照する(S512)。
S512において、制御部11は、負荷率更新フラグがオンのとき(S512にてYes)、これ以上CPUバインド数を調整しても負荷率が増加することはないと判定し、CPUバインド数の調整値をB2に格納されている値に設定する(S513)。そして、制御部11は、CPUバインド数の調整処理を終了する。
S512において、制御部11は、負荷率更新フラグがオフのとき(S512にてNo)、データテーブル23に格納されているリトライフラグがオンか否かを判定する(S514)。リトライフラグとは、今回のCPUバインド数の調整処理において、既にCPUバインド数を増加、または減少させたか否かを示すフラグであり、オンであるとき、既にCPUバインド数を増加、または減少させたが、負荷率が増加しなかったことを示す。
S514において、リトライフラグがオンのとき(S514にてYes)、制御部11は、CPUバインド数の調整値をB1に格納されている値にする(S515)。
S514において、リトライフラグがオフのとき(S514にてNo)、制御部11は、リトライフラグをオンにして、CPUバインド数をB1に格納されているCPUバインド数に戻す。さらに、制御部11は、現在のCPUバインド数の指定が増加指定ならば減少指定、現在のCPUバインド数の指定が減少指定ならば増加指定にCPUバインド数の増減の指定を設定する(S516)。そして、制御部11は、S506の処理を実行する。
以上のように、制御部11は、CPUバインド数を増減させて、負荷率が最大になるCPUバインド数を調整後のCPUバインド数として設定する。これにより、情報処理装置100は、最適な負荷を得られるCPUバインド数を設定することができる。上記の説明においては、負荷率が最大となるCPUバインド数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにCPUバインド数を調整しても良い。
図10は、ディスパッチ処理数の調整処理の内容を示すフローチャートである。
図10では、図5のS208のディスパッチ処理数の調整処理の内容を説明するフローチャートである。
制御部11は、ポートペア間でパケットを送受信するための送受信タスクをディスパッチして、送受信タスクへのCPUの割り当てが解除されてから、送受信タスクへCPUの割当が戻ってくるまでの時間(以下、ディスパッチ時間という。)を測定する(S601)。
そして、制御部11は、データテーブル23に格納されているディスパッチ時間の基準値を参照し、S601で測定したディスパッチ時間と比較する(S602)。
S602において、ディスパッチ時間の基準値よりもディスパッチ時間が長いとき、制御部11は、ディスパッチ時間が長いと判定し、ディスパッチ処理数を増やして新たなディスパッチ処理数を設定する(S603)。ここで、ディスパッチ処理数を増やすとは、送受信タスクを実行するために論理CPUを割り当てたときに、一回当たりに実行する送受信タスクの処理数を多くすることを言う。これにより、送受信タスクは、ポートペアに割り当てられている論理CPUをより長い時間専有することになる。なお、増加させるディスパッチ処理数は、適宜決められた処理数を記憶装置305に記憶しておき、S603において制御部11が記憶装置305を参照することにより用いても良い。
S602において、ディスパッチ時間の基準値よりもディスパッチ時間が短いとき、制御部11は、ディスパッチ時間が短いと判定し、ディスパッチ処理数を減らして新たなディスパッチ処理数を設定する(S604)。ここで、ディスパッチ処理数を減らすとは、送受信タスクを実行するために論理CPUを割り当てたときに、一回当たりに実行する送受信タスクの処理数を少なくすることを言う。これにより、送受信タスクは、ポートペアに割り当てられている論理CPUをより短い数を記憶装置305に記憶しておき、S603において制御部11が記憶装置305を参照することにより用いても良い。
そして、制御部11は、S603、およびS604で設定した新たなディスパッチ処理数を試験部13に出力する。すると、試験部13は、制御部11から入力されたディスパッチ処理数だけ、論理CPUが割り当てられるごとにタスクを実行し、送信側のポートから受信側のポートにパケットを送信させる。これにより、制御部11は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる。
パケットの送受信が開始されると、監視部12は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにLANケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部11は、監視部12で算出された負荷率を取得し、ディスパッチ処理数を変更したことにより、負荷率が増加したか否かを判定する(S605)。
制御部11は、ディスパッチ処理数を変更したことにより、負荷率が増加したと判定する(S605にてYes)と、新たに設定したディスパッチ処理数をディスパッチ処理数の調整値として設定する。また、制御部11は、ディスパッチ処理数の格納領域D1にディスパッチ処理数の調整値を格納する。そして、制御部11は、ディスパッチ処理数の調整処理を終了する。
制御部11は、ディスパッチ処理数を変更しても、負荷率が増加しなかったと判定する(S605にてNo)と、ディスパッチ処理数を元に戻す(S606)。
そして、制御部11は、ディスパッチ処理数を再調整する。今回のディスパッチ処理数の調整処理において、ディスパッチ処理数を減らしたとき、制御部11は、ディスパッチ処理数を増やして新たなディスパッチ処理数を設定する。また、今回のディスパッチ処理数の調整処理において、ディスパッチ処理数を増やしたとき、制御部11は、ディスパッチ処理数を減らして新たなディスパッチ処理数を設定する(S607)。
S605の処理と同様に、制御部11は、ディスパッチ処理数を増減したことにより負荷率が増加したか否かを判定する(S608)。
制御部11は、ディスパッチ処理数を変更したことにより、負荷率が増加したと判定する(S608にてYes)と、新たに設定したディスパッチ処理数をディスパッチ処理数の調整値として設定する。
制御部11は、ディスパッチ処理数を変更しても、負荷率が増加しなかったと判定する(S608にてNo)と、ディスパッチ処理数を元に戻し、初期のディスパッチ処理数をディスパッチ処理数の調整値として設定する(S609)。また、制御部11は、ディスパッチ処理数の格納領域D1にディスパッチ処理数の調整値を格納する。そして、制御部11は、ディスパッチ処理数の調整処理を終了する。
なお、上記の説明において、初期のディスパッチ処理数は、初期値テーブル22に格納されていても良い。この場合には、S601において、制御部11が初期値テーブルからディスパッチ処理数を抽出することにより、送受信タスクのディスパッチを行なう。
また、上記の説明において、S603〜S605、およびS607〜S608の処理は、負荷率が増加する限り繰り返しても良い。
以上のように、制御部11は、ディスパッチ処理数を増減させて、負荷率が最大になるディスパッチ処理数を調整後のディスパッチ処理数として設定する。これにより、情報処理装置100は、最適な負荷を得られるディスパッチ処理数を設定することができる。上記の説明においては、負荷率が最大となるディスパッチ処理数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにディスパッチ処理数を調整しても良い。
図10は、ディスパッチ処理数の調整処理の内容を示すフローチャートである。
図10は、図5のS208のディスパッチ処理数の調整処理の内容を説明するフローチャートである。以下の説明では、説明の簡単化のため、送受信タスクが1つ実行されている場合について説明する。
制御部11は、送受信タスクをディスパッチして、CPUの割り当てが戻ってくるまでの時間(以下、ディスパッチ時間という。)を測定する(S601)。
そして、制御部11は、データテーブル23に格納されているディスパッチ時間の基準値を参照し、S601で測定したディスパッチ時間と比較する(S602)。
S602において、ディスパッチ時間の基準値よりもディスパッチ時間が長いとき(S602にてYes)、制御部11は、ディスパッチ時間が長いと判定し、ディスパッチ処理数を増やした新たなディスパッチ処理数を設定する(S603)。
ここで、ディスパッチ処理数を増やすとは、送受信タスクを実行するために論理CPUを割り当てたときに、一回当たりに実行する送受信タスクの処理数を多くすることを言う。これにより、送受信タスクは、ポートペアに割り当てられている論理CPUをより長い時間専有することになる。なお、増加させるディスパッチ処理数は、適宜決められた処理数を記憶装置305に記憶しておき、S603において制御部11が記憶装置305を参照することにより用いても良い。
S602において、ディスパッチ時間の基準値よりもディスパッチ時間が短いとき(S602にてNo)、制御部11は、ディスパッチ時間が短いと判定し、ディスパッチ処理数を減らして新たなディスパッチ処理数を設定する(S604)。ここで、ディスパッチ処理数を減らすとは、送受信タスクを実行するために論理CPUを割当てたときに、一回当たりに実行する送受信タスクの処理数を多くすることを言う。これにより、送受信タスクは、ポートペアに割当てられている論理CPUをより短い時間専有することになる。なお、減少させるディスパッチ処理数は、適宜決められた処理数を記憶装置305に記憶しておき、S603において制御部11が記憶装置305を参照することにより用いても良い。
そして、制御部11は、S603、およびS604で設定した新たなディスパッチ処理数を試験部13に出力する。すると、試験部13は、制御部11から入力されたディスパッチ処理数だけ、論理CPUが割当てられるごとにタスクを実行し、送信側のポートから受信側のポートにパケットを送信させる。これにより、制御部11は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる。
パケットの送受信が開始されると、監視部12は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにLANケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部11は、監視部12で算出された負荷率を取得し、ディスパッチ処理数を変更したことにより、負荷率が増加したか否かを判定する(S605)。
制御部11は、ディスパッチ処理数を変更したことにより、負荷率が増加したと判定する(S605にてYes)と、データテーブル23のディスパッチ処理数の格納領域D1に新たに設定したディスパッチ処理数を格納する。そして、制御部11は、新たに設定したディスパッチ処理数をディスパッチ処理数の調整値として設定する。
制御部11は、ディスパッチ処理数を変更しても、負荷率が増加しなかったと判定する(S605にてNo)と、ディスパッチ処理数を初期値に戻す(S606)。なお、ディスパッチ処理数の初期値とは、S601の処理を行なったときに設定されているディスパッチ処理数のことである。
そして、制御部11は、ディスパッチ処理数を再調整する。今回のディスパッチ処理数の調整処理において、ディスパッチ処理数を減らしたとき、制御部11は、ディスパッチ処理数を増やして新たなディスパッチ処理数を設定する。また、今回のディスパッチ処理数の調整処理において、ディスパッチ処理数を増やしたとき、制御部11は、ディスパッチ処理数を減らして新たなディスパッチ処理数を設定する(S607)。
S605の処理と同様に、制御部11は、ディスパッチ処理数を増減したことにより負荷率が増加したか否かを判定する(S608)。
制御部11は、ディスパッチ処理数を変更したことにより、負荷率が増加したと判定する(S608にてYes)と、データテーブル23のディスパッチ処理数の格納領域D1に新たに設定したディスパッチ処理数を格納する。そして、制御部11は、新たに設定したディスパッチ処理数をディスパッチ処理数の調整値として設定する。
制御部11は、ディスパッチ処理数を変更しても、負荷率が増加しなかったと判定する(S608にてNo)と、ディスパッチ処理数を初期値に戻し、データテーブル23のディスパッチ処理数の格納領域D1に初期値のディスパッチ処理数を格納する。そして、制御部11は、初期のディスパッチ処理数をディスパッチ処理数の調整値として設定する(S609)。
なお、上記の説明において、初期のディスパッチ処理数は、初期値テーブル22に格納されていても良い。この場合には、S601において、制御部11が初期値テーブルからディスパッチ処理数を抽出することにより、送受信タスクのディスパッチを行なう。
また、上記の説明において、S603〜S605、およびS607〜S608の処理は、負荷率が増加する限り繰り返しても良い。
なお、S603、S604、およびS607のディスパッチ処理数の増減処理において、コネクション数が複数ある場合は、全ての送受信タスクのディスパッチ処理数を同時に増減しても良い。また、図10のS601〜S609のディスパッチ処理数の調整処理は、コネクション数が複数ある場合、送受信タスクごとに順番に実行されても良い。
以上のように、制御部11は、ディスパッチ処理数を増減させて、負荷率が最大になるディスパッチ処理数を調整後のディスパッチ処理数として設定する。これにより、情報処理装置100は、最適な負荷率を得られるディスパッチ処理数を設定することができる。上記の説明においては、負荷率が最大となるディスパッチ処理数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにディスパッチ処理数を調整しても良い。
図11は、優先度の調整処理の内容を示すフローチャートである。
図11は、は、図5のS209のタスクの優先度の調整処理の内容を説明するフローチャートである。
制御部11は、データテーブル23に指定されている記憶領域であるU1に、現在の優先度を格納する。なお、制御部11は、負荷試験開始後の初めの優先度の調整処理では、U1に初期値テーブル22の優先度を格納することになる。2回目以降の優先度の調整処理では、前回調整した優先度をU1に格納しても良い。
そして、制御部11は、データテーブル23に格納されている負荷率更新フラグをオフにする(S701)。
次に制御部11は、U1に格納されている優先度を一段階上げた値を新たな優先度として設定する(S702)。また、以下の説明においては、U1、U2と記載したとき、それぞれタスク優先度用の格納領域U1、U2のことを示すことにする。
そして、制御部11は、S702で設定した新たな優先度が高いほど、他の処理に優先して、試験部13で実行されている送受信タスクに論理CPUの使用時間を割当てる。
なお、優先度とは、複数のタスクが順番にポートペアに割当てられた論理CPUを使用して実行されているとき、優先度が高いタスクから順番に論理CPUの使用権限が割り当てられるようにするパラメータである。したがって、優先度が高いタスクほど、他のタスクに優先して論理CPUを使用することができ、処理を優先的に進行することができる。
パケットの送受信が開始されると、監視部12は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにLANケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部11は、監視部12で算出された負荷率を取得し、優先度を変更したことにより、負荷率が増加したか否かを判定する(S703)。
制御部11は、優先度を変更したことにより、負荷率が増加したと判定する(S703にてYes)と、データテーブル23に格納されている負荷率更新フラグをオンにして、新たな優先度をU2の格納領域に格納する(S704)。なお、このときU2に格納される優先度は、この時点において、優先度調整処理で測定した中で、負荷率が最大となる優先度である。そして、制御部11は、S702の処理を実行する。
なお、負荷率更新フラグは、今回の優先度の調整処理において、既に1回以上負荷率が更新されたことを示すフラグである。なお、負荷率更新フラグは、他のパラメータの処理に用いる負荷率更新フラグと同じフラグを使っても良いし、独立して用いるフラグを記憶装置205の異なる格納領域にパラメータごとに格納しても良い。
制御部11は、優先度を変更しても、負荷率が増加しなかったと判定すると、データテーブル23に格納されている負荷率更新フラグを参照する(S705)。
制御部11は、負荷率更新フラグがオンのとき(S705にてYes)、最も負荷率が高くなる優先度がU2に格納されている状態なので、優先度の調整値をU2に格納されている優先度に設定する(S706)。そして、制御部11は、タスクの優先度の調整処理を終了する。
制御部11は、負荷率更新フラグがオフのとき(S705にてNo)、優先度の調整値をU1に格納されている優先度に戻す(S707)。
以下の処理では、優先度を減少させることにより、負荷が増加するか否かを判定する。
そして、制御部11は、優先度が減少可能であるか否かを判定する(S708)。具体的には、現在設定されている優先度に最も低い優先度が設定されているか否かを判定し、最も低い優先度が設定されているとき、優先度を減少できないと判定する。図2(b)の初期値テーブル22に格納されている値を例とすると、優先度1である。
現在設定されている優先度が最も低い優先度のとき(S708にてNo)、優先度を減少することができないので、優先度の調整値をU1に格納されている優先度、すなわち優先度を1に設定する(S709)。そして、制御部11は、タスクの優先度の調整処理を終了する。
優先度が1ではないとき、優先度は2以上であるので、制御部11は優先度を一段階下げた値を新たな優先度として設定する(S710)。
S705の処理と同様に、制御部11は、ディスパッチ処理数を増減したことにより負荷率が増加したか否かを判定する(S711)。
制御部11は、優先度を下げたことにより、負荷率が増加したと判定する(S711にてYes)と、データテーブル23に格納されている負荷率更新フラグをオンにして、新たな優先度をU2の格納領域に格納する(S712)。
そして、制御部11は、S712でU2に格納した優先度が1であるか否かを判定する(S713)。制御部11は、S713でU2に格納した優先度が1ではないとき(S713にてNo)、優先度がさらに減少可能であると判定し、S710の処理を実行する。
優先度が1のとき(S713にてYes)、優先度をさらに減少することができないので、優先度の調整値をU2に格納されている優先度、すなわち優先度を1に設定する(S715)。そして、制御部11は、タスクの優先度の調整処理を終了する。
S711において、制御部11は、優先度を変更したことにより、負荷率が増加しなかったと判定する(S711にてNo)と、負荷率更新フラグがオンか否かを判定する(S714)。
負荷率更新フラグがオンのとき(S714にてYes)、制御部11は、優先度を増減してもこれ以上の負荷率の増加はないと判定し、S715の処理を実行する。そして、制御部11は、タスクの優先度の調整処理を終了する。
負荷率更新フラグがオフのとき(S714にてNo)、制御部11は、優先度を増減しても負荷率の増加がなかったと判定し、U1に格納されている値を優先度の調整値として設定する(S716)。そして、制御部11は、タスクの優先度の調整処理を終了する。
以上のように、制御部11は、優先度を増減させて、負荷率が最大になる優先度を調整後の優先度(優先度の調整値)として設定する。これにより、情報処理装置100は、最適な負荷率を得られる優先度を設定することができる。上記の説明においては、負荷率が最大となる優先度を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくように優先度を調整しても良い。
また、実施形態の情報処理装置100は、監視部で測定した負荷率が決められた負荷率に近づくように、設定を変更すると負荷率が変動する複数のパラメータを、負荷率の増減に対する影響の大きいパラメータから順番に調整する。これにより、情報処理装置100は、負荷試験におけるパラメータを、負荷率を祖調整から微調整することにより効率よく設定することができる。
10 試験制御部
11 制御部
12 監視部
13 試験部
20 記憶部
21 構成情報テーブル
22 初期値テーブル
23 データテーブル
30 送受信部
31 送信部
32 受信部
100 情報処理装置
205 記憶装置
300 バス
301〜304 制御回路
305 記憶装置
306 読取装置
307 記録媒体
308 表示装置
309 入出力インターフェイス
310〜312 通信インターフェイス
313〜315 送信装置
316〜318 受信装置
319 スイッチ
320 ネットワーク
330 制御回路
340 通信インターフェイス

Claims (12)

  1. パケットを送信する送信部と、
    前記パケットを受信する受信部と、
    前記送信部から前記受信部に前記パケットを送信しているとき、前記送信部と前記受信部との間の帯域の使用率である負荷率を測定する監視部と、
    前記監視部で測定した負荷率が決められた負荷率に近づくように、設定を変更すると前記負荷率を変動させる複数のパラメータを、前記負荷率の増減に対する影響の大きいパラメータから順番に調整する制御部と、
    を備えることを特徴とする情報処理装置。
  2. 前記制御部は、
    前記パラメータの調整をするとき、前記複数のパラメータの中の一つのパラメータを変更し、
    前記一つのパラメータの変更後に、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第1の負荷率を取得し、
    前記第1の負荷率の測定の前に、前記送信部を介して前記受信部に前記パケットを送信したとき、前記監視部で測定された第2の負荷率よりも、前記第1の負荷率が決められた負荷率に近づいたか否かを判定し、
    前記第1の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第2の負荷率よりも前記第1の負荷率が決められた負荷率に近づいたことを示すとき、さらに前記一つのパラメータを変更し、
    前記第1の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第2の負荷率よりも前記第1の負荷率が決められた負荷率に離れたことを示すとき、または前記第1の負荷率が前記第2の負荷率と等しいことを示すとき、前記第2の負荷率を測定したときの設定値を前記一つのパラメータに対する調整値として設定し、前記一つのパラメータの次に前記負荷率の増減に対する影響が大きい一つのパラメータの変更を開始する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記各複数のパラメータの初期値を格納する初期値テーブルを記憶する記憶部を備え、
    前記複数のパラメータは、
    設定値を変更すると、前記負荷率を変動させるパラメータであり、
    前記制御部は、
    前記一つのパラメータの変更を開始すると、前記一つのパラメータの設定値を前記初期値に設定し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第3の負荷率を取得し、
    前記第3の負荷率を取得した後に、前記設定値を増加し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第4の負荷率を取得し、
    前記第3の負荷率よりも、前記第4の負荷率が決められた負荷率に近づいたか否かを判定し、
    前記第4の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第3の負荷率よりも前記第4の負荷率の方が決められた負荷率に近づいたことを示すとき、さらに前記一つのパラメータの設定値を増加して前記第1の負荷率を取得し、
    前記第4の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第3の負荷率よりも前記第4の負荷率の方が決められた負荷率から離れた、または、前記第4の負荷率が前記第3の負荷率と同じことを示すとき、前記一つのパラメータの設定値を前記初期値から減少させて前記第1の負荷率を取得する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記各複数のパラメータの初期値を格納する初期値テーブルを記憶する記憶部を備え、
    前記複数のパラメータは、
    設定値を変更すると、前記負荷率を変動させるパラメータであり、
    前記制御部は、
    前記一つのパラメータの変更を開始すると、前記一つのパラメータの設定値を前記初期値に設定し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第3の負荷率を取得し、
    前記第3の負荷率を測定した後に、前記一つのパラメータの設定値を前記初期値から減少し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第4の負荷率を取得し、
    前記第3の負荷率よりも、前記第4の負荷率が決められた負荷率に近づいたか否かを判定し、
    前記第4の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第3の負荷率よりも前記第4の負荷率の方が決められた負荷率に近づいたことを示すとき、さらに前記一つのパラメータの設定値を減少して前記第1の負荷率を取得し、
    前記第4の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第3の負荷率よりも前記第4の負荷率の方が決められた負荷率から離れた、または、前記第4の負荷率が前記第3の負荷率と同じことを示すとき、前記一つのパラメータの設定値を前記初期値から増加させて前記第1の負荷率を取得する
    ことを特徴とする請求項2に記載の情報処理装置。
  5. 前記制御部は、
    前記一つのパラメータの設定値を前記初期値から増減させて前記第1の負荷率を取得したとき、前記初期値を前記第2の負荷率として、該第2の負荷率よりも、前記第1の負荷率が決められた負荷率に近づいたか否かを判定する処理を行なう
    ことを特徴とする請求項3または4に記載の情報処理装置。
  6. 前記制御部は、
    前記一つのパラメータの設定値を増加して前記第1の負荷率を取得したあと、次の第1の負荷率を取得するとき、前記第1の負荷率を前記第2の負荷率とし、前記一つのパラメータの設定値を増加して前記次の第1の負荷率を取得し、
    前記一つのパラメータの設定値を減少して前記第1の負荷率を取得したあと、次の第1の負荷率を取得するとき、前記第1の負荷率を前記第2の負荷率とし、前記一つのパラメータの設定値を減少して前記次の第1の負荷率とする
    ことを特徴とする請求項3〜5のいずれか一つに記載の情報処理装置。
  7. 前記制御部は、
    前記一つのパラメータの次に前記負荷率の増減に対する影響が大きい一つのパラメータの変更を開始するとき、前記複数のパラメータの全ての調整値が設定されている場合、前記複数のパラメータを調整する制御を終了する
    ことを特徴とする請求項2〜6のいずれか一つに記載の情報処理装置。
  8. 前記制御部の指示にしたがって、前記制御部から指定された数であるパケットカウント数のパケットを生成するごとに、前記送信部に前記生成したパケットを出力し、前記送信部から前記受信部に前記生成したパケットを送信させる試験部を備え、
    前記複数のパラメータの一つは、前記パケットカウント数であり、
    前記制御部は、前記パケットカウント数の調整をするとき、
    前記パケットカウント数を前記初期値に設定し、前記監視部で第3の負荷率を取得し、
    前記第3の負荷率を測定したあと、前記パケットカウント数を初期値から決められた数だけ増減し、前記監視部で測定された第4の負荷率を取得し、
    前記第3の負荷率よりも、前記第4の負荷率が決められた負荷率に近づいたか否かを判定し、
    前記第4の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記パケットカウント数を初期値から決められた数だけ増加、および減少したとき、前記第3の負荷率よりも前記第4の負荷率の方が決められた負荷率から離れる、または前記第3の負荷率と前記第4の負荷率とが同じことを示すとき、前記パケットカウント数を増減する決められた数を小さくして、前記第4の負荷率を取得する処理と、前記第3の負荷率よりも前記第4の負荷率が決められた負荷率に近づいたか否かを判定する処理を行い、
    前記パケットカウント数を増減する決められた数を変更しても、前記第4の負荷率が前記第3の負荷率と同じことを示すとき、前記パケットカウント数の初期値を前記パケットカウント数の調整値として保存する
    ことを特徴とする請求項3〜7のいずれか一つに記載の情報処理装置。
  9. 前記制御部は、
    前記第1の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第2の負荷率よりも前記第1の負荷率が決められた負荷率から離れる、または前記第1の負荷率が前記第2の負荷率と等しいことを示すとき、
    前記第1の負荷率を取得したときに設定した第1のパケットカウント数と、前記第2の負荷率を取得したときに設定した第2のパケットカウント数との中間値を第5のパケットカウント数に設定し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第5の負荷率を取得し、
    前記第5の負荷率を取得すると、前記第5の負荷率が前記第2の負荷率よりも決められた負荷率に近づいたか否かを判定し、
    前記第5の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第2の負荷率よりも前記第5の負荷率の方が決められた負荷率に近づいたことを示すとき、前記第5の負荷率を次の第2の負荷率とし、前記第2の負荷率を次の第1の負荷率として、前記第5の負荷率を取得する処理と、前記第5の負荷率が前記第2の負荷率よりも決められた負荷率に近づいたか否かを判定する処理を行い、
    前記第5の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第2の負荷率よりも前記第5の負荷率が決められた負荷率から離れる、または前記第5の負荷率が前記第2の負荷率と等しいことを示すとき、前記第2の負荷率を測定したときの設定値を調整値として設定する
    ことを特徴とする請求項8に記載の情報処理装置。
  10. 前記制御部は、
    前記最初に第5の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第2の負荷率よりも前記第5の負荷率が決められた負荷率から離れる、または前記第5の負荷率が前記第2の負荷率と等しいことを示すとき、
    前記第1のパケットカウント数が前記第2のパケットカウント数よりも大きいとき、前記第1のパケットカウント数を減少して、前記第5の負荷率を取得する処理を行い、
    前記第1のパケットカウント数が前記第2のパケットカウント数よりも小さいとき、前記第1のパケットカウント数を増加して、前記第5の負荷率を取得する処理を行う
    ことを特徴とする請求項9に記載の情報処理装置。
  11. 前記複数のパラメータは、
    決められた数のパケットを生成するごとに、前記送信部から前記受信部に前記パケットを送信するときの該決められた数を示すパケットカウント数と、
    前記送信部と前記受信部との間のコネクションの数を示すコネクション数と、
    前記送信部と前記受信部との間でパケットを送受信する処理に使用する制御回路の数を示すCPUバインド数と、
    前記送信部から前記受信部に前記パケットを送信する処理に、前記制御回路を割り当てたとき、一回当たりに実行するタスクの処理数を示すディスパッチ処理数と、
    前記送信部から前記受信部に前記パケットを送信する処理と他の処理との実行順序を決定する優先度と、
    を含み、
    前記制御部は、
    前記パケットカウント数、前記コネクション数、前記CPUバインド数、前記ディスパッチ時間、前記優先度の順で前記複数のパラメータを調整することを特徴とする請求項1〜10のいずれか一つに記載の情報処理装置。
  12. 情報処理装置のコンピュータが、
    パケットを送信する送信部から前記パケットを送信し、
    前記パケットを受信する受信部で前記パケットを受信し、
    前記送信部から前記受信部に前記パケットを送信しているとき、前記送信部と前記受信部との間の帯域の使用率である負荷率を測定し、
    前記測定した負荷率が決められた負荷率に近づくように、設定を変更すると前記負荷率を変動させる複数のパラメータを、前記負荷率の増減に対する影響の大きいパラメータから順番に調整する
    ことを特徴とする負荷試験方法。
JP2014536515A 2012-09-21 2012-09-21 情報処理装置、および負荷試験方法 Pending JPWO2014045417A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/074296 WO2014045417A1 (ja) 2012-09-21 2012-09-21 情報処理装置、および負荷試験方法

Publications (1)

Publication Number Publication Date
JPWO2014045417A1 true JPWO2014045417A1 (ja) 2016-08-18

Family

ID=50340767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014536515A Pending JPWO2014045417A1 (ja) 2012-09-21 2012-09-21 情報処理装置、および負荷試験方法

Country Status (3)

Country Link
US (1) US20150180964A1 (ja)
JP (1) JPWO2014045417A1 (ja)
WO (1) WO2014045417A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018147141A (ja) * 2017-03-03 2018-09-20 三菱電機インフォメーションシステムズ株式会社 スレッド数変動通信装置及びスレッド数変動通信プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554348B2 (en) 2014-11-19 2020-02-04 Nec Corporation Information processing system, information processing method, and information processing device
JP6497782B2 (ja) * 2016-04-18 2019-04-10 日本電信電話株式会社 試験装置、試験方法および試験プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1084384A (ja) * 1996-09-09 1998-03-31 Nec Commun Syst Ltd パケットデータ通信における負荷試験装置
JP2006115038A (ja) * 2004-10-13 2006-04-27 Nec Engineering Ltd 主信号負荷試験装置及び試験方法
JP2008283239A (ja) * 2007-05-08 2008-11-20 Fujitsu Ltd パケット負荷試験装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040017773A1 (en) * 2002-07-23 2004-01-29 Eyeball Networks Inc. Method and system for controlling the rate of transmission for data packets over a computer network
JP4882723B2 (ja) * 2006-12-18 2012-02-22 日本電気株式会社 移動通信システム及び信号合成方法
US8374263B2 (en) * 2009-11-12 2013-02-12 Siklu Communication ltd. OFDM communication with multi-dimensional rate adaptation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1084384A (ja) * 1996-09-09 1998-03-31 Nec Commun Syst Ltd パケットデータ通信における負荷試験装置
JP2006115038A (ja) * 2004-10-13 2006-04-27 Nec Engineering Ltd 主信号負荷試験装置及び試験方法
JP2008283239A (ja) * 2007-05-08 2008-11-20 Fujitsu Ltd パケット負荷試験装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018147141A (ja) * 2017-03-03 2018-09-20 三菱電機インフォメーションシステムズ株式会社 スレッド数変動通信装置及びスレッド数変動通信プログラム

Also Published As

Publication number Publication date
WO2014045417A1 (ja) 2014-03-27
US20150180964A1 (en) 2015-06-25

Similar Documents

Publication Publication Date Title
EP3255553A1 (en) Transmission control method and device for direct memory access
US8996756B2 (en) Using process location to bind IO resources on NUMA architectures
EP3253027B1 (en) Resource allocation method and apparatus for virtual machines
US20180285294A1 (en) Quality of service based handling of input/output requests method and apparatus
WO2014030221A1 (ja) 仮想計算機システム、管理計算機及び仮想計算機管理方法
US20130007757A1 (en) Methods, computer systems, and physical computer storage media for managing resources of a storage server
US9092365B2 (en) Splitting direct memory access windows
WO2014045417A1 (ja) 情報処理装置、および負荷試験方法
EP2704009A2 (en) Information processing apparatus, information processing method, and program
JP2019046163A (ja) 情報処理装置、仮想マシン監視プログラム、および情報処理システム
US10656958B2 (en) Method and apparatus for controlling virtual switching
US10104571B1 (en) System for distributing data using a designated device
JP2006268282A (ja) マルチ・パーティション・システムの割り込み制御方式
CN112395216A (zh) 用于存储管理的方法、装置、设备和计算机可读存储介质
KR102216125B1 (ko) 미디어 컨텐츠의 송수신을 스케쥴링 하는 방법, 장치 및 시스템
JP5230665B2 (ja) データ受信装置、データ受信方法
JP2019144715A (ja) 情報処理装置、情報処理システム、及びプログラム
JP2014222473A (ja) データ処理装置、データ処理方法、データ処理制御装置、プログラムおよび記録媒体
JP2013161165A (ja) 計算機システム及びPCIeデバイスの割当方法
US11818178B2 (en) Control apparatus, control method and program for allocation of operators to session boarder controllers
US10158440B1 (en) System for configuring distributed audio output using an access point
JP5619312B2 (ja) データ処理装置およびその制御方法
US20180013678A1 (en) Connection destination determination method and information processing device
CN117215773A (zh) 任务调度方法、装置、电子设备和存储介质
JP2008146459A (ja) インタフェースコントローラ、リードアクセス制御方法及び該インタフェースコントローラを備える情報処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160112