IVP Internet Value Provider IVP Co. Ltd.IVP Internet Value Provider IVP Co. Ltd.

  • タイトル

パフォーマンス診断 (自社製品ERS_V6.5) 第2回 負荷試験の有効性

 | 

前回の続きで負荷試験の有効性を説明していきます。

・読み込み遅延による試験と実サイトの乖離を防ぐ手段テスト環境でも例えばトップページの読み込みに時間がかかっても許されますが、実サイトでは読み込み遅延はあまりいいものではありません。
ですので、3000ms (3秒) 以上かかった読み込みはNGとします。

これによりある程度、読み込みに時間がかかり過ぎているアクセスを排除して結果を担保します。

Jmeter で測定する際、 スレッド数を3000ms以下になるように抑えてテストします。
また、IISのログでも読み込みにどの位時間がかかったか担保できます。
ですので、今回の場合例えばページの読み込みが1秒以内など、もっとよいレスポンスを想定するサイトの場合は今回の結果は想定されません。

Jmeter

手作業の部分が多く、もっとよい方法がありそうなのでここは今後の改善点と言えそうです。
・サーバー性能の違いによるテストと本番による結果の乖離を防ぐ手段

これは本番にも使用されるサーバーを使用することにより乖離しないようにできます。
本番環境でも使用されている下記のサーバーを使用することにより担保します。
今回はスペックの良い方を使用しています。
ハイスペック型:CPU:Xeon 3.5GHz メモリ:DDR3-1333 16GB

ですので、仮想環境やスタンダード型のサーバーを使用すると今回のデーターは使用できませんが
ハイスペック型であれば参考にできます。
スタンダード、ハイスペックというのは社内の言い方であって社外では通じません。
スタンダードとハイスペックでCPUが変わります。またメモリの最大搭載量が変わります。

・ツールによるアクセス方法と実サイトによるアクセス方法の違いによる結果の乖離

これはツールは直接 GETメソッドや POSTメソッドでピンポイントでアクセスできるのに対し
現実はブラウザでアクセスすることになるための発生する乖離です。

これを防止するため、Jmeter でシナリオ化すべきところはシナリオ化してテストをします。
JmeterにはJmeter のプロキシサーバーを使用すると自動でシナリオ化してくれるので、その機能を使用することにより乖離を防ぎます。
このシナリオ化が簡単にできる点もJmeterで負荷試験をしている理由の一つになります。

○Jmeter でのシナリオ化
ブラウザの操作内容を記録する
ワークベンチを右クリック>追加>Non-Testエレメント>HTTPプロキシサーバ

Jmeter

ブラウザの操作内容を記録開始

Jmeter

開始ボタンを押す

この状態で上記プロキシを経由してブラウザでサイトを閲覧すると自動でシナリオが作成されます。

○ブラウザ側でJmeterをプロキシとして設定する
IEやFireFoxでプロキシ設定をします。

インターネット接続

○一例として商品検索の場合のシナリオ作成を下記に記載します。

ブラウザ側での操作
ERSのトップページにアクセスする

ers画面
詳細検索はコチラ ボタンを押します

ers画面
条件入力後に、「検索する」ボタンを押す。
ers画面
上記のような手段でシナリオ化をしているので、大体のユーザーに対しては大丈夫だと考えられますが
シナリオの想定外の動きを沢山されると結果が乖離すると考えられます。
ここで攻撃に近いようなツールを使用されたりすると当然乖離が発生しますがイレギュラーな対応となるため、
今回は考慮しません。