Comments
Description
Transcript
認証システム向け負荷テスト方式の提案
情報処理学会第 77 回全国大会 4E-05 認証システム向け負荷テスト方式の提案 白木 宏明† 三菱電機(株) 大松 史生† 情報技術総合研究所† 1.背景と課題 企業内には複数の業務システムが存在している。 業務システムは、社員など企業内ユーザに対し てアクセス制御を行う必要があり、認証機能を 保有している ([1],[2])。この際、各業務システム を利用するごとにユーザが認証操作を行うこと は非効率であることから、一度の認証操作にて 複数の業務システムを利用可能とする統合認証 システム(以降、認証システム)を導入する企 業が増加している。 認証システムは、企業内において共通システム の位置づけにあることと、業務システムを利用 する際に必ず利用されるため、負荷が集中する。 そのため、認証システムを構成するサーバリソ ースの見積もりを行うためには負荷テストは必 須である。負荷テストを実施する際には、リソ ース等の制限により小規模の負荷テスト結果を 基に本番システム向けの負荷を算出していたが、 システムの大規模化・仮想化により、単純な算 出では問題が発見できなくなってきており、本 番システム相当の負荷テストが必要となってい る。 負荷テスト コントローラ テスト実行者 試行を繰返し、 パラメータ調整 負荷制御 負荷テスト エージェント 負荷テスト 負荷テスト エージェント エージェント HTTPリクエスト 認証システム 認証 認証 認証 サーバ サーバ サーバ 設定パラメータ ・仮想ユーザ実行間隔 ・HTTPリクエスト遅延時間 ・実行数(仮想ユーザ数) : 負荷結果参照 負荷結果 業務 業務 業務 業務 システム システム システム システム 図 1 従来の負荷テスト構成 2.2.従来方式の課題 大規模な負荷テストを実施する際には、テス ト環境を占有するため実施期間が限られる。し かし、従来の方式では負荷テスト環境を物理的 に構築する以上に、負荷テストツールのパラメ ータ調整に時間がかかるという課題があった。 2.認証システムにおける負荷テスト 3. 認証システム向け負荷テスト方式の提案 前章の課題を解決する負荷テスト方式として、 2.1.従来の負荷テスト方式 「負荷要件に合わせた負荷テストツールのパラ 従来、認証システムの負荷テストを実施する メータ値の自動的な算出」が必要であり、これ 場合、負荷テストツール([2][3][4]など)を使 を実現するフィードバック式 負荷コントロール 用するケースが通常である。これらの負荷テス システム(図 2)を提案する。 ト ツ ー ル は 、 ク ラ イ ア ン ト アプリケーション 以下に特長を示す。 (例えば、ブラウザ)をエミュレートして、認 ・ 認証システムのアクセスログからモデルを 証サーバに負荷をかけるものである(図 1)。 生成する仕組み:負荷モデル生成機能 この際、システムの負荷テスト要件にあった負 ・ アクセスログから抽出した負荷要件を基に 荷をかけるためには、負荷テストツールのパラ 負荷テストツールのパラメータ値を算出す メータ調整が必要であるが、パラメータ調整に る仕組み:負荷パラメータ算出機能 ついては、テスト実施者の経験と実績から試行 ・ 算出した負荷テストツールのパラメータを を繰り返すことで決定していた。 基に負荷テストツールを実行する仕組み: また、大規模な負荷テストを実施する際には、 負荷テスト実行機能 多数の負荷テストエージェントが必要なため、 ・ 算出した負荷ツールツールのパラメータを 複数の負荷テストコントローラが必要となり、 基に実行した負荷テスト結果であるアクセ さらにコントローラの制御も必要であった。 スログから負荷モデルにフィードバックす る仕組み:負荷モデルフィードバック機能 Proposal of authentication systems for load test method †Hiroaki Shiraki, Fumio Ohmatsu Information Technology R&D Center, Mitsubishi Electric Corporation 3-437 Copyright 2015 Information Processing Society of Japan. All Rights Reserved. 情報処理学会第 77 回全国大会 実際の 認証システム アクセスログ 負荷コントロールシステム アクセスログを元に モデル生成 実負荷モデル 作成機能 フィードバック 負荷モデルDB 負荷モデル フィードバック機能 負荷テストの アクセスログを フィードバックし モデル修正 フィードバック 調整ポリシー 負荷モデルDB 負荷パラメータ 算出機能 4. 負荷コントロールシステム適用結果 前章の負荷コントロールシステムを従来方式 に適用したものが図 3となる。 ・HTTPリクエスト数 ・IPアドレス数 ・ユーザ数 負荷要件 ・コントローラ情報 ・エージェント情報 負荷テストツール情報 実際の 認証システム アクセスログ パラメータ情報 負荷パラメータDB アクセスログを元に モデル生成 パラメータ情報 パラメータ情報 負荷コントロールシステムで 算出したパラメータを負荷ツールに入力 負荷テストツール 負荷テスト試行時 認証システム アクセスログ 負荷コントロールシステム 負荷テストの アクセスログを フィードバックし モデル修正 負荷テスト 実行機能 負荷テストツール 負荷コントローラ 負荷をかける 負荷テスト エージェント 認証システム 図 2 負荷コントロールシステムの構成 負荷テスト試行時 認証システム アクセスログ 本方式における負荷テストツールのパラメー タ算出の流れを以下に示す。 ① 負荷テストで再現したいケースの実際の認 証システムのアクセスログを取得し、負荷 モデル作成機能が負荷モデルを作成(実負 荷モデルと呼ぶ) ② 作成した負荷モデル、負荷要件、負荷テス トツール情報を基に負荷パラメータ算出機 能が負荷パラメータを算出 ③ 算出された負荷パラメータを基に、負荷テ スト実行機能が負荷テストツールを実行し、 認証システムに負荷をかける(試行) ④ 負荷テスト試行時のアクセスログを基に、 負荷モデルを作成 ①の実負荷モデルと④の負荷モデルとが一致 すれば、パラメータ値が正しいことは明確であ るが、モデルが複雑であれば一致する可能性は 低いと考えられる。パラメータ値を収束させる ためには複数回の試行が必要となる。 初回の試行により生成した負荷モデルに対し て、補正を加えた負荷モデル(フィードバック 負荷モデル)を作成する。負荷モデルを補正す るためのポリシーをフィードバックポリシーと して定義し、それに従ってフィードバック後の 負荷モデルを調整する。負荷テストの試行、負 荷モデル生成と補正を繰り返すことでパラメー タ値を決定する。本方式の流れを以下に示す。 1) 負荷テスト結果からフィードバック負荷モ デルを作成 2) 前回のフィードバック負荷モデルと突合せ、 差異とポリシーに従って負荷モデルを修正。 3) 修正したモデルによりパラメータを再算出 し、負荷テストを実施 1)~3)を負荷モデルの差が一定値内に収まる まで実施することで負荷テストツールのパラメ ータを決定する。 負荷テスト 負荷テスト エージェント エージェント 認証システム 認証 認証 認証 サーバ サーバ サーバ 業務システム 業務システム 業務システム 図 3 負荷コントロールシステム適用構成 この方式により、負荷要件に適したパラメー タを短時間で自動算出することが可能になると ともに、負荷テストの結果をフィードバックす ることにより、より最適なパラメータ値を算出 することが実施可能なる。結果、負荷テスト時 間の短縮が可能となり、一例ではあるが、端末 数 4 万台、HTTP リクエスト数 5000HTTP リクエス ト/秒のモデルに対して、従来は約 2 日必要だっ たものを約半日に短縮可能であることを机上に て算出した。 4.まとめ 本方式では、複数の負荷コントローラサーバ を制御することできめ細かな負荷テストを実施 可能であること、モデル定義の追加によりさま ざまな負荷テストへの対応が可能(ピークモデ ル 、 現 実 モ デ ル : 週 初 、 週 末、月初、月末な ど)であるという効果が得られる。 本稿では、現実システムのログから負荷テス トツールのパラメータを自動的に算出する方式 を提案した。ピークモデルに対しては、本方式 が有効であることが確認できている。今後は、 さまざま負荷モデルに対して、正しくパラメー タ値が算出可能であることを示す予定である。 [参考文献] [1] 富士キメラ総研, 2014 ネットワークセキュリティビ ジネス調査総覧(上巻), 2014. [2] IPA, 情報セキュリティ白書 2014, 2014 [3] IBM 社 Rational Performance Tester [4] HP 社 LoadRunner [5] オープンソース Jakarta JMeter 3-438 Copyright 2015 Information Processing Society of Japan. All Rights Reserved.