(57)【要約】  ネットワークの負荷を効率的に設定する。監視部は、パケットを送信する送信部からパケットを受信する受信部にパケットを送信しているとき、送信部と受信部との間の帯域の使用率である負荷率を測定する。そして、制御部は、監視部で測定した負荷率が決められた負荷率に近づくように、設定を変更すると負荷率を変動させる複数のパラメータを、負荷率の増減に対する影響の大きいパラメータから順番に調整する。
2014045417.tif 000002
【特許請求の範囲】
【請求項１】
パケットを送信する送信部と、
前記パケットを受信する受信部と、
前記送信部から前記受信部に前記パケットを送信しているとき、前記送信部と前記受信部との間の帯域の使用率である負荷率を測定する監視部と、
前記監視部で測定した負荷率が決められた負荷率に近づくように、設定を変更すると前記負荷率を変動させる複数のパラメータを、前記負荷率の増減に対する影響の大きいパラメータから順番に調整する制御部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御部は、
前記パラメータの調整をするとき、前記複数のパラメータの中の一つのパラメータを変更し、
前記一つのパラメータの変更後に、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第１の負荷率を取得し、
前記第１の負荷率の測定の前に、前記送信部を介して前記受信部に前記パケットを送信したとき、前記監視部で測定された第２の負荷率よりも、前記第１の負荷率が決められた負荷率に近づいたか否かを判定し、
前記第１の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第１の負荷率が決められた負荷率に近づいたことを示すとき、さらに前記一つのパラメータを変更し、
前記第１の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第１の負荷率が決められた負荷率に離れたことを示すとき、または前記第１の負荷率が前記第２の負荷率と等しいことを示すとき、前記第２の負荷率を測定したときの設定値を前記一つのパラメータに対する調整値として設定し、前記一つのパラメータの次に前記負荷率の増減に対する影響が大きい一つのパラメータの変更を開始する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記各複数のパラメータの初期値を格納する初期値テーブルを記憶する記憶部を備え、
前記複数のパラメータは、
設定値を変更すると、前記負荷率を変動させるパラメータであり、
前記制御部は、
前記一つのパラメータの変更を開始すると、前記一つのパラメータの設定値を前記初期値に設定し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第３の負荷率を取得し、
前記第３の負荷率を取得した後に、前記設定値を増加し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第４の負荷率を取得し、
前記第３の負荷率よりも、前記第４の負荷率が決められた負荷率に近づいたか否かを判定し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率に近づいたことを示すとき、さらに前記一つのパラメータの設定値を増加して前記第１の負荷率を取得し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率から離れた、または、前記第４の負荷率が前記第３の負荷率と同じことを示すとき、前記一つのパラメータの設定値を前記初期値から減少させて前記第１の負荷率を取得する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記各複数のパラメータの初期値を格納する初期値テーブルを記憶する記憶部を備え、
前記複数のパラメータは、
設定値を変更すると、前記負荷率を変動させるパラメータであり、
前記制御部は、
前記一つのパラメータの変更を開始すると、前記一つのパラメータの設定値を前記初期値に設定し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第３の負荷率を取得し、
前記第３の負荷率を測定した後に、前記一つのパラメータの設定値を前記初期値から減少し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第４の負荷率を取得し、
前記第３の負荷率よりも、前記第４の負荷率が決められた負荷率に近づいたか否かを判定し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率に近づいたことを示すとき、さらに前記一つのパラメータの設定値を減少して前記第１の負荷率を取得し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率から離れた、または、前記第４の負荷率が前記第３の負荷率と同じことを示すとき、前記一つのパラメータの設定値を前記初期値から増加させて前記第１の負荷率を取得する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記制御部は、
前記一つのパラメータの設定値を前記初期値から増減させて前記第１の負荷率を取得したとき、前記初期値を前記第２の負荷率として、該第２の負荷率よりも、前記第１の負荷率が決められた負荷率に近づいたか否かを判定する処理を行なう
ことを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記制御部は、
前記一つのパラメータの設定値を増加して前記第１の負荷率を取得したあと、次の第１の負荷率を取得するとき、前記第１の負荷率を前記第２の負荷率とし、前記一つのパラメータの設定値を増加して前記次の第１の負荷率を取得し、
前記一つのパラメータの設定値を減少して前記第１の負荷率を取得したあと、次の第１の負荷率を取得するとき、前記第１の負荷率を前記第２の負荷率とし、前記一つのパラメータの設定値を減少して前記次の第１の負荷率とする
ことを特徴とする請求項３〜５のいずれか一つに記載の情報処理装置。
【請求項７】
前記制御部は、
前記一つのパラメータの次に前記負荷率の増減に対する影響が大きい一つのパラメータの変更を開始するとき、前記複数のパラメータの全ての調整値が設定されている場合、前記複数のパラメータを調整する制御を終了する
ことを特徴とする請求項２〜６のいずれか一つに記載の情報処理装置。
【請求項８】
前記制御部の指示にしたがって、前記制御部から指定された数であるパケットカウント数のパケットを生成するごとに、前記送信部に前記生成したパケットを出力し、前記送信部から前記受信部に前記生成したパケットを送信させる試験部を備え、
前記複数のパラメータの一つは、前記パケットカウント数であり、
前記制御部は、前記パケットカウント数の調整をするとき、
前記パケットカウント数を前記初期値に設定し、前記監視部で第３の負荷率を取得し、
前記第３の負荷率を測定したあと、前記パケットカウント数を初期値から決められた数だけ増減し、前記監視部で測定された第４の負荷率を取得し、
前記第３の負荷率よりも、前記第４の負荷率が決められた負荷率に近づいたか否かを判定し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記パケットカウント数を初期値から決められた数だけ増加、および減少したとき、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率から離れる、または前記第３の負荷率と前記第４の負荷率とが同じことを示すとき、前記パケットカウント数を増減する決められた数を小さくして、前記第４の負荷率を取得する処理と、前記第３の負荷率よりも前記第４の負荷率が決められた負荷率に近づいたか否かを判定する処理を行い、
前記パケットカウント数を増減する決められた数を変更しても、前記第４の負荷率が前記第３の負荷率と同じことを示すとき、前記パケットカウント数の初期値を前記パケットカウント数の調整値として保存する
ことを特徴とする請求項３〜７のいずれか一つに記載の情報処理装置。
【請求項９】
前記制御部は、
前記第１の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第１の負荷率が決められた負荷率から離れる、または前記第１の負荷率が前記第２の負荷率と等しいことを示すとき、
前記第１の負荷率を取得したときに設定した第１のパケットカウント数と、前記第２の負荷率を取得したときに設定した第２のパケットカウント数との中間値を第５のパケットカウント数に設定し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第５の負荷率を取得し、
前記第５の負荷率を取得すると、前記第５の負荷率が前記第２の負荷率よりも決められた負荷率に近づいたか否かを判定し、
前記第５の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第５の負荷率の方が決められた負荷率に近づいたことを示すとき、前記第５の負荷率を次の第２の負荷率とし、前記第２の負荷率を次の第１の負荷率として、前記第５の負荷率を取得する処理と、前記第５の負荷率が前記第２の負荷率よりも決められた負荷率に近づいたか否かを判定する処理を行い、
前記第５の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第５の負荷率が決められた負荷率から離れる、または前記第５の負荷率が前記第２の負荷率と等しいことを示すとき、前記第２の負荷率を測定したときの設定値を調整値として設定する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記制御部は、
前記最初に第５の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第５の負荷率が決められた負荷率から離れる、または前記第５の負荷率が前記第２の負荷率と等しいことを示すとき、
前記第１のパケットカウント数が前記第２のパケットカウント数よりも大きいとき、前記第１のパケットカウント数を減少して、前記第５の負荷率を取得する処理を行い、
前記第１のパケットカウント数が前記第２のパケットカウント数よりも小さいとき、前記第１のパケットカウント数を増加して、前記第５の負荷率を取得する処理を行う
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記複数のパラメータは、
決められた数のパケットを生成するごとに、前記送信部から前記受信部に前記パケットを送信するときの該決められた数を示すパケットカウント数と、
前記送信部と前記受信部との間のコネクションの数を示すコネクション数と、
前記送信部と前記受信部との間でパケットを送受信する処理に使用する制御回路の数を示すＣＰＵバインド数と、
前記送信部から前記受信部に前記パケットを送信する処理に、前記制御回路を割り当てたとき、一回当たりに実行するタスクの処理数を示すディスパッチ処理数と、
前記送信部から前記受信部に前記パケットを送信する処理と他の処理との実行順序を決定する優先度と、
を含み、
前記制御部は、
前記パケットカウント数、前記コネクション数、前記ＣＰＵバインド数、前記ディスパッチ時間、前記優先度の順で前記複数のパラメータを調整することを特徴とする請求項１〜１０のいずれか一つに記載の情報処理装置。
【請求項１２】
情報処理装置のコンピュータが、
パケットを送信する送信部から前記パケットを送信し、
前記パケットを受信する受信部で前記パケットを受信し、
前記送信部から前記受信部に前記パケットを送信しているとき、前記送信部と前記受信部との間の帯域の使用率である負荷率を測定し、
前記測定した負荷率が決められた負荷率に近づくように、設定を変更すると前記負荷率を変動させる複数のパラメータを、前記負荷率の増減に対する影響の大きいパラメータから順番に調整する
ことを特徴とする負荷試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークの負荷を調整する技術に関する。
【背景技術】
【０００２】
コンピュータ装置に高負荷の処理を行なわせることにより、動作の安定性を試験する高負荷試験が行なわれている。コンピュータ装置の高負荷試験の一つに、コンピュータ装置のネットワークに負荷をかけて、コンピュータ装置が正常に動作するか否かを試験するネットワーク負荷試験がある。また、コンピュータ装置単体でネットワーク負荷試験を行なうことがある。この場合には、コンピュータ装置が備えるネットワークカードの各ポートを、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ケーブルで接続する。そして、コンピュータ装置は、同一の装置内でパケットの送受信を行うことにより、ネットワークに負荷をかけて負荷試験を行なう。【０００３】
関連する技術として、計算機システムは、回線アダプタに、折り返しコネクタの装着を識別する手段を設ける。そして、計算機システムは、折り返しコネクタが装着されていないときはアダプタ試験を実行しており、折り返しコネクタが装着されると回線試験を実行する技術が知られている。電子計算機システムのシステム構成、及び動作モードに適応した試験環境で、ハードウェアの試験を実施する電子計算機システムの試験方法では、試験項目毎に、試験を実行する際の動作環境情報を設定する。そして、電子計算機の試験の制御を行う試験プログラム制御部は、予め設定されている電子計算機システムのシステム構成情報及び動作モード情報を読み出すと共に、各動作環境情報を読み出す。試験プログラム制御部は、電子計算機システムのシステム構成情報及び動作モード情報と、各動作環境情報を比較することにより、試験環境を識別して試験の実行可否を決定し、該当する試験項目で試験を実行する技術が知られている（例えば、特許文献１および特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０１−２３８２５０号公報
【特許文献２】特開平０６−０１２２７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述した負荷試験技術では、例えば、コンピュータ装置の送信側と受信側でパケットを送受信するときに設定される、パケットカウント数やコネクション数が不足すると、送信側と受信側との間のネットワークに負荷がかからない。また、パケットカウント数やコネクション数を増やし過ぎると、コンピュータ装置の制御回路にかかる負荷が重たくなり、制御回路は、指定された数のパケットを送受信できなくなるので、ネットワークに負荷がかからなくなる。したがって、ネットワーク負荷（以下、負荷とも言う。）を最大にするには、コンピュータ装置のリソースに適合した最大の負荷がかかるパケットカウント数やコネクション数を調整するパラメータを見つけなくてはならない。【０００６】
しかし、コンピュータ装置は、それぞれ搭載されるＣＰＵ数、メモリサイズ、ネットワークカード数、ネットワークポート数、およびネットワーク速度が異なる。すなわち、各コンピュータ装置は、使用できるリソースや処理能力が異なる。したがって、各コンピュータ装置に高負荷のネットワーク負荷をかけるには、各コンピュータで別々のパラメータ（試験設定）を設定しなければならない。【０００７】
さらに、近年のネットワークの高速化にともない、従来の負荷試験の方法では、コンピュータ装置のリソース不足により、ネットワーク負荷を上げることができない場合がある。ネットワーク負荷を上げるためには、パラメータのチューニングや制御の見直し、確認作業が必要となり、多くの手間と時間を要する。また、コンピュータ装置の設定の確認作業では、確認項目の組み合わせが数千〜数万あり、装置ごとにネットワーク負荷を最大とするパラメータを見つけることは困難である。【０００８】
上述した問題に鑑み、本明細書で後述する情報処理装置は、ネットワークの負荷を効率的に設定することを目的とする。
【課題を解決するための手段】
【０００９】
本明細書で開示する情報処理装置のひとつに、送信部と、受信部と、監視部と、制御部とを備えた情報処理装置がある。送信部は、パケットを送信する。受信部は、パケットを受信する。監視部は、送信部から受信部にパケットを送信しているとき、送信部と受信部との間の帯域の使用率である負荷率を測定する。そして、制御部は、監視部で測定した負荷率が決められた負荷率に近づくように、設定を変更すると負荷率を変動させる複数のパラメータを、負荷率の増減に対する影響の大きいパラメータから順番に調整する。
【発明の効果】
【００１０】
本明細書で後述する情報処理装置は、ネットワークの負荷を効率的に設定できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】情報処理装置の一実施例を示す機能ブロック図である。
【図２】負荷試験で用いるテーブルのデータ例を表したテーブルである。
【図３】情報処理装置の一実施例を示すブロック図である。
【図４】負荷試験の処理の処理内容を示すフローチャートである。
【図５】バッファサイズの調整処理の内容を示すフローチャートである。
【図６】パケットカウント数の調整処理の内容を示すフローチャートである。
【図７】パケットカウント数の調整処理の内容を示すフローチャートである。
【図８】コネクション数の調整処理の内容を示すフローチャートである。
【図９】ＣＰＵバインド数の調整処理の内容を示すフローチャートである。
【図１０】ディスパッチ処理数の調整処理の内容を示すフローチャートである。
【図１１】優先度の調整処理の内容を示すフローチャートである。
【発明を実施するための形態】
【００１２】
［実施形態］
実施形態の情報処理装置について説明する。
情報処理装置は、１つ以上のネットワークカードを備え、パケットを送受信するためのポートを２つ以上有する。そして、情報処理装置は、任意の２つのポートをＬＡＮケーブルで折り返し接続したポートペアを形成し、パケットを送受信する。また、情報処理装置は、ポートペアで送受信されたパケットの数を測定し、単位時間当たりのデータの転送レート（例えば、Ｂｙｔｅ／ｓｅｃ）を取得する。そして、情報処理装置は、転送レートを帯域で除算することにより、負荷率を算出する。
【００１３】
情報処理装置は、負荷率を監視しながら、ポートペアごとにパケットを送受信する処理に用いるリソースを割り振り、かつ設定を変更すると負荷率が変動する複数のパラメータを変更し、ポートペアの通信帯域をできる限り多く使用するように調整する。このとき、情報処理装置は、複数のパラメータの中で、負荷率の増減に対する影響の大きいパラメータから順番に調整する。
【００１４】
上記のように、情報処理装置は、ポートペアごとに負荷率を監視しながら、複数のパラメータの設定を調整することで、情報処理装置の能力で出力可能な最大の負荷を得る。また、情報処理装置は、複数のパラメータの設定を調整するとき、負荷率の増減に対する影響の大きいパラメータから順番に調整する。これにより、情報処理装置は、負荷試験におけるネットワーク負荷を粗調整から微調整することでネットワーク負荷の最大値を見つけるので、複数のパラメータの組み合わせをランダムに確認するのに比較して、ネットワーク負荷を効率よく調整することができる。
【００１５】
図１は、情報処理装置の一実施例を示す機能ブロック図である。
図１において、情報処理装置１００は、試験制御部１０、記憶部２０、および送受信部３０を備えている。以下の説明においては、情報処理装置１００単体でのネットワーク負荷試験について説明する。また、情報処理装置１００は、ネットワーク負荷の調整として、情報処理装置１００のリソースや折り返し接続に用いるＬＡＮケーブルの帯域などで決まる最大のネットワーク負荷を見つけるときについて説明する。ただし、実施形態の情報処理装置１００は、図１に示す試験制御部１０、記憶部２０、および送受信部３０に含まれる各種機能を、複数の情報処理装置で一部ずつ担当することによって、全体として一つの情報処理装置１００の機能を実現可能である。また、実施形態の情報処理装置１００は、最大のネットワーク負荷ではなく、ユーザにより設定された決められた負荷に近づくように、複数のパラメータを調整することで、適宜必要なネットワーク負荷を得る構成として用いても良い。以下の説明では、決められた負荷として、最大のネットワーク負荷を設定したときについて説明する。
【００１６】
試験制御部１０は、制御部１１、監視部１２、および試験部１３を備える。そして、試験制御部１０は、監視部１２で測定された負荷率（負荷）を監視しながら、負荷率が最大の負荷（決められた負荷）に近づくように、負荷率の増減に対する影響の大きいパラメータから順番に調整する。
【００１７】
制御部１１は、監視部１２で測定された負荷率が決められた負荷率に近づくように、複数のパラメータの設定を変更する。そして、制御部１１は、複数のパラメータの設定を変更するときに、負荷率の増減に対する影響の大きいパラメータから順番に調整する。
【００１８】
監視部１２は、送受信部３０が有する送信部３１から受信部３２にパケットを送信しているとき、送信部３１と受信部３２との間の負荷率を測定する。
【００１９】
試験部１３は、制御部１１が設定した複数のパラメータが入力されると、入力された複数のパラメータの設定にしたがって、送受信部３０で送受信するパケットを生成し、送受信部３０へ出力する。より具体的には、試験部１３は、制御部１１の指示にしたがって、指定されたリソースを用いて、指定された数であるパケットカウント数のパケットを生成するごとに、送信部３１に生成したパケットを出力し、送信部３１を介して受信部３２にパケットを送信する。また、試験部１３は、制御部１１の設定にしたがって、記憶部２０の一部の領域を、送信部３１の送信バッファと受信部３２の受信バッファとして使用する。なお、図示しないが、試験制御部１０は、動作する送受信部３０が複数ある場合には、動作する送受信部３０ごとに１つずつ試験部１３を有する。
【００２０】
記憶部２０は、構成情報テーブル２１、初期値テーブル２２、およびデータテーブル２３を備える。
【００２１】
構成情報テーブル２１は、図２（ａ）に示すように、論理ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）数、試験で使用可能なメモリサイズ、有効なネットワークポート数、および各ネットワークポートのＭＴＵ（Ｍａｘｉｍｕｍ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｕｎｉｔ）を格納している。
【００２２】
論理ＣＰＵ数とは、情報処理装置１００の有するＣＰＵのコアの数である。なお、情報処理装置１００にハイパースレッディングなどの技術が適用されており、１つのプロセッサを複数のプロセッサ、例えば２つのプロセッサであるとみなすことができる場合には、その論理的なＣＰＵ数を論理ＣＰＵ数としても良い。
【００２３】
試験で使用可能なメモリサイズとは、情報処理装置１００が有するメモリの中で、負荷試験に割り当てられた格納領域のサイズである。
【００２４】
有効なネットワークポート数とは、情報処理装置１００が備えるネットワークカードが有するポートの数である。なお、ネットワークカードは、送受信部３０として機能し、ネットワークカードが有するポートは、送信部３１、または受信部３２として機能する。
【００２５】
各ネットワークポートのＭＴＵとは、各ネットワークポートにおいて、１回の転送で送信できるデータの最大値を示す値である。なお、ＭＴＵは、ネットワーク接続ごとに送信側で値を設定することができる。
【００２６】
初期値テーブル２２は、図２（ｂ）に示すように、負荷試験の際のパラメータとして、パケットカウント数、コネクション数、ＣＰＵバインド数、優先度、および動作モードの値を格納している。
【００２７】
パケットカウント数は、試験部１３が生成したパケットを送信バッファに蓄えて、一度のパケット送信処理で送信部３１から受信部３２に送信するパケット数である。すなわち、試験部１３は、パケットを生成し、生成したパケットを送信バッファに蓄え、パケットカウント数のパケットを生成するごとに送信部３１を介して受信部３２にパケットを送信する。
【００２８】
コネクション数とは、送信部３１と受信部３２との間の論理的なパケットの通信路の数である。なお、情報処理装置１００は、コネクション数と同じ数だけの通信路にパケットを伝送するので、パケットの送受信に関するタスク（以下、送受信タスクという。）をコネクション数と同じ数だけ並行して実行することになる。
【００２９】
ＣＰＵバインド数は、各ポートペアに割り当てられた論理ＣＰＵの数である。ＣＰＵバインド数は、各ポートペアが専有可能な論理ＣＰＵ数以下の数であり、負荷試験の処理の必要に応じて値を増減する。
【００３０】
優先度とは、ディスパッチ処理における送受信タスクの優先度である。具体的には、スケジューラで送受信タスクに実行権を割り当てる際の優先度であり、優先度の高いタスクから順に、ディスパッチ処理数に相当する処理を実行する実行権が割り当てられる。すなわち、優先度とは、送受信タスクと他の処理との実行順序を決定するパラメータである。
【００３１】
動作モードとは、情報処理装置１００が複数のポートを備える場合、全てのポートを同時に動作させるか、または指定されたポートのみを動作させるかを設定する。情報処理装置１００は、負荷試験を行なうとき、情報処理装置１００が備えるリソースが少ないために、全てのポートを同時に動作させると、ポートペアの帯域に対して大きな負荷をかけることができないときがある。このとき、動作モードにより動作させるポートを指定して、負荷試験を行なうことにより、情報処理装置１００は、指定したポートに大きな負荷をかけることができる。この場合、全てのポートに対して負荷試験を行なうには、指定したポートごとに複数回の負荷試験を行なうことになる。以下の説明においては、説明の簡単化のため、動作モードについては特に記載しない。動作モードを考慮する場合には、指定したポートごとに負荷試験を行なえば良い。
【００３２】
データテーブル２３は、図２（ｃ）に示すように、項目として、パケット送受信数の乖離値、パケットカウント数調整用変数、パケットカウント数用の格納領域、コネクション数値用の格納領域、ＣＰＵバインド数用の格納領域、ディスパッチ処理数の格納領域、タスク優先度用の格納領域、ディスパッチ時間の基準値、負荷率更新フラグ、リバースフラグ、レンジ変更フラグ、およびリトライフラグとを備え、それぞれのデータを格納している。
【００３３】
データテーブル２３は、情報処理装置１００が負荷試験におけるパラメータ値の調整を行な際に得られる各データを格納する。そして、パラメータ値の調整処理では、パラメータ値の調整処理の結果に基づいて、データテーブル２３に格納された各パラメータの格納領域から、パラメータ値の調整値を抽出する。そして、情報処理装置１００は、負荷試験において、複数のパラメータ値の調整値を用いる。なお、各データの内容については、下記の情報処理装置１００の動作において後述する。
【００３４】
図３は、情報処理装置の一実施例を示すブロック図である。
図３において、情報処理装置１００は、制御回路３０１〜３０４、記憶装置３０５、読取装置３０６、記録媒体３０７、表示装置３０８、入出力インターフェイス３０９（入出力Ｉ／Ｆ）、通信インターフェイス３１０〜３１２（通信Ｉ／Ｆ）、送信装置３１３〜３１５、受信装置３１６〜３１８、スイッチ３１９、およびネットワーク３２０を備えている。また、各構成要素は、バス３００により接続されている。
【００３５】
制御回路３０１〜３０４は、情報処理装置１００全体の制御をする。そして、制御回路３０１〜３０４は、例えば、ＣＰＵ、マルチコアＣＰＵ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）およびＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ Ｄｅｖｉｃｅ）などである。制御回路３０１〜３０４は、図１において、試験制御部１０として機能する。また、図示しないが、制御回路３０１〜３０４は、レジスタなどの記憶領域を有し、送信部３１および受信部３２で使用する送信バッファ、および受信バッファとして機能しても良い。なお、以下の説明では、制御回路と記載したとき、制御回路３０１〜３０４のいずれか一つを示すものとする。また、図３において、情報処理装置１００は、制御回路を４つ有しているが、制御回路の数を１つ以上の任意の数としても良い。
【００３６】
記憶装置３０５は、各種データを記憶する。そして、記憶装置３０５は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリや、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）などで構成される。また、ＲＯＭは、ブートプログラムなどのプログラムを記憶している。ＲＡＭは、制御回路のワークエリアとして使用される。ＨＤは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。また、情報処理装置１００の記憶装置３０５は、図１の構成情報テーブル２１、初期値テーブル２２、およびデータテーブル２３を記憶している。なお、構成情報テーブル２１、初期値テーブル２２、およびデータテーブル２３は、情報処理装置１００の制御回路が通信インターフェイス３１２を介してアクセス可能であれば、ネットワーク３２０上で接続されるサーバに記憶されていても良い。
【００３７】
また、情報処理装置１００の記憶装置３０５には、制御回路を試験制御部１０として機能させるための負荷試験プログラムを記憶する。そして、負荷試験を開始するとき、情報処理装置１００の制御回路は、記憶装置３０５に記憶された負荷試験プログラムをＲＡＭに読み出す。これにより、情報処理装置１００の制御回路は、ＲＡＭをワークスペースとして使用することにより、試験制御部１０として機能する。なお、負荷試験プログラムは、情報処理装置１００の制御回路が通信インターフェイス３１２を介してアクセス可能であれば、ネットワーク３２０上で接続されるサーバに記憶されていても良い。
【００３８】
また、記憶装置３０５がＨＤである場合、ＨＤは、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を介してバス３００に接続される。そして、ＨＤは、ＨＤＤが制御回路によって制御され、データのリード／ライトが行なわれる。
【００３９】
読取装置３０６は、制御回路によって制御され、着脱可能な記録媒体３０７のデータのリード／ライトを行なう。そして、読取装置３０６は、例えば、ＦＤＤ（Ｆｌｏｐｐｙ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｄｒｉｖｅ）、ＤＶＤＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＢＤＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｋ  Ｄｒｉｖｅ：登録商標）およびＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などである。また、情報処理装置１００の読取装置３０６は、記録媒体３０７に記録された負荷試験プログラムを読み出し、記憶装置３０５に記憶しても良い。
【００４０】
記録媒体３０７は、各種データを保存する。一例として、記録媒体３０７は、負荷試験プログラムを保存する。そして、記録媒体３０７は、読取装置３０６を介してバス３００に接続され、制御回路が読取装置３０６を制御することにより、データのリード／ライトが行なわれる。また、記録媒体３０７は、例えば、ＦＤ（Ｆｌｏｐｐｙ  Ｄｉｓｋ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｋ：登録商標）、およびフラッシュメモリなどである。
【００４１】
表示装置３０８は、入力された情報を映像として表示することにより、ユーザに通知する。表示装置３０８は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）およびＯＥＬＤ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）などである。また、表示装置３０８に代えて、入力された情報をランプの点灯や、スピーカからの音声により、ユーザに通知しても良い。さらに、表示装置３０８をタッチパネルで構成し、入力装置としても良い。
【００４２】
入出力インターフェイス３０９は、例えば、機械式のボタン、キーボード、マウス、タッチパネル、スキャナ、およびプリンタなどと接続され、接続された装置から各種情報を示す信号が入力される。すると、入出力インターフェイス３０９は、バス３００を介して入力された信号を制御回路に出力する。また、入出力インターフェイス３０９は、制御回路から出力された各種情報を示す信号がバス３００を介して入力されると、接続された各種装置にその信号を出力する。
【００４３】
通信インターフェイス３１０〜３１２は、電力線通信、ＬＡＮケーブル、無線通信、またはインターネットなどのネットワーク３２０を介して、情報処理装置１００と他の情報処理装置１００とを通信可能に接続する。
【００４４】
また、実施形態の通信インターフェイス３１０〜３１２は、例えば、ネットワークカードであり、それぞれポートを有している。そして、通信インターフェイス３１０〜３１２は、それぞれポートを送信側のポート（送信装置３１３〜３１５）、受信側のポート（受信装置３１６〜３１８）として、ＬＡＮケーブルを用いて折り返し接続し、ポートペアを形成する。そして、通信インターフェイス３１０〜３１２は、図１において、それぞれ送受信部３０として機能する。また、送信装置３１３〜３１５は、図１において、それぞれ送信部３１として機能する。さらに、受信装置３１６〜３１８は、図１において、それぞれ受信部３２として機能する。なお、以下の説明では、通信インターフェイスと記載したとき、通信インターフェイス３１０〜３１２のいずれか一つを示すものとする。また、図３において、情報処理装置１００が通信インターフェイスを４つ備える場合を示したが、通信インターフェイスの数は１つ以上の任意の数で良い。また、送信装置３１３〜３１５と受信装置３１６〜３１８は、ネットワークカードに搭載されているポートに限定するものではない。そして、送信装置３１３〜３１５と受信装置３１６〜３１８それぞれの接続方法は、ＬＡＮケーブルに限定するものではなく、例えば、電力線通信、や無線通信であっても良い。
【００４５】
図４は、負荷試験の処理の処理内容を示すフローチャートである。
図４は、情報処理装置１００の負荷試験が開始されて、動的に負荷調整を行い、負荷試験が終了するまでの負荷試験全体の処理内容を示している。
【００４６】
制御部１１は、負荷試験が開始されると、図２（ａ）の構成情報テーブル２１から、情報処理装置１００が有する論理ＣＰＵ数、試験で使用可能なメモリサイズ、有効なネットワークポートの数、および各ネットワークポートのＭＴＵを取得する。さらに、制御部１１は、図２（ｂ）の初期値テーブルから、パケットカウント数、コネクション数、ＣＰＵバインド数、および優先度の初期値を取得する（Ｓ１０１）。
【００４７】
制御部１１は、ポートペアで使用する論理ＣＰＵ数、送信側のポート（送信部３１）で使用する送信バッファと受信側のポート（受信部３２）で受信する受信バッファのサイズを設定する。さらに、制御部１１は、試験部１３に出力するポートペアのコネクション数、ポートペアで送受信するパケットのパケットカウント数等のパラメータをＳ１０１で取得した初期値に設定する（Ｓ１０２）。
【００４８】
Ｓ１０２のリソースの割り当て、およびパラメータ設定について具体的に説明する。
制御部１１は、Ｓ１０１で取得した有効なネットワークポート数を２で除算し、ポートペア（送受信部３０）の数を算出する。
【００４９】
また、制御部１１は、情報処理装置１００が有する論理ＣＰＵ数をポートペア数で除算することにより、１つのポートペアで専有可能な論理ＣＰＵ数を算出する。すなわち、専有可能な論理ＣＰＵ数とは、パラメータの設定において、ＣＰＵバインド数として設定することができる最大値である。なお、情報処理装置１００が有する論理ＣＰＵ数のうちの一部のみを負荷試験に割り当てる場合には、情報処理装置１００は、割り当てられた論理ＣＰＵ数をポートペア数で除算することにより、１つのポートペアで専有可能な論理ＣＰＵ数を算出しても良い。
【００５０】
さらに、制御部１１は、試験で使用可能なメモリサイズを有効なネットワークポート数で除算することにより、１つのポートペアで使用可能なメモリサイズ（以下、割り当てメモリサイズという。）を算出する。なお、ポートペアに割り当てられたメモリのことを割り当てメモリという。
【００５１】
そして、制御部１１は、下記式（１）、（２）にＳ１０１で取得した値を代入して、送信側と受信側とで割り当てメモリサイズを分割した、送信側メモリサイズと受信側メモリサイズとを算出する。
【００５２】
制御部１１は、例えば、送信側と受信側との分割比率をＭ（送信側の比率）：Ｎ（受信側の比率）にする場合は以下となる。
送信側メモリサイズ＝割り当てメモリサイズ×Ｍ／（Ｍ＋Ｎ）      （１）
受信側メモリサイズ＝割り当てメモリサイズ×Ｎ／（Ｍ＋Ｎ）      （２）
【００５３】
また、制御部１１は、下記式（３）にＳ１０１で取得した値を代入して、送信バッファ用の格納領域のサイズ（以下、送信バッファのサイズという。）を算出する。
送信バッファサイズ＝パケットカウント数×各ポートのＭＴＵ×コネクション数  （３）
そして、制御部１１は、受信バッファ用の格納領域のサイズ（以下、受信バッファのサイズという。）を、送信バッファサイズより大きめに設定する。これは、送信側から送信されたパケットは、受信側で受信バッファに一旦蓄えられてから処理されるので、受信側で前回受信したパケットに含まれる処理が終了する前に、送信側から新たなパケットを受信したとき、オーバーフローにならないようにするためである。
【００５４】
制御部１１は、負荷試験開始時のＣＰＵバインド数を次のように設定する。初期値テーブル２２に格納されているＣＰＵバインド数の初期値が０または、専有可能な論理ＣＰＵ数＜１ならば、各ポートペアにＣＰＵの割り当てをしないで、１つのＣＰＵを複数のポートペアで共有する。したがって、制御部１１は、専有可能な論理ＣＰＵ数＜１のときＣＰＵバインド数無しに設定する。ＣＰＵバインド数＞専有可能な論理ＣＰＵ数ならば、ＣＰＵバインド数は、専有可能な論理ＣＰＵ数に設定する。それ以外は、初期値テーブルに格納された値を設定する。
【００５５】
そして、制御部１１は、試験部１３にＳ１０２で設定したパラメータを出力する。すると、試験部１３は、制御部１１から入力されたパラメータにしたがって、パケットを生成し、送信部３１を介して、受信部３２にパケットを送信する。これにより、送受信部３０は、パケットを送受信する（Ｓ１０３）。
【００５６】
Ｓ１０３のパケットの送受信について具体的に説明する。
まず、試験部１３は、制御部１１から受信したパラメータを用いて、ポートペア数にコネクション数を乗算した分の送受信タスクを実行する。そして、試験部１３は、ＣＰＵバインドにより割り当てられたＣＰＵと、割り当てメモリとを使用して、各送受信タスクを動作させ、パケットカウント数のパケットを生成するごとにパケットの送信を行う。なお、１つのポートペアで実行される送受信タスクは、双方向の送受信を行うために、更に２つの送受信タスクに分かれて動作する。この２つの送受信タスクは、例えば、ＡポートからＢポート方向へのパケット送信を行うタスクとＢポートからＡポート方向へのパケット送信を行うタスクに分けられる。なお、実施形態では、説明の簡単化のため、パケットの送信は片方向のみである場合を例として説明する。
【００５７】
すると、監視部１２は、送受信されているパケットの数を測定し、単位時間当たりのデータの転送量である転送レートを算出する。そして、送信部３１と受信部３２との間の帯域で算出した転送レートを除算することにより、負荷率を算出する（Ｓ１０４）。なお、帯域は、送信側のポートと受信側のポートの構成やＬＡＮケーブルの形状などで決まるものであり、例えば、記憶装置３０５の一部の記憶領域に格納されており、制御部１１を介して監視部１２に通知されても良い。また、Ｓ１０１〜Ｓ１０４の処理は、後述するＳ１０５、Ｓ１０６の処理に関連する処理であり、各パラメータの初期値を設定し、各パラメータを初期値に設定したときの負荷率を算出しているものである。したがって、Ｓ１０１〜Ｓ１０４の処理は、制御部１１が一つパラメータの変更を開始すると、一つパラメータの設定値を初期値に設定し、送信部を介して受信部にパケットを送信して、監視部１２で負荷率を測定する処理と言える。
【００５８】
制御部１１は、監視部１２で算出した負荷率（測定した負荷率）を参照して、負荷が最適な負荷になっているかどうかを判定する（Ｓ１０５）。最適な負荷であるか否かは、決められた負荷となったか否かで判定しても良い。また、最適な負荷を、情報処理装置１００の能力で可能となる最大のネットワーク負荷にし、負荷調整をしてもこれ以上負荷率が上がらない状態を最適な負荷としても良い。さらに、最適な負荷として負荷率１００％を設定し、負荷率が１００％となったとき、最適な負荷となるパラメータが得られたと判定しても良い。
【００５９】
制御部１１は、Ｓ１０５において、負荷率からネットワークに最適な負荷がかかっていないと判定する（Ｓ１０５にてＮｏ）と、負荷率の増減に対する影響の大きいパラメータから順番にパラメータを調整する。また、制御部１１は、各ポートペアへ割り当てる情報処理装置１００のリソースの設定を変更する（Ｓ１０６）。Ｓ１０６の処理については、図５〜図１１を参照して後述する。
【００６０】
そして、制御部１１は、負荷試験が終了したか否かを判定する（Ｓ１０７）。そして、制御部１１は、負荷試験が終了したと判定する（Ｓ１０７にてＹｅｓ）と、負荷の調整とリソース割り当ての設定の変更の処理を終了する。また、制御部１１は、負荷試験が継続すると判定する（Ｓ１０７にてＮｏ）と、Ｓ１０３〜Ｓ１０７の処理を繰り返す。
【００６１】
制御部１１は、Ｓ１０５において、負荷率からネットワークに最適な負荷がかかっていると判定する（Ｓ１０５にてＹｅｓ）と、Ｓ１０７の処理を実行する。
【００６２】
上記のＳ１０３〜Ｓ１０７の処理は、ポートペアごとに割り当てられた情報処理装置１００のリソースを使用して、それぞれ別々に実行される。
【００６３】
上記のように、情報処理装置１００は、負荷率を監視して、動的にパラメータを調整するので、最適な負荷状態での負荷試験が可能となる。情報処理装置１００は、自動的にパラメータを変更しながら負荷の調整をするので、数千〜数万のパラメータを人手で設定して試験をするのに比べて、効率よく最適な負荷を設定することができる。
【００６４】
以下では、図５〜図１１を参照して本発明の一実施例を説明する。
図５は、バッファサイズの調整処理の内容を示すフローチャートである。
図４のＳ１０５において、最適な負荷となっていない場合、Ｓ１０６の負荷調整・設定変更を行なう。
【００６５】
すると、図５において、監視部１２は、送信側で送信処理されたパケット（以下、送信処理パケットという。）数と、受信側で受信処理されたパケット（以下、受信処理パケットという。）数とをカウントする（Ｓ２０１）。ここで、送信処理とは、送信側でパケットを生成し、送信側のポートを介して受信側のポートにパケットを送信するまでの処理を言う。また、受信処理とは、送信パケットを受信側のポートで受信して、受信バッファにパケットを格納し、受信側の処理において、受信バッファに格納されたパケットが受信バッファから取り出されるまでの処理を言う。
【００６６】
そして、制御部１１は、監視部１２でカウントした送信処理パケット数と、受信処理パケット数とを取得し、送信処理パケット数と受信処理パケット数とが乖離しているか否かを確認することにより、受信側の処理が遅いか否かを判定する（Ｓ２０２）。
【００６７】
制御部１１は、送信処理パケット数よりも受信処理パケット数の値が少ないとき、受信側の処理が遅いと判定（Ｓ２０２にてＹｅｓ）する。すると、制御部１１は、受信バッファに格納されているパケット数をチェックし、受信バッファの格納領域にパケットが一杯（以下、バッファフル状態という。）であると、バッファサイズを増加し、パケットカウント数を減少指定にする（Ｓ２０３）。パケットカウント数の減少指定とは、制御部１１が次にパケットカウント数の調整（変更）を行なうとき、パケットカウント数を減少させる方向に調整を行なうように指定するフラグである。そして、制御部１１は、Ｓ２０５〜Ｓ２０９の処理を実行する。Ｓ２０５〜Ｓ２０９の処理については、図６〜図１１を参照して後述する。
【００６８】
なお、制御部１１は、送信処理パケット数と、受信処理パケット数とが乖離しているか否かの判定において、図２（ｃ）のデータテーブルに格納されているパケット送受信数の許容乖離値を用いて、下記式（４）が成り立つとき乖離していると判定しても良い。なお、パケット送受信数の許容乖離値とは、送信処理パケット数と受信処理パケット数との差がどの位まで乖離しても良いかを示しているパケット数を表す数値である。
送信処理パケット数−受信処理パケット数＞パケット送受信数の許容乖離値      （４）
【００６９】
パケット送受信数の許容乖離値は、例えば、送信側からの送信パケットの送信が途切れることを予測して、その間に受信側で処理できる受信処理パケット数の範囲内で設定すると良い。
【００７０】
また、Ｓ２０３で、バッファフル状態のとき、受信バッファのサイズを増加するが、このとき、受信バッファのサイズを増加できる最大値は、受信側メモリサイズである。すなわち、受信バッファのサイズが受信側メモリサイズと同じときには、Ｓ２０３において、バッファフル状態でも受信バッファのサイズを増加できないので、パケットカウント数を減少指定にする処理のみを実行する。
【００７１】
Ｓ２０２において、受信側の処理が遅くないと判定したとき、制御部１１は、パケットカウント数を増加指定に設定する（Ｓ２０４）。パケットカウント数を増加指定にするとは、制御部１１が次にパケットカウント数の調整を行なうとき、パケットカウント数を増加させる方向に調整を行なうように指定するフラグである。そして、制御部１１は、パケットカウント調整Ｓ２０５〜Ｓ２０９の処理を実行する。なお、図５に示すように、Ｓ２０５〜Ｓ２０９は、各処理でパラメータの調整値を設定することで処理が終わるごとに、次の処理へ移行する。また、実行されている(今回の)Ｓ２０１〜Ｓ２０９の処理が終了しても、図４のＳ１０７において、制御部１１により負荷試験が終了したと判定されるまで、図４のＳ１０６の処理、すなわちＳ２０１〜Ｓ２０９の処理は、繰り返し実行される。制御部１１による負荷試験の終了の判定は、入出力インターフェイスを介して負荷試験の終了を示す指示が入力される、または最適な負荷が得られたときなどに、負荷試験を終了すると判定しても良い。
【００７２】
図６、７は、パケットカウント数の調整処理の内容を示すフローチャートである。
図６、７では、図５のＳ２０５のパケットカウント数の調整処理の内容を説明するフローチャートである。
【００７３】
制御部１１は、データテーブル２３のパケットカウント数用の格納領域であるＰ１に、現在のパケットカウント数を格納する。そして、制御部１１は、データテーブル２３に格納されている負荷率更新フラグをオフにする（Ｓ３０１）。
【００７４】
なお、制御部１１は、負荷試験開始後の初めのパケットカウント数の調整処理では、Ｐ１に初期値テーブル２２のパケットカウント数を格納することになる。２回目以降のパケットカウント数の調整処理では、前回調整したパケットカウント数をＰ１に格納しても良い。また、以下の説明においては、Ｐ１〜Ｐ６と記載したとき、それぞれパケットカウント数用の格納領域Ｐ１〜Ｐ６のことを示すことにする。
そして、制御部１１は、パケットカウント数が減少指定であるか否かを判定する（Ｓ３０２）。
【００７５】
パケットカウント数が減少指定であるとき、制御部１１は、下記式（５）にデータテーブル２３に格納されているパケットカウント数調整用変数Ｎを代入し、新たなパケットカウント数を算出する（Ｓ３０３）。すなわち、制御部１１がパケットカウント数を増減する値は、パケットカウント数調整用変数Ｎの指定によって決められるものである。パケットカウント数には、Ｐ１、またはＰ３の格納領域に記憶されたパケットカウント数が代入される。パケットカウント数の調整処理が始まったとき、制御部１１は、式（５）にＰ１に格納されたパケットカウント数を代入する。
パケットカウント数×１／Ｎ＝新たなパケットカウント数      （５）
【００７６】
なお、パケットカウント数調整用変数Ｎは、負荷試験開始後の初めのパケットカウント数の調整処理のとき、１よりも大きい数の中で適宜決められた値が設定されている。２回目以降のパケットカウント数の調整処理では、データテーブル２３に前回調整したＮが設定されている。また、パケットカウント数調整用変数Ｎは、Ｎ＝１となるまで２で除算されながらパケットカウント数を調整するので、偶数に設定しても良い。
【００７７】
そして、制御部１１は、Ｓ３０３で算出した新たなパケットカウント数をデータテーブル２３に指定されている記憶領域であるＰ２に格納する。
【００７８】
Ｓ３０２にて、パケットカウント数が減少指定でないとき（パケットカウント数が増加指定であるとき）、制御部１１は、下記式（６）にパケットカウント数調整用変数Ｎを代入して新たなパケットカウント数を算出する（Ｓ３０４）。パケットカウント数には、Ｐ１、またはＰ３の格納領域に記憶されたパケットカウント数が代入される。パケットカウント数の調整処理が始まったとき、制御部１１は、式（６）にＰ１に格納されたパケットカウント数を代入する。
パケットカウント数×Ｎ＝新たなパケットカウント数      （６）
【００７９】
そして、制御部１１は、Ｓ３０４で算出した新たなパケットカウント数をデータテーブル２３に指定されている記憶領域であるＰ２に格納する（Ｓ３０５）。
【００８０】
そして、制御部１１は、Ｐ２に格納した新たなパケットカウント数を試験部１３に出力する。すると、試験部１３は、制御部１１から入力されたパケットカウント数のパケットを生成するごとに、送信側のポートに生成したパケットを出力し、送信側のポートを介して受信側のポートにパケットを送信する。これにより、制御部１１は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる（Ｓ３０６）。
【００８１】
Ｓ３０６でパケットの送受信が開始されると、監視部１２は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにＬＡＮケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部１１は、監視部１２で算出された負荷率を取得し、パケットカウント数を変更したことにより、負荷率が増加したか否かを判定する（Ｓ３０７）。
【００８２】
制御部１１は、パケットカウント数を変更したことにより、負荷率が増加したと判定する（Ｓ３０７にてＹｅｓ）と、データテーブル２３に格納されている負荷率更新フラグをオンにして、このときのパケットカウント数をＰ３に格納する（Ｓ３０８）。なお、このときＰ３に格納されるパケットカウント数は、この時点において、パケットカウント調整処理で測定した中で、負荷率が最大となるパケットカウント数である。
【００８３】
そして、制御部１１は、Ｓ３０２の処理を実行する。その後、Ｓ３０３に移行すると、制御部１１は、式（５）のパケットカウント数にＰ３に格納したパケットカウント数を代入する。また、Ｓ３０４に移行すると、制御部１１は、式（６）のパケットカウント数にＰ３に格納したパケットカウント数を代入する。
【００８４】
なお、負荷率更新フラグは、今回のパケットカウント数の調整処理において、既に１回以上負荷率が更新されたことを示すフラグである。そして、負荷率更新フラグは、他のパラメータの処理に用いる負荷率更新フラグと同じフラグを使っても良いし、独立して用いるフラグを記憶装置２０５の異なる格納領域にパラメータごとに格納しても良い。
【００８５】
制御部１１は、パケットカウント数を変更しても、負荷率が増加しなかったと判定すると、データテーブル２３に格納されている負荷率更新フラグを参照する（Ｓ３０９）。
【００８６】
制御部１１は、負荷率更新フラグがオンのとき（Ｓ３０９にてＹｅｓ）、Ｓ３１５の処理に移行する。
【００８７】
制御部１１は、負荷率更新フラグがオフのとき（Ｓ３０９にてＮｏ）、データテーブル２３に格納されている、今回のパケットカウント数の調整処理において、既に逆方向のパケットカウント数の増減を指定したか否かを示すフラグであるリバースフラグを参照する（Ｓ３１０）。
【００８８】
そして、制御部１１は、リバースフラグがオフのとき、パケットカウント数を変更しても負荷率が増加しなかったので、パケットカウント数を減少指定にしていれば増加指定へ、増加指定にしていれば減少指定へ変更する。さらに、制御部１１は、パケットカウント数をＰ１に格納されているパケットカウント数に戻し、リバースフラグをオンにする（Ｓ３１１）。そして、制御部１１は、Ｓ３０２の処理を実行する。その後、Ｓ３０３に移行すると、制御部１１は、式（５）のパケットカウント数にＰ１に格納したパケットカウント数を代入する。また、Ｓ３０４に移行すると、制御部１１は、式（６）のパケットカウント数にＰ１に格納したパケットカウント数を代入する。
【００８９】
Ｓ３１０において、リバースフラグがオフのとき、制御部１１は、パケットカウント数調整用変数Ｎの値を減らすことが可能かチェックする（Ｓ３１２）。具体的には、パケットカウント数調整用変数Ｎは、式（５）に代入したとき、パケットカウント数が減少し、式（６）に代入したとき、パケットカウント数が増加しなければならないので、Ｎ＝１以上でなければならない。したがって、パケットカウント数調整用変数Ｎは、Ｎ≦１になると減らすことはできないと判定される。
【００９０】
Ｓ３１２において、Ｎ≦１でないとき、制御部１１は、パケットカウント数調整用変数Ｎの値を半分（Ｎ×１／２）にする。また、パケットカウント数の増加指定、およびパケットカウント数の減少指定をパケットカウント数の調整Ｓ２０５の開始時の設定に戻す。さらに、制御部１１は、パケットカウント数をＰ１に格納された値に戻す。また、制御部１１は、リバースフラグをオフにする（Ｓ３１３）。そして、制御部１１は、Ｓ３０２の処理を実行する。その後、Ｓ３０３に移行すると、制御部１１は、式（５）のパケットカウント数にＰ１に格納したパケットカウント数を代入する。また、Ｓ３０４に移行すると、制御部１１は、式（６）のパケットカウント数にＰ１に格納したパケットカウント数を代入する。
【００９１】
なお、Ｓ３１３において、制御部１１は、パケットカウント数調整用変数Ｎの値を１／２の値にするとき、Ｎ＜１となった場合、Ｎ＝１に設定する。これにより、式（５）、（６）にパケットカウント数調整用変数Ｎを代入したとき、パケットカウント数の増加指定と、減少指定とが、実際の指定と異ならないようにする。また、パケットカウント数調整用変数Ｎを予め偶数で設定しておくことにより、Ｎ＜１となる前に、Ｎ＝１となるようにしても良い。
【００９２】
Ｓ３１２において、Ｎ≦１のとき、パケットカウント数を増減しても、負荷率が増加しなかったことを示すので、制御部１１は、パケットカウント数をＰ１に格納されている値に設定して、パケットカウント数の調整処理を終了する（Ｓ３１４）。
【００９３】
図６のＳ３０９において、負荷率更新フラグがオンと判定したとき、制御部１１は、図７のＳ３１５の処理を行なう。
【００９４】
すると、制御部１１は、データテーブル２３を参照して、最後にパケットの送受信をしたときに設定したパケットカウント数であるＰ２の格納領域に格納されたパケットカウント数をＰ４の格納領域に格納する（Ｓ３１５）。さらに、制御部１１は、負荷率が最大であったＰ３の格納領域に格納されたパケットカウント数をＰ５の格納領域に格納する。また、制御部１１は、負荷率更新フラグをオフにする。
【００９５】
Ｓ３１５〜Ｓ３２３の処理では、Ｐ４に格納されたパケットカウント数とＰ５に格納されたパケットカウント数との間で高負荷となるパケットカウント数を求める。すなわち、Ｓ３０２〜Ｓ３１４で行なった、パケットカウント数の調整処理の微調整を行なうことになる。
【００９６】
制御部１１は、下記式（７）にＰ４とＰ５に格納された２つのパケットカウント数を代入して、Ｐ４とＰ５に格納された２つのパケットカウント数の中間値を算出し、Ｐ６に新たなパケットカウント数として格納する。
Ｐ６＝（Ｐ４＋Ｐ５）／２：小数点は四捨五入      （７）
【００９７】
なお、式（７）において、Ｐ４は、Ｐ４に格納されたパケットカウント数であり、Ｐ５は、Ｐ５に格納されたパケットカウント数であり、Ｐ６は、Ｐ６に格納される新たなパケットカウント数である。
【００９８】
そして、制御部１１は、Ｐ６に格納した新たなパケットカウント数を試験部１３に出力することにより、Ｓ３０６と同様に、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる（Ｓ３１７）。
【００９９】
Ｓ３１７でパケットの送受信が開始されると、監視部１２は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにＬＡＮケーブルに流れるパケットの数である転送レートを求める。また、監視部１２は、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部１１は、監視部１２で算出された負荷率を取得し、パケットカウント数を変更したことにより、負荷率が増加したか否かを判定する（Ｓ３１８）。具体的には、Ｐ５に格納されているパケットカウント数を設定したときに得られる負荷率（以下、Ｐ５の負荷率という。）よりも、Ｐ６に格納されているパケットカウント数を設定したときに得られる負荷率（以下、Ｐ６の負荷率という。）のほうが大きいか否かを判定する。なお、Ｐ５の負荷率は、今回のパケットカウント数の調整処理において、Ｓ３１８を最初に行なうとき、Ｓ３０８でＰ３に格納して負荷率である。
【０１００】
そして、Ｐ６の負荷率のほうが、Ｐ５の負荷率よりも大きいとき（Ｓ３１８にてＹｅｓ）、制御部１１は、Ｐ６のパケットカウント数とＰ５のパケットカウント数で負荷率が低かった方をＰ４に格納する。また、制御部１１は、Ｐ６のパケットカウント数とＰ５のパケットカウント数で負荷率が高かった方をＰ５に格納する。さらに、制御部１１は、負荷率更新フラグをオンにする（Ｓ３１９）。そして、制御部１１は、Ｓ３１６の処理を実行する。
【０１０１】
Ｐ６の負荷率が、Ｐ５の負荷率以下のとき、制御部１１は、データテーブル２３に格納されている負荷率更新フラグがオンか否かをチェックする（Ｓ３２０）。
【０１０２】
負荷率更新フラグがオンのとき（Ｓ３２０にてＹｅｓ）、Ｐ５とＰ６のパケットカウント数の中間値を設定して、負荷率を増加する処理を行なったことを示す。このとき、制御部１１は、これ以上の処理を行なわずに最高の負荷が得られたＰ５に格納されているパケットカウント数をパケットカウント数の調整値に設定する（Ｓ３２１）。そして、制御部１１は、パケットカウント数の調整処理を終了する。
【０１０３】
なお、パケットカウント数の調整値とは、パケットカウント数（パラメータ）の調整処理において、最も高い（最も決められた負荷率に近い）負荷率が得られたパケットカウント数であり、負荷試験時に設定するパケットカウント数である。
【０１０４】
負荷率更新フラグがオフのとき、Ｐ５とＰ６のパケットカウント数の中間値を設定しても負荷率が増加しなかったので、制御部１１は、Ｐ５とＰ６の範囲を変更してさらにパケットカウント数を調整するか否かを判定する（Ｓ３２２）。具体的には、制御部１１は、今回のパケットカウント数の調整処理において、既にＰ５とＰ６に格納されているパケットカウント数の間の範囲を変更したか否かを示すフラグであるレンジ変更フラグを参照する。レンジ変更フラグは、初期値はオフであり、レンジを変更するとオンとなるフラグである。すなわち、レンジ変更フラグがオンの場合、後述するＳ３２２において、レンジを変更して負荷率が増加した後、Ｓ３１６〜Ｓ３２０の処理を行なったが、負荷率が増加しなかったことを示している。また、レンジ変更フラグは、パケットカウント数の調整処理がおわるごとにリセットされオフになる。
【０１０５】
レンジ変更フラグがオフのとき（Ｓ３２２にてＮｏ）、制御部１１は、レンジ変更フラグをオンにする。そして、制御部１１は、パケットカウント数が減少指定であれば、Ｐ３に格納されているパケットカウント数をＮ倍にしたパケットカウント数を算出する。また、レンジ変更フラグがオフのとき（Ｓ３２２にてＮｏ）、制御部１１は、パケットカウント数が増加指定であれば、Ｐ３のパケットカウント数を１／Ｎ倍（小数点は四捨五入）にしたパケットカウント数を算出する。そして、制御部１１は、算出したパケットカウント数をＰ４の格納領域に格納する（Ｓ３２３）。その後、制御部１１は、Ｓ３１６の処理を実行する。
【０１０６】
レンジ変更フラグがオンのとき（Ｓ３２２にてＹｅｓ）、制御部１１は、Ｐ５とＰ６の範囲を変更しても負荷率が増加しないと判断して、調整後のパケットカウント数をＰ３のパケットカウント数に設定する（Ｓ３２４）。そして、制御部１１は、パケットカウント数の調整処理を終了する。
【０１０７】
以上のように、制御部１１は、パケットカウント数を増減させて、負荷率が最大になるパケットカウント数をパケットカウント数の調整値として設定する。これにより、情報処理装置１００は、パケットカウント数を祖調整から微調整することにより、最適な負荷率を得られるパケットカウント数を設定することができる。上記の説明においては、負荷率が最大となるパケットカウント数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにパケットカウント数を調整しても良い。
【０１０８】
図８は、コネクション数の調整処理の内容を示すフローチャートである。
図８は、図５のＳ２０６のコネクション数の調整処理の内容を説明するフローチャートである。
【０１０９】
制御部１１は、データテーブル２３に指定されている記憶領域であるＣ１に、現在のコネクション数を格納する。なお、制御部１１は、負荷試験開始後の初めのコネクション数の調整処理では、Ｃ１に初期値テーブル２２のコネクション数を格納することになる。２回目以降のコネクション数の調整処理では、前回調整したコネクション数をＣ１に格納しても良い。また、以下の説明においては、Ｃ１、Ｃ２と記載したとき、それぞれコネクション数用の格納領域Ｃ１、Ｃ２のことを示すことにする。
【０１１０】
そして、制御部１１は、データテーブル２３に格納されている負荷率更新フラグをオフにする（Ｓ４０１）。
【０１１１】
次に制御部１１は、Ｃ１に格納されているコネクション数を＋１した値を新たなコネクション数として設定する（Ｓ４０２）。
【０１１２】
そして、制御部１１は、Ｓ４０２で設定した新たなコネクション数を試験部１３に出力する。すると、試験部１３は、制御部１１から入力されたコネクション数と同じ数の、送信側のポートと受信側のポートとの間の論理的なパケットの通信路を形成し、送信側のポートを介して受信側のポートにパケットを送信する（Ｓ４０３）。これにより、制御部１１は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる。
【０１１３】
Ｓ４０３でパケットの送受信が開始されると、監視部１２は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにＬＡＮケーブルに流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部１１は、監視部１２で算出された負荷率を取得し、コネクション数を変更したことにより、負荷率が増加したか否かを判定する（Ｓ４０４）。
【０１１４】
制御部１１は、コネクション数を増加したことにより、負荷率が増加したと判定する（Ｓ４０４にてＹｅｓ）と、データテーブル２３に格納されている負荷率更新フラグをオンにして、新たなコネクション数をＣ２に格納する（Ｓ４０５）。なお、このときＣ２に格納されるコネクション数は、この時点において、コネクション数の調整処理で測定した中で、負荷率が最大となるコネクション数である。そして、制御部１１は、Ｓ４０２の処理を実行する。
【０１１５】
なお、負荷率更新フラグは、今回のコネクション数の調整処理において、既に１回以上負荷率が更新されたことを示すフラグである。なお、負荷率更新フラグは、他のパラメータの処理に用いる負荷率更新フラグと同じフラグを使っても良いし、パラメータごとに独立して用いるフラグを記憶装置２０５の異なる格納領域にパラメータごとに格納しても良い。
【０１１６】
制御部１１は、コネクション数を変更しても、負荷率が増加しなかったと判定すると、データテーブル２３に格納されている負荷率更新フラグを参照する（Ｓ４０６）。
【０１１７】
制御部１１は、負荷率更新フラグがオンのとき（Ｓ４０６にてＹｅｓ）、コネクション数を増加することにより最大の負荷率が得られたと判断する。すなわち、制御部１１は、コネクション数を減少しても、負荷率は増加しないと判断する。そして、制御部１１は、コネクション数の調整値をＣ２に格納されている値に設定する（Ｓ４０７）。そして、制御部１１は、コネクション数の調整処理を終了する。
【０１１８】
なお、コネクション数の調整値とは、コネクション数（パラメータ）の調整処理において、最も高い（最も決められた負荷率に近い）負荷率が得られたコネクション数であり、負荷試験時に設定するコネクション数である。
【０１１９】
制御部１１は、負荷率更新フラグがオフのとき（Ｓ４０６にてＮｏ）、コネクション数を増加しても負荷率が増加しなかったので、次はＣ１に格納されているコネクション数から、コネクション数を減少させて負荷率が増加するか否かを判定する処理をする。したがって、制御部１１は、コネクション数をＣ１に格納されている値に戻す（Ｓ４０８）。
【０１２０】
以下の処理では、コネクション数を減少させることにより、負荷率が増加するか否かを判定する。
【０１２１】
そして、制御部１１は、コネクション数が１であるか否かを判定する（Ｓ４０９）。コネクション数が１のとき（Ｓ４０９にてＹｅｓ）、コネクション数をこれ以上減少することができないので、コネクション数をＣ１に格納されている値、すなわちコネクション数を１に設定する（Ｓ４１０）。そして、制御部１１は、コネクション数の調整処理を終了する。
【０１２２】
コネクション数が1ではないとき、コネクション数は２以上であるので、制御部１１はコネクション数を−１した値を新たなコネクション数として設定する（Ｓ４１１）。
【０１２３】
そして、制御部１１は、Ｓ４１１で設定した新たなコネクション数を試験部１３に出力することにより、Ｓ４０３と同様に、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる（Ｓ４１２）。
【０１２４】
Ｓ４１２でパケットの送受信が開始されると、監視部１２は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにＬＡＮケーブルに流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部１１は、監視部１２で算出された負荷率を取得し、コネクション数を変更したことにより、負荷率が増加したか否かを判定する（Ｓ４１３）。
【０１２５】
制御部１１は、コネクション数を減少したことにより、負荷率が増加したと判定する（Ｓ４１３にてＹｅｓ）と、データテーブル２３に格納されている負荷率更新フラグをオンにして、新たなコネクション数をＣ２の格納領域に格納する（Ｓ４１４）。
【０１２６】
そして、制御部１１は、Ｓ４１４でＣ２に格納したコネクション数が１であるか否かを判定する（Ｓ４１５）。制御部１１は、Ｓ４１４でＣ２に格納したコネクション数が１ではないとき（Ｓ４１５にてＮｏ）、さらにコネクション数を減少することにより、負荷率が増加するか否かを判定するため、Ｓ４１１の処理を実行する。
【０１２７】
コネクション数が１のとき（Ｓ４１５にてＹｅｓ）、制御部１１は、これ以上コネクション数を減少することができないので、Ｃ２に格納されているコネクション数をコネクション数の調整値として設定する（Ｓ４１６）。そして、制御部１１は、コネクション数の調整処理を終了する。
【０１２８】
Ｓ４１３において、制御部１１は、コネクション数を変更したことにより、負荷率が増加しなかったと判定する（Ｓ４１３にてＮｏ）と、負荷率更新フラグがオンか否かを判定する（Ｓ４１７）。
【０１２９】
制御部１１は、負荷率更新フラグがオンのとき（Ｓ４１７にてＹｅｓ）、コネクション数を増加してもこれ以上の負荷率の増加はないと判断し、Ｓ４１６の処理を実行する。そして、制御部１１は、コネクション数の調整処理を終了する。
【０１３０】
制御部１１は、負荷率更新フラグがオフのとき（Ｓ４１７にてＮｏ）、コネクション数を増減しても負荷率の増加がなかったので、Ｃ１に格納されているコネクション数をコネクション数の調整値として設定する（Ｓ４１８）。そして、制御部１１は、コネクション数の調整処理を終了する。
【０１３１】
以上のように、制御部１１は、コネクション数を増減させて、負荷率が最大になるコネクション数を調整後のコネクション数として設定する。これにより、情報処理装置１００は、最適な負荷率を得られるコネクション数を設定することができる。上記の説明においては、負荷率が最大となるコネクション数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにコネクション数を調整しても良い。
【０１３２】
図９は、ＣＰＵバインド数の調整処理の内容を示すフローチャートである。
図９は、図５のＳ２０７のＣＰＵバインド数の調整処理の内容を説明するフローチャートである。
【０１３３】
制御部１１は、データテーブル２３に指定されている記憶領域であるＢ１に、現在のＣＰＵバインド数を格納する。なお、制御部１１は、負荷試験開始後の初めのＣＰＵバインド数の調整処理では、Ｂ１に初期値テーブル２２のＣＰＵバインド数を格納することになる。２回目以降のＣＰＵバインド数の調整処理では、前回調整したＣＰＵバインド数をＢ１に格納しても良い。また、以下の説明においては、Ｂ１、Ｂ２と記載したとき、それぞれＣＰＵバインド数用の格納領域Ｂ１、Ｂ２のことを示すことにする。
【０１３４】
そして、制御部１１は、データテーブル２３に格納されている負荷率更新フラグをオフにする（Ｓ５０１）。
【０１３５】
そして、制御部１１は、ＣＰＵバインド数が１であるか否かを判定する（Ｓ５０２）。制御部１１は、ＣＰＵバインド数が１ではないとき（Ｓ５０２にてＮｏ）、バインドされているＣＰＵの使用率が高いか否かを判定する（Ｓ５０３）。制御部１１は、例えば、ＣＰＵ使用率が９０％（適宜指定した閾値）を超えているかをチェックする。
【０１３６】
Ｓ５０２において、ＣＰＵバインド数が１のとき（Ｓ５０２にてＹｅｓ）、およびＳ５０３において、ＣＰＵの使用率が高いと判定したとき、制御部１１は、ＣＰＵバインド数を増加指定に設定する（Ｓ５０４）。制御部１１がＣＰＵバインド数を増加指定とするのは、ＣＰＵの使用率が高く、送受信タスクに対するＣＰＵの割り当て時間が不足し、パケットの生成、およびパケットの送信処理の実行が遅くなり、転送レートが低下しているか否かを調べるためである。すなわち、制御部１１は、ＣＰＵバインド数を増加してＣＰＵの使用率を下げることにより、送受信タスクに対して十分なＣＰＵの割り当て時間を確保し、ネットワーク負荷が増加するか否かを調べる。これにより、制御部１１は、ＣＰＵバインド数を増加したとき、ネットワーク負荷が増加すると、送受信タスクに対するＣＰＵの割り当て時間が少ないのでＣＰＵバインド数を増加した値を調整値として設定した方が良いと判定することできる。なお、ＣＰＵバインド数の調整値とは、ＣＰＵバインド数（パラメータ）の調整処理において、最も高い（最も決められた負荷率に近い）負荷率が得られたＣＰＵバインド数であり、負荷試験時に設定するＣＰＵバインド数である。
【０１３７】
制御部１１は、ＣＰＵの使用率が高くないと判定したとき、ＣＰＵバインド数を少なくするため、ＣＰＵバインド数を減少指定に設定する（Ｓ５０５）。制御部１１がＣＰＵバインド数を減少指定とするのは、ＣＰＵの使用率が低く、送受信タスクに対するＣＰＵの割り当てが十分にできていると考えられるが、それでもネットワーク負荷率は、バインドするＣＰＵを少なくした方が高くなることもある。したがって、制御部１１は、ＣＰＵバインド数を動的に調整するためＣＰＵバインド数を減少指定とし、ＣＰＵバインド数を減らしてネットワーク負荷が増加するか否かを調べるためである。なお、ＣＰＵの使用率が高くないとは、例えば、ＣＰＵ使用率が９０％（適宜指定した閾値）以下のことを言う。
【０１３８】
制御部１１は、ＣＰＵバインド数が減少指定に設定されているか否かをチェックする（Ｓ５０６）。
Ｓ５０６において、制御部１１は、ＣＰＵバインド数が増加指定に設定されているとき（Ｓ５０６にてＮｏ）、ＣＰＵバインド数が専有可能な論理ＣＰＵ数以下であればＣＰＵバインド数を＋１する。また、Ｓ５０６において、制御部１１は、ＣＰＵバインド数が増加指定に設定されているとき、専有可能な論理ＣＰＵ数を超えていたらＣＰＵバインドを無効にする（Ｓ５０７）。これにより、制御部１１は、Ｓ５０７で設定した値を新たなＣＰＵバインド数として設定する。なお、ＣＰＵバインドを無効にするとは、情報処理装置１００が有するＣＰＵを複数のポートペアで共用して使用することを言う。そして、ＣＰＵバインドを無効にしたときは、例えば、ＣＰＵバインド数を０としても良い。
【０１３９】
Ｓ５０６において、ＣＰＵバインド数が減少指定に設定されているとき（Ｓ５０６にてＹｅｓ）、制御部１１は、ＣＰＵバインド数が専有可能な論理ＣＰＵ数以下であればＣＰＵバインド数を−１して新たなＣＰＵバインド数として設定する（Ｓ５０８）。ただし、ＣＰＵバインド数＝１のときは、ＣＰＵバインド数１を維持する。
【０１４０】
そして、制御部１１は、Ｓ５０７、およびＳ５０８で設定した新たなＣＰＵバインド数を試験部１３に出力する。すると、試験部１３は、制御部１１から入力されたＣＰＵバインド数の論理ＣＰＵを用いてパケットを生成し、送信側のポートから受信側のポートにパケットを送信させる（Ｓ５０９）。これにより、制御部１１は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる。なお、Ｓ５０９みおいて、新たなＣＰＵバインド数が０（ＣＰＵバインド無効）のとき、情報処理装置１００が有するＣＰＵを複数のポートペアで共用して使用しても良い。
【０１４１】
Ｓ５０９でパケットの送受信が開始されると、監視部１２は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにＬＡＮケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部１１は、監視部１２で算出された負荷率を取得し、ＣＰＵバインド数を変更したことにより、負荷率が増加したか否かを判定する（Ｓ５１０）。
【０１４２】
制御部１１は、ＣＰＵバインド数を変更したことにより、負荷率が増加したと判定する（Ｓ５１０にてＹｅｓ）と、データテーブル２３に格納されている負荷率更新フラグをオンにして、新たなＣＰＵバインド数をＢ２の格納領域に格納する（Ｓ５１１）。なお、このときＢ２に格納されるＣＰＵバインド数は、この時点において、ＣＰＵバインド数の調整処理で測定した中で、負荷率が最大となるＣＰＵバインド数である。そして、制御部１１は、Ｓ５０６の処理を実行する。
【０１４３】
なお、負荷率更新フラグは、今回のＣＰＵバインド数の調整処理において、既に１回以上負荷率が更新されたことを示すフラグである。そして、負荷率更新フラグは、他のパラメータの処理に用いる負荷率更新フラグと同じフラグを使っても良いし、独立して用いるフラグを記憶装置２０５の異なる格納領域にパラメータごとに格納しても良い。
【０１４４】
制御部１１は、ＣＰＵバインド数を変更しても、負荷率が増加しなかったと判定すると、データテーブル２３に格納されている負荷率更新フラグを参照する（Ｓ５１２）。
【０１４５】
Ｓ５１２において、制御部１１は、負荷率更新フラグがオンのとき（Ｓ５１２にてＹｅｓ）、これ以上ＣＰＵバインド数を調整しても負荷率が増加することはないと判定し、ＣＰＵバインド数の調整値をＢ２に格納されている値に設定する（Ｓ５１３）。そして、制御部１１は、ＣＰＵバインド数の調整処理を終了する。
【０１４６】
Ｓ５１２において、制御部１１は、負荷率更新フラグがオフのとき（Ｓ５１２にてＮｏ）、データテーブル２３に格納されているリトライフラグがオンか否かを判定する（Ｓ５１４）。リトライフラグとは、今回のＣＰＵバインド数の調整処理において、既にＣＰＵバインド数を増加、または減少させたか否かを示すフラグであり、オンであるとき、既にＣＰＵバインド数を増加、または減少させたが、負荷率が増加しなかったことを示す。
【０１４７】
Ｓ５１４において、リトライフラグがオンのとき（Ｓ５１４にてＹｅｓ）、制御部１１は、ＣＰＵバインド数の調整値をＢ１に格納されている値にする（Ｓ５１５）。
【０１４８】
Ｓ５１４において、リトライフラグがオフのとき（Ｓ５１４にてＮｏ）、制御部１１は、リトライフラグをオンにして、ＣＰＵバインド数をＢ１に格納されているＣＰＵバインド数に戻す。さらに、制御部１１は、現在のＣＰＵバインド数の指定が増加指定ならば減少指定、現在のＣＰＵバインド数の指定が減少指定ならば増加指定にＣＰＵバインド数の増減の指定を設定する（Ｓ５１６）。そして、制御部１１は、Ｓ５０６の処理を実行する。
【０１４９】
以上のように、制御部１１は、ＣＰＵバインド数を増減させて、負荷率が最大になるＣＰＵバインド数を調整後のＣＰＵバインド数として設定する。これにより、情報処理装置１００は、最適な負荷を得られるＣＰＵバインド数を設定することができる。上記の説明においては、負荷率が最大となるＣＰＵバインド数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにＣＰＵバインド数を調整しても良い。
【０１５０】
図１０は、ディスパッチ処理数の調整処理の内容を示すフローチャートである。
図１０では、図５のＳ２０８のディスパッチ処理数の調整処理の内容を説明するフローチャートである。
【０１５１】
制御部１１は、ポートペア間でパケットを送受信するための送受信タスクをディスパッチして、送受信タスクへのＣＰＵの割り当てが解除されてから、送受信タスクへＣＰＵの割当が戻ってくるまでの時間（以下、ディスパッチ時間という。）を測定する（Ｓ６０１）。
【０１５２】
そして、制御部１１は、データテーブル２３に格納されているディスパッチ時間の基準値を参照し、Ｓ６０１で測定したディスパッチ時間と比較する（Ｓ６０２）。
【０１５３】
Ｓ６０２において、ディスパッチ時間の基準値よりもディスパッチ時間が長いとき、制御部１１は、ディスパッチ時間が長いと判定し、ディスパッチ処理数を増やして新たなディスパッチ処理数を設定する（Ｓ６０３）。ここで、ディスパッチ処理数を増やすとは、送受信タスクを実行するために論理ＣＰＵを割り当てたときに、一回当たりに実行する送受信タスクの処理数を多くすることを言う。これにより、送受信タスクは、ポートペアに割り当てられている論理ＣＰＵをより長い時間専有することになる。なお、増加させるディスパッチ処理数は、適宜決められた処理数を記憶装置３０５に記憶しておき、Ｓ６０３において制御部１１が記憶装置３０５を参照することにより用いても良い。
【０１５４】
Ｓ６０２において、ディスパッチ時間の基準値よりもディスパッチ時間が短いとき、制御部１１は、ディスパッチ時間が短いと判定し、ディスパッチ処理数を減らして新たなディスパッチ処理数を設定する（Ｓ６０４）。ここで、ディスパッチ処理数を減らすとは、送受信タスクを実行するために論理ＣＰＵを割り当てたときに、一回当たりに実行する送受信タスクの処理数を少なくすることを言う。これにより、送受信タスクは、ポートペアに割り当てられている論理ＣＰＵをより短い数を記憶装置３０５に記憶しておき、Ｓ６０３において制御部１１が記憶装置３０５を参照することにより用いても良い。
【０１５５】
そして、制御部１１は、Ｓ６０３、およびＳ６０４で設定した新たなディスパッチ処理数を試験部１３に出力する。すると、試験部１３は、制御部１１から入力されたディスパッチ処理数だけ、論理ＣＰＵが割り当てられるごとにタスクを実行し、送信側のポートから受信側のポートにパケットを送信させる。これにより、制御部１１は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる。
【０１５６】
パケットの送受信が開始されると、監視部１２は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにＬＡＮケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部１１は、監視部１２で算出された負荷率を取得し、ディスパッチ処理数を変更したことにより、負荷率が増加したか否かを判定する（Ｓ６０５）。
【０１５７】
制御部１１は、ディスパッチ処理数を変更したことにより、負荷率が増加したと判定する（Ｓ６０５にてＹｅｓ）と、新たに設定したディスパッチ処理数をディスパッチ処理数の調整値として設定する。また、制御部１１は、ディスパッチ処理数の格納領域Ｄ１にディスパッチ処理数の調整値を格納する。そして、制御部１１は、ディスパッチ処理数の調整処理を終了する。
【０１５８】
制御部１１は、ディスパッチ処理数を変更しても、負荷率が増加しなかったと判定する（Ｓ６０５にてＮｏ）と、ディスパッチ処理数を元に戻す（Ｓ６０６）。
そして、制御部１１は、ディスパッチ処理数を再調整する。今回のディスパッチ処理数の調整処理において、ディスパッチ処理数を減らしたとき、制御部１１は、ディスパッチ処理数を増やして新たなディスパッチ処理数を設定する。また、今回のディスパッチ処理数の調整処理において、ディスパッチ処理数を増やしたとき、制御部１１は、ディスパッチ処理数を減らして新たなディスパッチ処理数を設定する（Ｓ６０７）。
【０１５９】
Ｓ６０５の処理と同様に、制御部１１は、ディスパッチ処理数を増減したことにより負荷率が増加したか否かを判定する（Ｓ６０８）。
【０１６０】
制御部１１は、ディスパッチ処理数を変更したことにより、負荷率が増加したと判定する（Ｓ６０８にてＹｅｓ）と、新たに設定したディスパッチ処理数をディスパッチ処理数の調整値として設定する。
【０１６１】
制御部１１は、ディスパッチ処理数を変更しても、負荷率が増加しなかったと判定する（Ｓ６０８にてＮｏ）と、ディスパッチ処理数を元に戻し、初期のディスパッチ処理数をディスパッチ処理数の調整値として設定する（Ｓ６０９）。また、制御部１１は、ディスパッチ処理数の格納領域Ｄ１にディスパッチ処理数の調整値を格納する。そして、制御部１１は、ディスパッチ処理数の調整処理を終了する。
【０１６２】
なお、上記の説明において、初期のディスパッチ処理数は、初期値テーブル２２に格納されていても良い。この場合には、Ｓ６０１において、制御部１１が初期値テーブルからディスパッチ処理数を抽出することにより、送受信タスクのディスパッチを行なう。
【０１６３】
また、上記の説明において、Ｓ６０３〜Ｓ６０５、およびＳ６０７〜Ｓ６０８の処理は、負荷率が増加する限り繰り返しても良い。
【０１６４】
以上のように、制御部１１は、ディスパッチ処理数を増減させて、負荷率が最大になるディスパッチ処理数を調整後のディスパッチ処理数として設定する。これにより、情報処理装置１００は、最適な負荷を得られるディスパッチ処理数を設定することができる。上記の説明においては、負荷率が最大となるディスパッチ処理数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにディスパッチ処理数を調整しても良い。
【０１６５】
図１０は、ディスパッチ処理数の調整処理の内容を示すフローチャートである。
図１０は、図５のＳ２０８のディスパッチ処理数の調整処理の内容を説明するフローチャートである。以下の説明では、説明の簡単化のため、送受信タスクが１つ実行されている場合について説明する。
【０１６６】
制御部１１は、送受信タスクをディスパッチして、ＣＰＵの割り当てが戻ってくるまでの時間（以下、ディスパッチ時間という。）を測定する（Ｓ６０１）。
【０１６７】
そして、制御部１１は、データテーブル２３に格納されているディスパッチ時間の基準値を参照し、Ｓ６０１で測定したディスパッチ時間と比較する（Ｓ６０２）。
【０１６８】
Ｓ６０２において、ディスパッチ時間の基準値よりもディスパッチ時間が長いとき（Ｓ６０２にてＹｅｓ）、制御部１１は、ディスパッチ時間が長いと判定し、ディスパッチ処理数を増やした新たなディスパッチ処理数を設定する（Ｓ６０３）。
【０１６９】
ここで、ディスパッチ処理数を増やすとは、送受信タスクを実行するために論理ＣＰＵを割り当てたときに、一回当たりに実行する送受信タスクの処理数を多くすることを言う。これにより、送受信タスクは、ポートペアに割り当てられている論理ＣＰＵをより長い時間専有することになる。なお、増加させるディスパッチ処理数は、適宜決められた処理数を記憶装置３０５に記憶しておき、Ｓ６０３において制御部１１が記憶装置３０５を参照することにより用いても良い。
【０１７０】
Ｓ６０２において、ディスパッチ時間の基準値よりもディスパッチ時間が短いとき（Ｓ６０２にてＮｏ）、制御部１１は、ディスパッチ時間が短いと判定し、ディスパッチ処理数を減らして新たなディスパッチ処理数を設定する（Ｓ６０４）。ここで、ディスパッチ処理数を減らすとは、送受信タスクを実行するために論理ＣＰＵを割当てたときに、一回当たりに実行する送受信タスクの処理数を多くすることを言う。これにより、送受信タスクは、ポートペアに割当てられている論理ＣＰＵをより短い時間専有することになる。なお、減少させるディスパッチ処理数は、適宜決められた処理数を記憶装置３０５に記憶しておき、Ｓ６０３において制御部１１が記憶装置３０５を参照することにより用いても良い。
【０１７１】
そして、制御部１１は、Ｓ６０３、およびＳ６０４で設定した新たなディスパッチ処理数を試験部１３に出力する。すると、試験部１３は、制御部１１から入力されたディスパッチ処理数だけ、論理ＣＰＵが割当てられるごとにタスクを実行し、送信側のポートから受信側のポートにパケットを送信させる。これにより、制御部１１は、送信側のポートを介して受信側のポートにパケットを送信し、ポートペア間でパケットを送受信させる。
【０１７２】
パケットの送受信が開始されると、監視部１２は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにＬＡＮケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部１１は、監視部１２で算出された負荷率を取得し、ディスパッチ処理数を変更したことにより、負荷率が増加したか否かを判定する（Ｓ６０５）。
【０１７３】
制御部１１は、ディスパッチ処理数を変更したことにより、負荷率が増加したと判定する（Ｓ６０５にてＹｅｓ）と、データテーブル２３のディスパッチ処理数の格納領域Ｄ１に新たに設定したディスパッチ処理数を格納する。そして、制御部１１は、新たに設定したディスパッチ処理数をディスパッチ処理数の調整値として設定する。
【０１７４】
制御部１１は、ディスパッチ処理数を変更しても、負荷率が増加しなかったと判定する（Ｓ６０５にてＮｏ）と、ディスパッチ処理数を初期値に戻す（Ｓ６０６）。なお、ディスパッチ処理数の初期値とは、Ｓ６０１の処理を行なったときに設定されているディスパッチ処理数のことである。
【０１７５】
そして、制御部１１は、ディスパッチ処理数を再調整する。今回のディスパッチ処理数の調整処理において、ディスパッチ処理数を減らしたとき、制御部１１は、ディスパッチ処理数を増やして新たなディスパッチ処理数を設定する。また、今回のディスパッチ処理数の調整処理において、ディスパッチ処理数を増やしたとき、制御部１１は、ディスパッチ処理数を減らして新たなディスパッチ処理数を設定する（Ｓ６０７）。
【０１７６】
Ｓ６０５の処理と同様に、制御部１１は、ディスパッチ処理数を増減したことにより負荷率が増加したか否かを判定する（Ｓ６０８）。
【０１７７】
制御部１１は、ディスパッチ処理数を変更したことにより、負荷率が増加したと判定する（Ｓ６０８にてＹｅｓ）と、データテーブル２３のディスパッチ処理数の格納領域Ｄ１に新たに設定したディスパッチ処理数を格納する。そして、制御部１１は、新たに設定したディスパッチ処理数をディスパッチ処理数の調整値として設定する。
【０１７８】
制御部１１は、ディスパッチ処理数を変更しても、負荷率が増加しなかったと判定する（Ｓ６０８にてＮｏ）と、ディスパッチ処理数を初期値に戻し、データテーブル２３のディスパッチ処理数の格納領域Ｄ１に初期値のディスパッチ処理数を格納する。そして、制御部１１は、初期のディスパッチ処理数をディスパッチ処理数の調整値として設定する（Ｓ６０９）。
【０１７９】
なお、上記の説明において、初期のディスパッチ処理数は、初期値テーブル２２に格納されていても良い。この場合には、Ｓ６０１において、制御部１１が初期値テーブルからディスパッチ処理数を抽出することにより、送受信タスクのディスパッチを行なう。
【０１８０】
また、上記の説明において、Ｓ６０３〜Ｓ６０５、およびＳ６０７〜Ｓ６０８の処理は、負荷率が増加する限り繰り返しても良い。
【０１８１】
なお、Ｓ６０３、Ｓ６０４、およびＳ６０７のディスパッチ処理数の増減処理において、コネクション数が複数ある場合は、全ての送受信タスクのディスパッチ処理数を同時に増減しても良い。また、図１０のＳ６０１〜Ｓ６０９のディスパッチ処理数の調整処理は、コネクション数が複数ある場合、送受信タスクごとに順番に実行されても良い。
【０１８２】
以上のように、制御部１１は、ディスパッチ処理数を増減させて、負荷率が最大になるディスパッチ処理数を調整後のディスパッチ処理数として設定する。これにより、情報処理装置１００は、最適な負荷率を得られるディスパッチ処理数を設定することができる。上記の説明においては、負荷率が最大となるディスパッチ処理数を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくようにディスパッチ処理数を調整しても良い。
【０１８３】
図１１は、優先度の調整処理の内容を示すフローチャートである。
図１１は、は、図５のＳ２０９のタスクの優先度の調整処理の内容を説明するフローチャートである。
【０１８４】
制御部１１は、データテーブル２３に指定されている記憶領域であるＵ１に、現在の優先度を格納する。なお、制御部１１は、負荷試験開始後の初めの優先度の調整処理では、Ｕ１に初期値テーブル２２の優先度を格納することになる。２回目以降の優先度の調整処理では、前回調整した優先度をＵ１に格納しても良い。
【０１８５】
そして、制御部１１は、データテーブル２３に格納されている負荷率更新フラグをオフにする（Ｓ７０１）。
【０１８６】
次に制御部１１は、Ｕ１に格納されている優先度を一段階上げた値を新たな優先度として設定する（Ｓ７０２）。また、以下の説明においては、Ｕ１、Ｕ２と記載したとき、それぞれタスク優先度用の格納領域Ｕ１、Ｕ２のことを示すことにする。
【０１８７】
そして、制御部１１は、Ｓ７０２で設定した新たな優先度が高いほど、他の処理に優先して、試験部１３で実行されている送受信タスクに論理ＣＰＵの使用時間を割当てる。
【０１８８】
なお、優先度とは、複数のタスクが順番にポートペアに割当てられた論理ＣＰＵを使用して実行されているとき、優先度が高いタスクから順番に論理ＣＰＵの使用権限が割り当てられるようにするパラメータである。したがって、優先度が高いタスクほど、他のタスクに優先して論理ＣＰＵを使用することができ、処理を優先的に進行することができる。
【０１８９】
パケットの送受信が開始されると、監視部１２は、送受信されている送信パケットと受信パケットとの数を測定し、単位時間当たりにＬＡＮケーブルを流れるパケットの数である転送レートを求める。また、ポートペアが有する帯域で転送レートを除算することにより、負荷率を算出する。そして、制御部１１は、監視部１２で算出された負荷率を取得し、優先度を変更したことにより、負荷率が増加したか否かを判定する（Ｓ７０３）。
【０１９０】
制御部１１は、優先度を変更したことにより、負荷率が増加したと判定する（Ｓ７０３にてＹｅｓ）と、データテーブル２３に格納されている負荷率更新フラグをオンにして、新たな優先度をＵ２の格納領域に格納する（Ｓ７０４）。なお、このときＵ２に格納される優先度は、この時点において、優先度調整処理で測定した中で、負荷率が最大となる優先度である。そして、制御部１１は、Ｓ７０２の処理を実行する。
【０１９１】
なお、負荷率更新フラグは、今回の優先度の調整処理において、既に１回以上負荷率が更新されたことを示すフラグである。なお、負荷率更新フラグは、他のパラメータの処理に用いる負荷率更新フラグと同じフラグを使っても良いし、独立して用いるフラグを記憶装置２０５の異なる格納領域にパラメータごとに格納しても良い。
【０１９２】
制御部１１は、優先度を変更しても、負荷率が増加しなかったと判定すると、データテーブル２３に格納されている負荷率更新フラグを参照する（Ｓ７０５）。
【０１９３】
制御部１１は、負荷率更新フラグがオンのとき（Ｓ７０５にてＹｅｓ）、最も負荷率が高くなる優先度がＵ２に格納されている状態なので、優先度の調整値をＵ２に格納されている優先度に設定する（Ｓ７０６）。そして、制御部１１は、タスクの優先度の調整処理を終了する。
【０１９４】
制御部１１は、負荷率更新フラグがオフのとき（Ｓ７０５にてＮｏ）、優先度の調整値をＵ１に格納されている優先度に戻す（Ｓ７０７）。
以下の処理では、優先度を減少させることにより、負荷が増加するか否かを判定する。
【０１９５】
そして、制御部１１は、優先度が減少可能であるか否かを判定する（Ｓ７０８）。具体的には、現在設定されている優先度に最も低い優先度が設定されているか否かを判定し、最も低い優先度が設定されているとき、優先度を減少できないと判定する。図２（ｂ）の初期値テーブル２２に格納されている値を例とすると、優先度１である。
【０１９６】
現在設定されている優先度が最も低い優先度のとき（Ｓ７０８にてＮｏ）、優先度を減少することができないので、優先度の調整値をＵ１に格納されている優先度、すなわち優先度を１に設定する（Ｓ７０９）。そして、制御部１１は、タスクの優先度の調整処理を終了する。
【０１９７】
優先度が１ではないとき、優先度は２以上であるので、制御部１１は優先度を一段階下げた値を新たな優先度として設定する（Ｓ７１０）。
【０１９８】
Ｓ７０５の処理と同様に、制御部１１は、ディスパッチ処理数を増減したことにより負荷率が増加したか否かを判定する（Ｓ７１１）。
【０１９９】
制御部１１は、優先度を下げたことにより、負荷率が増加したと判定する（Ｓ７１１にてＹｅｓ）と、データテーブル２３に格納されている負荷率更新フラグをオンにして、新たな優先度をＵ２の格納領域に格納する（Ｓ７１２）。
【０２００】
そして、制御部１１は、Ｓ７１２でＵ２に格納した優先度が１であるか否かを判定する（Ｓ７１３）。制御部１１は、Ｓ７１３でＵ２に格納した優先度が１ではないとき（Ｓ７１３にてＮｏ）、優先度がさらに減少可能であると判定し、Ｓ７１０の処理を実行する。
【０２０１】
優先度が１のとき（Ｓ７１３にてＹｅｓ）、優先度をさらに減少することができないので、優先度の調整値をＵ２に格納されている優先度、すなわち優先度を１に設定する（Ｓ７１５）。そして、制御部１１は、タスクの優先度の調整処理を終了する。
【０２０２】
Ｓ７１１において、制御部１１は、優先度を変更したことにより、負荷率が増加しなかったと判定する（Ｓ７１１にてＮｏ）と、負荷率更新フラグがオンか否かを判定する（Ｓ７１４）。
【０２０３】
負荷率更新フラグがオンのとき（Ｓ７１４にてＹｅｓ）、制御部１１は、優先度を増減してもこれ以上の負荷率の増加はないと判定し、Ｓ７１５の処理を実行する。そして、制御部１１は、タスクの優先度の調整処理を終了する。
【０２０４】
負荷率更新フラグがオフのとき（Ｓ７１４にてＮｏ）、制御部１１は、優先度を増減しても負荷率の増加がなかったと判定し、Ｕ１に格納されている値を優先度の調整値として設定する（Ｓ７１６）。そして、制御部１１は、タスクの優先度の調整処理を終了する。
【０２０５】
以上のように、制御部１１は、優先度を増減させて、負荷率が最大になる優先度を調整後の優先度（優先度の調整値）として設定する。これにより、情報処理装置１００は、最適な負荷率を得られる優先度を設定することができる。上記の説明においては、負荷率が最大となる優先度を見つけ出すことを一例として示したが、必要な負荷率として決められた負荷率を設定し、決められた負荷率に近づくように優先度を調整しても良い。
【０２０６】
また、実施形態の情報処理装置１００は、監視部で測定した負荷率が決められた負荷率に近づくように、設定を変更すると負荷率が変動する複数のパラメータを、負荷率の増減に対する影響の大きいパラメータから順番に調整する。これにより、情報処理装置１００は、負荷試験におけるパラメータを、負荷率を祖調整から微調整することにより効率よく設定することができる。
【符号の説明】
【０２０７】
１０  試験制御部
１１  制御部
１２  監視部
１３  試験部
２０  記憶部
２１  構成情報テーブル
２２  初期値テーブル
２３  データテーブル
３０  送受信部
３１  送信部
３２  受信部
１００  情報処理装置
２０５  記憶装置
３００  バス
３０１〜３０４  制御回路
３０５  記憶装置
３０６  読取装置
３０７  記録媒体
３０８  表示装置
３０９  入出力インターフェイス
３１０〜３１２  通信インターフェイス
３１３〜３１５  送信装置
３１６〜３１８  受信装置
３１９  スイッチ
３２０  ネットワーク
３３０  制御回路
３４０  通信インターフェイス
【図１】
2014045417.tif 000003
【図２】
2014045417.tif 000004
【図３】
2014045417.tif 000005
【図４】
2014045417.tif 000006
【図５】
2014045417.tif 000007
【図６】
2014045417.tif 000008
【図７】
2014045417.tif 000009
【図８】
2014045417.tif 000010
【図９】
2014045417.tif 000011
【図１０】
2014045417.tif 000012
【図１１】
2014045417.tif 000013
【手続補正書】
【提出日】平成27年3月11日(2015.3.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
パケットを送信する送信部と、
前記パケットを受信する受信部と、
前記送信部から前記受信部に前記パケットを送信しているとき、前記送信部と前記受信部との間の帯域の使用率である負荷率を測定する監視部と、
前記監視部で測定した負荷率が決められた負荷率に近づくように、設定を変更すると前記負荷率を変動させる複数のパラメータを、前記負荷率の増減に対する影響の大きいパラメータから順番に調整する制御部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御部は、
前記パラメータの調整をするとき、前記複数のパラメータの中の一つのパラメータを変更し、
前記一つのパラメータの変更後に、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第１の負荷率を取得し、
前記第１の負荷率の測定の前に、前記送信部を介して前記受信部に前記パケットを送信したとき、前記監視部で測定された第２の負荷率よりも、前記第１の負荷率が決められた負荷率に近づいたか否かを判定し、
前記第１の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第１の負荷率が決められた負荷率に近づいたことを示すとき、さらに前記一つのパラメータを変更し、
前記第１の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第１の負荷率が決められた負荷率に離れたことを示すとき、または前記第１の負荷率が前記第２の負荷率と等しいことを示すとき、前記第２の負荷率を測定したときの設定値を前記一つのパラメータに対する調整値として設定し、前記一つのパラメータの次に前記負荷率の増減に対する影響が大きい一つのパラメータの変更を開始する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記各複数のパラメータの初期値を格納する初期値テーブルを記憶する記憶部を備え、
前記複数のパラメータは、
設定値を変更すると、前記負荷率を変動させるパラメータであり、
前記制御部は、
前記一つのパラメータの変更を開始すると、前記一つのパラメータの設定値を前記初期値に設定し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第３の負荷率を取得し、
前記第３の負荷率を取得した後に、前記設定値を増加し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第４の負荷率を取得し、
前記第３の負荷率よりも、前記第４の負荷率が決められた負荷率に近づいたか否かを判定し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率に近づいたことを示すとき、さらに前記一つのパラメータの設定値を増加して前記第１の負荷率を取得し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率から離れた、または、前記第４の負荷率が前記第３の負荷率と同じことを示すとき、前記一つのパラメータの設定値を前記初期値から減少させて前記第１の負荷率を取得する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記各複数のパラメータの初期値を格納する初期値テーブルを記憶する記憶部を備え、
前記複数のパラメータは、
設定値を変更すると、前記負荷率を変動させるパラメータであり、
前記制御部は、
前記一つのパラメータの変更を開始すると、前記一つのパラメータの設定値を前記初期値に設定し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第３の負荷率を取得し、
前記第３の負荷率を測定した後に、前記一つのパラメータの設定値を前記初期値から減少し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第４の負荷率を取得し、
前記第３の負荷率よりも、前記第４の負荷率が決められた負荷率に近づいたか否かを判定し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率に近づいたことを示すとき、さらに前記一つのパラメータの設定値を減少して前記第１の負荷率を取得し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率から離れた、または、前記第４の負荷率が前記第３の負荷率と同じことを示すとき、前記一つのパラメータの設定値を前記初期値から増加させて前記第１の負荷率を取得する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記制御部は、
前記一つのパラメータの設定値を前記初期値から増減させて前記第１の負荷率を取得したとき、前記初期値を前記第２の負荷率として、該第２の負荷率よりも、前記第１の負荷率が決められた負荷率に近づいたか否かを判定する処理を行なう
ことを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記制御部は、
前記一つのパラメータの設定値を増加して前記第１の負荷率を取得したあと、次の第１の負荷率を取得するとき、前記第１の負荷率を前記第２の負荷率とし、前記一つのパラメータの設定値を増加して前記次の第１の負荷率を取得し、
前記一つのパラメータの設定値を減少して前記第１の負荷率を取得したあと、次の第１の負荷率を取得するとき、前記第１の負荷率を前記第２の負荷率とし、前記一つのパラメータの設定値を減少して前記次の第１の負荷率とする
ことを特徴とする請求項３〜５のいずれか一つに記載の情報処理装置。
【請求項７】
前記制御部は、
前記一つのパラメータの次に前記負荷率の増減に対する影響が大きい一つのパラメータの変更を開始するとき、前記複数のパラメータの全ての調整値が設定されている場合、前記複数のパラメータを調整する制御を終了する
ことを特徴とする請求項２〜６のいずれか一つに記載の情報処理装置。
【請求項８】
前記制御部の指示にしたがって、前記制御部から指定された数であるパケットカウント数のパケットを生成するごとに、前記送信部に前記生成したパケットを出力し、前記送信部から前記受信部に前記生成したパケットを送信させる試験部を備え、
前記複数のパラメータの一つは、前記パケットカウント数であり、
前記制御部は、前記パケットカウント数の調整をするとき、
前記パケットカウント数を前記初期値に設定し、前記監視部で第３の負荷率を取得し、
前記第３の負荷率を測定したあと、前記パケットカウント数を初期値から決められた数だけ増減し、前記監視部で測定された第４の負荷率を取得し、
前記第３の負荷率よりも、前記第４の負荷率が決められた負荷率に近づいたか否かを判定し、
前記第４の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記パケットカウント数を初期値から決められた数だけ増加、および減少したとき、前記第３の負荷率よりも前記第４の負荷率の方が決められた負荷率から離れる、または前記第３の負荷率と前記第４の負荷率とが同じことを示すとき、前記パケットカウント数を増減する決められた数を小さくして、前記第４の負荷率を取得する処理と、前記第３の負荷率よりも前記第４の負荷率が決められた負荷率に近づいたか否かを判定する処理を行い、
前記パケットカウント数を増減する決められた数を変更しても、前記第４の負荷率が前記第３の負荷率と同じことを示すとき、前記パケットカウント数の初期値を前記パケットカウント数の調整値として保存する
ことを特徴とする請求項３〜７のいずれか一つに記載の情報処理装置。
【請求項９】
前記制御部は、
前記第１の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第１の負荷率が決められた負荷率から離れる、または前記第１の負荷率が前記第２の負荷率と等しいことを示すとき、
前記第１の負荷率を取得したときに設定した第１のパケットカウント数と、前記第２の負荷率を取得したときに設定した第２のパケットカウント数との中間値を第５のパケットカウント数に設定し、前記送信部を介して前記受信部に前記パケットを送信して、前記監視部で測定された第５の負荷率を取得し、
前記第５の負荷率を取得すると、前記第５の負荷率が前記第２の負荷率よりも決められた負荷率に近づいたか否かを判定し、
前記第５の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第５の負荷率の方が決められた負荷率に近づいたことを示すとき、前記第５の負荷率を次の第２の負荷率とし、前記第２の負荷率を次の第１の負荷率として、前記第５の負荷率を取得する処理と、前記第５の負荷率が前記第２の負荷率よりも決められた負荷率に近づいたか否かを判定する処理を行い、
前記第５の負荷率が決められた負荷率に近づいたか否かを判定した結果が、前記第２の負荷率よりも前記第５の負荷率が決められた負荷率から離れる、または前記第５の負荷率が前記第２の負荷率と等しいことを示すとき、前記第２の負荷率を測定したときの設定値を調整値として設定する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
情報処理装置のコンピュータが、
パケットを送信する送信部から前記パケットを送信し、
前記パケットを受信する受信部で前記パケットを受信し、
前記送信部から前記受信部に前記パケットを送信しているとき、前記送信部と前記受信部との間の帯域の使用率である負荷率を測定し、
前記測定した負荷率が決められた負荷率に近づくように、設定を変更すると前記負荷率を変動させる複数のパラメータを、前記負荷率の増減に対する影響の大きいパラメータから順番に調整する
ことを特徴とする負荷試験方法。
【国際調査報告】
2014045417.tif 000014
2014045417.tif 000015