「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Apache Jmeter]]

* 目次 [#o95035a9]
#contents

*概要 [#ecd5edb4]
-各種の[[設定>#u143e4d3]]方法と負荷テストの実施[[手順>#af7a6971]]についてまとめる。
-必要に応じて、[[スクリプト修正>#d6fa2a67]]を行う。

*設定 [#u143e4d3]

**HTTPリクエスト [#v288a329]
HTTPリクエストのサンプラーを使用する。
HTTPリクエストの[[サンプラーを追加>Jmeter用語#q4e53b30]]して使用する。

***プロパティ [#w88f5be9]
以下のプロパティを設定。

-名前~
HTTPリクエストの名前(ID?)。

-コメント~
HTTPリクエストのコメント。

-Webサーバ
--サーバ名またはIP~
テストするサーバ名またはIPアドレス(http:// は書くとエラーになるので注意)
--ポート~
http なら 80、https なら 443など。

-プロトコル~
HTTP(既定値)/HTTPS/FILEのいずれか。

-メソッド~
GET(既定値), POST, HEAD, TRACE, OPTIONS, PUT, DELETE, PATCH

-パス
--/ から始まる(サーバ名またはIPアドレスを除いた)パス
--パスはURLエンコードされないので注意(URLエンコードされたものを指定)。
--クエリ・ストリングを付加したい場合は 後述の「リクエストで送るパラメータ」に記載。
--フルパスの場合、サーバ名またはIP、ポート、プロトコル、クエリ・ストリングは無視される。

-Timeouts(millisecond)
--Connect~
接続タイマー
--Response~
応答タイマー。

-HTTPリクエスト
--Implementation
---Java, HttpClient3.1, HttpClient4(既定値).
---既定値は Jmeter の jmeter.httpsampler プロパティの値にも依存。

--Content encoding
---(POST, PUT, PATCH, FILE に対して)使われるContent encoding。
---HTTP の Content-Encoding ヘッダには影響しない。

--KeepAliveを有効にする
---Jmeter に Connection: keep-alive ヘッダをセットさせる。
---Apache HttpComponents の HttpClient 実装であれば正しく動作する。

--multipart/form-data
---Use multipart/form-data for POST~
multipart/form-data もしくは application/x-www-form-urlencoded を使った POST リクエストを使用。
---Browser-compatible headers~
multipart/form-data を使う際、Content-Type および Content-Transfer-Encoding ヘッダを使わず、Content-Disposition ヘッダだけを送る。

--リクエストで送るパラメータ~
クエリ・ストリングとして送るパラメータを指定する。

--リクエストと一緒に送信されるファイル~
アップロードするファイルを指定する。

--Redirect
---[[自動リダイレクト>#b81b0604]]
---[[リダイレクトに対応>#qa3e7d60]]

-Proxy Server
--サーバ名またはIP
--ポート番号
--ユーザー名
--パスワード

-Embedded Resources from HTML Files(画像, JavaScript, CSS等)
--全てのイメージとアプレットを繰り返しダウンロードする(HTMLファイルのみ)~
HTML ファイルをパースし、埋め込みリソースをGET。
--Use concurrent pool.~
同時並行コネクションプールを使う。
--Size:~
同時並行コネクションプールのサイズ
--URLs must match~
GETする埋め込みリソースのURLとしてマッチさせたいものを正規表現で指定。

-Source address(HTTPClient 実装における HTTP リクエストのみ)
--ソースアドレスの型~
ソースアドレスの値を区別するために型を選択する。
--ソースアドレスの値~
・・・

-オプションタスク
--モニタとして使用~
モニタ結果リスナーで使用する。
--Save response as MD5 Hash?
---応答が結果に格納されなくなる。
---代わりに、32 文字の MD5 ハッシュが格納される。

***HTTPリクエスト初期値設定 [#w1b1fffd]
-[[設定できる項目はHTTPリクエストと同じ>#w88f5be9]]。
-この画面で[[HTTPリクエストの共通パラメタ>#w88f5be9]]を設定できる。
-テスト環境でスクリプトを作成して、本番環境に負荷をかける場合などに有用。

-[[「設定エレメント」の「HTTPリクエスト初期値設定」>Jmeter用語#z1e392de]]を追加する。

**認証設定 [#x82cfa0e]
-以下の認証がある場合、
--Basic
--Digest
--NTLM
--Kerberos

-[[「設定エレメント」の「HTTP認証マネージャ」>Jmeter用語#z1e392de]]を追加する。

***以下の項目に設定を行う。 [#qc9397c8]
-基底URL
-ユーザー名
-パスワード
-Mechanism

***Mechanism=KERBEROSの場合、 [#n63cf6ac]
追加で、以下の設定が必要。

-system.properties
--java.security.krb5.conf
--java.security.auth.login.config

-*.conf
--krb5.conf(Kerberos 構成ファイル)
--jaas.conf(JAASログイン構成ファイル)

-参考
--IBM Knowledge Center - 構成ファイルとポリシー・ファイル~
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_72/rzaha/rzahajgssconfigs.htm

**その他の設定 [#hcd8c939]
***Cookieの有効化 [#y2dda4a3]
[[「設定エレメント」の「HTTP クッキーマネージャ」>Jmeter用語#z1e392de]]を追加する。

***Cacheの有効化 [#i8414f68]
[[「設定エレメント」の「HTTP Cache Manager」>Jmeter用語#z1e392de]]を追加する。

***プロキシ設定 [#edd4e9fd]
自身がプロキシとして動作するが、~
更に、プロキシを経由させる場合、起動オプションでプロキシ設定を行う。

-Apache JMeter - User's Manual: Getting Started~
> 1. Getting Started > 1.4 Running JMeter~
http://jmeter.apache.org/usermanual/get-started.html#proxy_server
 jmeter -H my.proxy.server -P 8000 -u username -a password

jmeterWithProxy.bat的なbatファイルを準備しておくと吉。~
なお、この時、jmeter.batへのパスを、フルパスで記述しておくこと。

*手順 [#af7a6971]
**Jmeterの起動 [#ga2d7236]
以下に注意して、jmeter.batを起動する。

***Java関係のパラメタ設定 [#l52838b5]
必要に応じて、jmeter.batに、~
[[Java関係のパラメタ設定>Jmeterのインストール#c980883f]]を行う。

***管理者実行 [#pe450ead]
管理者実行する。

***プロキシ設定 [#na76e4a3]
必要に応じて、jmeter.batに、~
[[プロキシ設定>#edd4e9fd]]のコマンドライン引数を指定する。

**初期設定 [#h4c1274c]

***スレッドグループの追加 [#d666189d]
テスト計画に、スレッドグループを追加。
[[テスト計画に、スレッドグループを追加>Jmeter用語#rd4bf7fa]]。

***[[HTTPリクエスト初期値設定>#w1b1fffd]] [#qf6c402e]
最低限、Webサーバ(サーバ名またはIP、ポート)項目の設定を行っておく。
-ここでは、スレッドグループ以下に当該「設定エレメント」を追加する。
-最低限、Webサーバ(サーバ名またはIP、ポート)項目の設定を行っておく。

***[[Cookieの有効化>#y2dda4a3]] [#y3851871]
大概のWebアプリには、以下が使用されているので。
-Session Cookie
-Cookie認証Ticket
-大概のWebアプリには、以下が使用されているので追加しておく。
--Session Cookie
--Cookie認証Ticket

-なお、ここでは、スレッドグループ以下に当該「設定エレメント」を追加する。

***[[Cacheの有効化>#i8414f68]] [#w5dbee82]
-大概のWebサイトは静的コンテンツをキャシュ可能にしているので追加しておく。
-なお、ここでは、スレッドグループ以下に当該「設定エレメント」を追加する。

**ワークベンチ設定 [#bf5c39d9]

***保存の設定 [#j66d5736]
Save Workbench チェック・ボックスをチェックにする。
ワークベンチのSave Workbench チェック・ボックスをチェックにする。

***[[HTTPプロキシサーバ(Test Script Recorder)>Jmeter用語#e9c7b928]] [#w59b7fe9]
-追加~
負荷テストのワークロード(電文)のキャプチャを行うので、~
ワークベンチに、Jmeterの「[[HTTPプロキシサーバ(Test Script Recorder)>Jmeter用語#e9c7b928]]」機能を追加する。

-設定
--ポート番号は既定で「8888」になっているので、必要に応じて変更する。

--Request Filteringタブ
---「挿入するパターン」に記録対象となるURLを正規表現で追加する。
---例えば、ホスト名は".*//local.com:80/.*"、拡張子は".*\.html"などと指定する。

--Test Plan Creationタブ > Test plan contents
---記録先を指定するため、~
[対象となるコントローラー]ドロップダウンリストから「テスト計画 > スレッドグループ名」を選択する。
---また、ページ単位でリクエストをまとめて記録するようにするため、~
(Simple Controller以下に、[[HTTPリクエストのサンプラー>#v288a329]]が並ぶようになる)~
[グループにする]ドロップダウンリストから「新規コントローラーへ各グループを置く」を選択する。

--リスナーの追加
---プロキシサーバー機能が記録したワークロードを確認するためにリスナーを追加する。
---HTTPプロキシサーバ(Test Script Recorder)に、[[「結果をツリーで表示」リスナー>Jmeter用語#h6cb67cf]]を追加する。

-開始
--設定画面中にある開始ボタン ( [▶] ) を押下する。
--HTTPプロキシサーバ(Test Script Recorder)が開始したかどうかは「netstat -a」で確認できる。

**Webアプリの電文を記録 [#fb53f302]
***ブラウザの設定 [#h21bcbcd]
-プロキシ設定で[[Jmeterプロキシ>#w59b7fe9]]を設定する。

-閲覧履歴(キャッシュ)を削除しておく。

-その他、必要に応じて、各種ブラウザ設定を~
サイトユーザのメジャー設定に合わせて変更しておく。

***[[HTTPプロキシサーバ(Test Script Recorder)>#w59b7fe9]]の開始 [#q4e8e3d3]
[[HTTPプロキシサーバ(Test Script Recorder)>#w59b7fe9]]を開始しておく。

***ブラウザを操作してワークロードを記録 [#obe10219]
ブラウザを操作してワークロードを記録する。

**スクリプト修正やテストデータの設定 [#y811a01c]

**Webアプリの負荷テスト [#a9dd06f7]

*スクリプト修正 [#d6fa2a67]
**可変値の追跡 [#ue27be32]

**テストデータの組込 [#a78bc4a1]

**クライアントのCookie操作 [#k1b5278d]
BeanShell PreProcessorにCookie操作の処理を記述する。

*注意事項 [#gc15e292]

**HTTPS対応 [#kf3ada0f]
キャプチャの際、ブラウザに[[Jmeterプロキシ>#w59b7fe9]]の[[証明書]]をインストールする。

-HTTSを使用する場合、[[Jmeterプロキシ>#w59b7fe9]]の[[証明書]]を、~
クライアント端末の「信頼されたルート証明機関」にインストールする。

-[[Jmeterプロキシ>#w59b7fe9]]の[[証明書]]は、「HTTPプロキシサーバ(Test Script Recorder)」の開始後に、~
「Jmeterを解凍したフォルダ\bin\」以下に生成される。

**リダイレクト [#i51d7622]

***自動リダイレクト [#b81b0604]
-利用中の http プロトコルハンドラがリダイレクトに自動追従するようにする。
-自動リダイレクトの応答は、Jmeterのサンプルとして追加されない。 

※ 自動追従したリクエストにはクッキーが送信されないので注意。

***リダイレクトに対応 [#qa3e7d60]
-「[[自動リダイレクト>#b81b0604]]」が無効の場合、~
応答がリダイレクトかどうかを チェックし、そうであればそれに従う。

-この場合のリダイレクトの応答は、Jmeterのサンプルとして追加される。

*参考 [#c667a15a]

----
Tags: [[:テスト]], [[:ツール類]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS