Skip to main content link. Accesskey S
  • Help
  • HCL Logo
  • HCL Notes and Domino Application Development wiki
  • THIS WIKI IS READ-ONLY. Individual names altered for privacy purposes.
  • HCL Forums and Blogs
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • API Documentation
Search
Community Articles > 日本語 - Japanese > JMeterを使ってXPagesアプリケーションのパフォーマンステストを行う際の考慮点
  • Share Show Menu▼
  • Subscribe Show Menu▼

Recent articles by this author

9.0.1のディスカッションテンプレートをタブレットから表示する

9.0.1のディスカッションテンプレートをタブレットから表示する IBM Domino 9.0.1のディスカッションテンプレートは、タブレットから表示すると本文の箇所が非常に狭い見た目になってしまいます。 これを改善する方法に

JMeterを使ってXPagesアプリケーションのパフォーマンステストを行う際の考慮点

JMeterを使ってXPagesアプリケーションのパフォーマンスを計測する手法について解説します

XPages Extension Library treeNodesプロパティの解説

この記事ではXPages Extension Libraryで良く使われるtreeNodesプロパティについて解説します

タイプアヘッド(先行入力)プロパティを紹介します。

タイプアヘッド(先行入力)プロパティについて説明します。

XPages コントロールの紹介: 「ボタン」 コントロール

ボタンコントロールを紹介します。
Community articleJMeterを使ってXPagesアプリケーションのパフォーマンステストを行う際の考慮点
Added by ~Dexter Zekjumisterynds | Edited by ~Justin Elwemarynds on August 14, 2014 | Version 15
  • Actions Show Menu▼
expanded Abstract
collapsed Abstract
JMeterを使ってXPagesアプリケーションのパフォーマンスを計測する手法について解説します
Tags: XPages, JMeter, Performance, パフォーマンス, 負荷テスト
ShowTable of Contents
HideTable of Contents
  • 1 JMeterを使ってXPagesアプリケーションのパフォーマンスを計測する
  • 2 JMeter概要
    • 2.1 参考.JMeterと他のツールの比較
  • 3 XPagesアプリケーションに対してJMeterを使用してテストする場合の考慮点
  • 4 セッションIDを次のリクエストに引き継ぐ
  • 5 1つのページに継続して要求を行う場合には、viewのidを引き継ぐ
  • 6 JMeterで、viewのidを引き継いでリクエストを行う
  • 7 サンプル
  • 8 参考.サーバーページとは

JMeterを使ってXPagesアプリケーションのパフォーマンスを計測する


XPagesアプリケーションの負荷テストを実施する場合、Server.load(Lotus Domino 標準の負荷テストツール)ではGET要求しか行えないため、シナリオによっては十分なテストが行えない場合があります。当記事では、オープンソースのJMeterを使って、XPagesアプリケーションのパフォーマンス測定を行う際の考慮点について解説します。


JMeter概要


JMeterの特徴をは下記です。
・100%Javaの汎用テストツール
・HTTPプロキシを利用して、ブラウザ操作をキャプチャし、テストシナリオとして記録
・複数のスレッドを同時に起動して多重度による負荷をかけることが可能

JMeterの詳細は下記をご覧ください。
-JMeterの概要を短時間で理解するにはこちら。
今から3分で jmeter の使い方を身に付ける  (負荷テスト入門)external link
-JMeterの詳細な使い方は下記参照。
JMeter を用いた Lotus Domino Web アプリケーションのパフォーマンス計測external link
-公式サイト
Apache JMeter™external link


参考.JMeterと他のツールの比較


参考として、JMeterと他のパフォーマンスツールの機能の比較表を以下に示します。
  Apache JMeter Server.load Rational Performance Tester
リクエストのサポート ○
GET/POST両方可能
×
GETのみ
○
GET/POST両方可能
テストシナリオの作成・保存 △
プロキシでユーザー操作をトレース
(データ相関は手動で関連付ける、後述)
×
すべて手動で作成
○
プロキシでユーザー操作をトレース、データ相関を自動分析
仮想ユーザーの設定 ○
複数ユーザー可能
△
固定ユーザーのみ
○
複数ユーザー可能
テスト結果の分析補助 △
簡易なグラフの作成のみ
×
グラフ作成は自作
○
各種グラフの作成可能

XPagesアプリケーションに対してJMeterを使用してテストする場合の考慮点


以下、2点について対応する必要があります。
・セッションIDを次のリクエストに引き継ぐ
・1つのページに継続して要求を行う場合、viewのidを引継ぐ

セッションIDを次のリクエストに引き継ぐ


XPagesアプリケーションは、クラシックWebと異なりステートフルな対話をクライアントと行うため、リクエストはセッションIDを引き引き継いで行う必要があります。
JMeterでセッションIDを引き継ぐためには、テスト計画に、「HTTPクッキーマネージャ」を追加します。

 ※「追加」-「設定エレメント」-「HTTPクッキーマネージャ」

1つのページに継続して要求を行う場合には、viewのidを引き継ぐ


viewとは,サーバーページ(最後の項目参照)全体を表すJSFのviewオブジェクトを指しています(Lotus Notes/Domino の文書の一覧を表示する”ビュー”とは別物であることに注意)。
XPagesから出力されたWebページには、form下部に必ずname属性が$$viewidという要素があります。そのvalueとしてviewのidが格納されています(下図では「d8x96mu6jm」)。



XPagesでは、このviewのidをもとに,表示されているWebページとサーバーページが紐付けられているため,XPagesではPOST要求や部分更新を行うGET要求において,このidを引き継いで要求を行う必要があります(初めてページにアクセスする場合には必要ありません)。
具体的には、以下のような場合に必要になります。
 -ボタンの実行(新規作成、保存、削除など)
 -タイプアヘッド(部分更新をGET要求で行います)
 -ビューのページャーのクリック
 -ビューのカテゴリの展開省略
 など

JMeterで、viewのidを引き継いでリクエストを行う


JMeterで、レスポンスに含まれている値の引継ぎは「正規表現抽出」から行えます。
設定方法を以下に示します。
1.Post/Getを行う前のリクエスト側の設定
Post/Getを行う前のリクエスト(応答レスポンスに"view:_id1__VUID"が含まれてるリクエスト)に、「追加」-「後処理」-「正規表現抽出」を追加します。
追加した「正規表現抽出」に下記の設定を行います。
-参照名:任意
-正規表現:id="view:_id1__VUID" value="(.*?)"
-テンプレート:$0$
-一致番号:-1

2.Post/Getを行う側の設定
下記のように値を設定します。
$$viewid :${1の参照名_1_g1} (詳細後述)


※ ここで $$viewid に指定する変数名は、後述の Debug Sampler で表示される「結果をツリーで表示」で表示される参照名と一致させてください。ここで紹介した例では「参照名_1_g1」ですが、「参照名_g1」となることがあります。参照名が異なると、ビュー ID が正しく送信されません。

上記の値はたとえば下記手順で確認できます。
ⅰテスト計画」に「Debug Sampler」を追加

「テスト計画」の「スレッドグループ」を右クリックして「追加」→「サンプラー」→「Debug Sampler」をクリックします。

ⅱ.リスナーに「結果をツリーで表示」を追加

同様にして「スレッドグループ」を右クリックして「追加」→「リスナー」-「結果をツリーで表示」をクリックします。

ⅲ.テスト実行

実行後に、「結果をツリーで表示」を選択して「Debug Sampler」を開きます。「応答データ」タブに取得されたビュー ID が表示されます。この例では指定した参照名に _1_g1 が付加されていますが、これは変わることがあるので注意してください。



 
 参考.JMeterの正規表現抽出
http://ramblog.blog129.fc2.com/blog-entry-19.html

サンプル


JMeterDiscussion(Jmeterdi.nsf)に文書を作成する、または更新するテスト計画のサンプルを添付します。
実行するためには、下記を行う必要があります。
1.サーバー直下に「Jmeterdi.nsf」を作成する
2.1のDBのACLの「Anonymous」のエントリを、編集者に変更する
3.JMeterで添付のテスト計画を開き、下記を変更する

「HTTPリクエスト初期値設定」・・・「サーバー名またはIP」
「ユーザーパラメータ」・・・「docId」に更新する文書のUNID、「docNoteId」・・・更新する文書のNoteId。

(See attached file: XPages20130121.zip)

参考.サーバーページとは


XPagesでは、各コントロールをJavaのオブジェクトとして束ねたツリー構造(コンポーネント・ツリー)でページを管理しています。このページをサーバーページと呼んでいます。XPagesでは、このオブジェクトに入力された値などが保持され、個々のオブジェクトをHTMLに変換することでWebページを出力しています。
サーバーページは、メモリまたはディスクに保存されます(デザイナーの「アプリケーションのプロパティ」-「XPages」タブ-「パフォーマンス」-「サーバーページの保持」)。



ディスクに保存される場合(8.5.3デフォルト)、下記のパスに保存されます。拡張子は".ser"


Windows:(ドライブ)\Windows:\Temp\notesXXXXX(英数5桁)\xspstate\
AIX:(Dataフォルダ)/xspstate/

詳細は XPages Portable Command Guideexternal link を参照ください。


  • Actions Show Menu▼


expanded Attachments (1)
collapsed Attachments (1)
Edit the article to add or modify attachments.
File TypeSizeFile NameCreated OnDelete file
application/x-zip 4 KB XPages20130121.zip 1/21/13, 12:54 PM
expanded Versions (15)
collapsed Versions (15)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (15)Aug 14, 2014, 12:14:47 PM~Justin Elwemarynds  
14Jul 16, 2014, 10:15:59 AM~Rebecca Minfreevitchobu  
13Jan 21, 2013, 1:19:15 PM~Judy Desluskiader  
11Jan 21, 2013, 1:12:51 PM~Judy Desluskiader  
10Jan 21, 2013, 1:09:28 PM~Judy Desluskiader  
9Jan 21, 2013, 12:57:34 PM~Judy Desluskiader  
8Jan 21, 2013, 12:26:55 PM~Judy Desluskiader  
7Jan 21, 2013, 12:03:57 PM~Judy Desluskiader  
1Jan 21, 2013, 9:53:59 AM~Judy Desluskiader  
0Jan 21, 2013, 10:47:53 AM~Judy Desluskiader  
0Jan 21, 2013, 10:55:00 AM~Judy Desluskiader  
0Jan 21, 2013, 10:40:37 AM~Judy Desluskiader  
0Jan 21, 2013, 10:39:41 AM~Judy Desluskiader  
0Jan 21, 2013, 10:50:14 AM~Judy Desluskiader  
0Jan 21, 2013, 10:55:25 AM~Judy Desluskiader  
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedAbout
  • HCL Software
  • HCL Digital Solutions community
  • HCL Software support
  • BlogsDigital Solutions blog
  • Community LinkHCL Software forums and blogs
  • About HCL
  • Privacy
  • Accessibility