SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
a n    I n t r o d u c t i o n    t o    J M e t e r

JMeter 入門
@tikemin

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

突然ですが
■こんなケースありませんか?
○

Webページがどの程度のアクセス(負荷)に耐えられる
のか知りたい(または、どの程度性能か)

• ユーザ数
• 単位時間
• 連続アクセス数
13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

負荷テスト
■どうやって?
○

ブラウザ大量に開いて5F連打(゜ロ゜!!)
→指が疲れる

○

大量の人を、日本全国にちりばめて一斉アクセス
→コストがかかる(人、お金、場所etc.)

■どちらも、再現性がない

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

負荷テストツール
■JMeter(GUI/Free)→今日はコレ
■OpenSTA(GUI/Free)
■Load Impact(GUI/Shareware)
■curl-loader(CUI/Free)
■ab(CUI/Free)

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

JMeterとは??
■Java製のアプリケーション(OSS)
■もともとはWeb用の負荷テストツール
■HTTP/HTTPS/SOAP/FTP
■JDBC/LDAP/Mailなどのテストも可能

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

JMeterとは?

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

JMeterとは?
■テスト計画:1つのテストの内容
■シナリオ:スレッドグループ(詳細は後述)
■サンプラー:スレッドグループ内の1つのリクエ
スト(または、アクセス)

テスト計画(1):シナリオ(n):サンプラー(m)
13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習
■では実際に手をうごかしてみましょう
まずは、JMeterを起動してください
■ダウンロードは公式サイトから
http://jmeter.apache.org/usermanual/best-pract

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

JMeterの画面

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

JMeterとは?
■テスト計画:1つのテストの内容
■シナリオ:スレッドグループ(詳細は後述)
■サンプラー:スレッドグループ内の1つのリクエ
スト(または、アクセス)

それぞれを作成します
13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

Hello JMeter
■スレッドグループを追加する

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

Hello JMeter
■サンプラーを追加

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

Hello JMeter
■リスナー追加

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習1
■JMeterを使って1から10ページ目までのアク
セスにかかる時間を計測してみましょう!
(※制限時間10分)
下のボタンで実行

■対象サイト
○

13年12月26日木曜日

Google, Yahoo, 自分のサイト etc.
a n    I n t r o d u c t i o n    t o    J M e t e r

演習1 解説
■結果についての解説
○

Sampler Result
Load time(ms)?
Latency(ms)?

○
○

13年12月26日木曜日

リクエスト
応答データ
a n    I n t r o d u c t i o n    t o    J M e t e r

LoadTime/Latency

13年12月26日木曜日

Latency

Load time

Client

Server
request

response
a n    I n t r o d u c t i o n    t o    J M e t e r

マルチスレッド
■Webシステムは基本的にマルチスレッド
○

○

13年12月26日木曜日

JMeterでもマルチスレッド(多重)でリクエストを投げ
る事が可能
スレッドグループの変更をする
a n    I n t r o d u c t i o n    t o    J M e t e r

演習2
■演習1で作成したシナリオをマルチスレッドで実
行してみましょう。
(※制限時間5分)

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習2 解説
■スレッド数→ユーザ数
■Ramp-Up期間(秒)→単位時間
■ループ回数→アクセス数

実際の環境に近い負荷テストが実行可能
13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

JMeterのマルチスレッド
■数百単位のスレッドをWindowsで動かすときに
は注意が必要
→出口(ポート)の最大数がレジストリで制限され
てしまっている
→そのためポートの最大数以上の負荷をかける事
ができない
(参考)http://d.hatena.ne.jp/oreflow/20070906
13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習3-1
■次のプログラムのバグを発見してください
○

ソースコードは以下からダウンロード
https://github.com/tikemin/Jmeterstudy

○

eclipseを起動してプロジェクトをデプロイ

○

その後、「localhost:8080/JMeterTest/sample01」へJMeter
でアクセスして問題点を見つけてください

(※制限時間15分)
13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習3-1 解説
■スレッドの安全性
○

A
B

アクセス数を表示するプログラム
1+1→2

値→1

値→1

値→2

1+1→2

値→2

この時点ではまだ値が書き込まれていない
13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習3-2
■演習3のプログラムの問題点を改善してくださ
い。(※制限時間5分)

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習3-2 解説
■プログラムの先頭にSynchronizedをつける
1 protected synchronized void doGet(HttpServletRequest
request, HttpServletResponse response) throws
ServletException, IOException {
2
PrintWriter out = response.getWriter();
3
out.println( ++userCount + "(Number of User)");
4 }
5
別のやり方もある
13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習3-2 解説
■プログラムの先頭にSynchronizedをつける

A

値→1

1+1→2

値→2

B

値→2
読み込みと書き込みを同期化

13年12月26日木曜日

2+1→3

値→3
a n    I n t r o d u c t i o n    t o    J M e t e r

ファイル読み込み
■JMeterでは、外部(CSVファイルやXML)を読
み込んでリクエストパラメータにする事が可能で
す
■リクエストパターンが大量にある場合はcsvファ
イル を利用したデータセットを作成することで
メモリなどのリソースを削減できます

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

ファイル読み込み
■スレッドグループに以下を追加します

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

ファイル読み込み
■読み込むCSVの情報を設定します

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

ファイル読み込み
■HTTPリクエストのパラメータとして使用
○

13年12月26日木曜日

${<変数名>}とすることでパラメータとして利用可能
a n    I n t r o d u c t i o n    t o    J M e t e r

演習4
■次は、ダウンロードしたファイル
(sample03.csv)をリクエストパラメータにす
るように改良してみてください。
(※制限時間10分)

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習4 解説
■(簡単なので省略)

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

ファイル書き込み
■JMeterでは、リクエストに対するレスポンス結
果をファイル出力する事ができます

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

ファイル書き込み
■ファイル書き込み時の設定一覧

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

ファイル書き込み
■ファイル書き込み時の設定一覧

(参考)http://sy5.sakura.ne.jp/jmeter/ref/listener/saveresponsestoafile.html
13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習5
■演習4で作成したシナリオのレスポンス結果を
ファイルに保存するように改良してください
(※制限時間10分)

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

演習5 解説
■(簡単なので省略)

13年12月26日木曜日
a n    I n t r o d u c t i o n    t o    J M e t e r

まとめ
■JMeter
○

Java製のGUIアプリケーション(OSS)

○

様々ななプロトコルに対応
HTTP/HTTPS/FTP/SOAP
JDBC/LDAP/Mail

○

13年12月26日木曜日

テスト計画/シナリオ/サンプラー
a n    I n t r o d u c t i o n    t o    J M e t e r

Reference
■http://jmeter.apache.org
■http://wiki.apache.org
■http://amzn.to/1c88qHX

13年12月26日木曜日

Mais conteúdo relacionado

Mais procurados

AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAmazon Web Services Japan
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話Noritaka Sekiyama
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Web Services Japan
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
監視基盤 ~ZabbixとCloudWatch~
監視基盤 ~ZabbixとCloudWatch~監視基盤 ~ZabbixとCloudWatch~
監視基盤 ~ZabbixとCloudWatch~真乙 九龍
 
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続Amazon Web Services Japan
 
Amazon SNS+SQSによる Fanoutシナリオの話
Amazon SNS+SQSによる Fanoutシナリオの話Amazon SNS+SQSによる Fanoutシナリオの話
Amazon SNS+SQSによる Fanoutシナリオの話Yoichi Toyota
 
pg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいことpg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいことMasahiko Sawada
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
Django の認証処理実装パターン / Django Authentication Patterns
Django の認証処理実装パターン / Django Authentication PatternsDjango の認証処理実装パターン / Django Authentication Patterns
Django の認証処理実装パターン / Django Authentication PatternsMasashi Shibata
 
いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計Serverworks Co.,Ltd.
 
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達zaki4649
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAmazon Web Services Japan
 
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaPresto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaAmazon Web Services Japan
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティスAmazon Web Services Japan
 
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門樽八 仲川
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをなAmazon Web Services Japan
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...Amazon Web Services Japan
 

Mais procurados (20)

AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオン
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
監視基盤 ~ZabbixとCloudWatch~
監視基盤 ~ZabbixとCloudWatch~監視基盤 ~ZabbixとCloudWatch~
監視基盤 ~ZabbixとCloudWatch~
 
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
 
Amazon SNS+SQSによる Fanoutシナリオの話
Amazon SNS+SQSによる Fanoutシナリオの話Amazon SNS+SQSによる Fanoutシナリオの話
Amazon SNS+SQSによる Fanoutシナリオの話
 
pg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいことpg_bigmを触り始めた人に伝えたいこと
pg_bigmを触り始めた人に伝えたいこと
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
AWS Black Belt Techシリーズ AWS IAM
AWS Black Belt Techシリーズ  AWS IAMAWS Black Belt Techシリーズ  AWS IAM
AWS Black Belt Techシリーズ AWS IAM
 
Django の認証処理実装パターン / Django Authentication Patterns
Django の認証処理実装パターン / Django Authentication PatternsDjango の認証処理実装パターン / Django Authentication Patterns
Django の認証処理実装パターン / Django Authentication Patterns
 
いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計
 
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
 
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaPresto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門Webアプリケーション負荷試験実践入門
Webアプリケーション負荷試験実践入門
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
 

JMeter入門

  • 1. a n   I n t r o d u c t i o n   t o   J M e t e r JMeter 入門 @tikemin 13年12月26日木曜日
  • 2. a n   I n t r o d u c t i o n   t o   J M e t e r 突然ですが ■こんなケースありませんか? ○ Webページがどの程度のアクセス(負荷)に耐えられる のか知りたい(または、どの程度性能か) • ユーザ数 • 単位時間 • 連続アクセス数 13年12月26日木曜日
  • 3. a n   I n t r o d u c t i o n   t o   J M e t e r 負荷テスト ■どうやって? ○ ブラウザ大量に開いて5F連打(゜ロ゜!!) →指が疲れる ○ 大量の人を、日本全国にちりばめて一斉アクセス →コストがかかる(人、お金、場所etc.) ■どちらも、再現性がない 13年12月26日木曜日
  • 4. a n   I n t r o d u c t i o n   t o   J M e t e r 負荷テストツール ■JMeter(GUI/Free)→今日はコレ ■OpenSTA(GUI/Free) ■Load Impact(GUI/Shareware) ■curl-loader(CUI/Free) ■ab(CUI/Free) 13年12月26日木曜日
  • 5. a n   I n t r o d u c t i o n   t o   J M e t e r JMeterとは?? ■Java製のアプリケーション(OSS) ■もともとはWeb用の負荷テストツール ■HTTP/HTTPS/SOAP/FTP ■JDBC/LDAP/Mailなどのテストも可能 13年12月26日木曜日
  • 6. a n   I n t r o d u c t i o n   t o   J M e t e r JMeterとは? 13年12月26日木曜日
  • 7. a n   I n t r o d u c t i o n   t o   J M e t e r JMeterとは? ■テスト計画:1つのテストの内容 ■シナリオ:スレッドグループ(詳細は後述) ■サンプラー:スレッドグループ内の1つのリクエ スト(または、アクセス) テスト計画(1):シナリオ(n):サンプラー(m) 13年12月26日木曜日
  • 8. a n   I n t r o d u c t i o n   t o   J M e t e r 演習 ■では実際に手をうごかしてみましょう まずは、JMeterを起動してください ■ダウンロードは公式サイトから http://jmeter.apache.org/usermanual/best-pract 13年12月26日木曜日
  • 9. a n   I n t r o d u c t i o n   t o   J M e t e r JMeterの画面 13年12月26日木曜日
  • 10. a n   I n t r o d u c t i o n   t o   J M e t e r JMeterとは? ■テスト計画:1つのテストの内容 ■シナリオ:スレッドグループ(詳細は後述) ■サンプラー:スレッドグループ内の1つのリクエ スト(または、アクセス) それぞれを作成します 13年12月26日木曜日
  • 11. a n   I n t r o d u c t i o n   t o   J M e t e r Hello JMeter ■スレッドグループを追加する 13年12月26日木曜日
  • 12. a n   I n t r o d u c t i o n   t o   J M e t e r Hello JMeter ■サンプラーを追加 13年12月26日木曜日
  • 13. a n   I n t r o d u c t i o n   t o   J M e t e r Hello JMeter ■リスナー追加 13年12月26日木曜日
  • 14. a n   I n t r o d u c t i o n   t o   J M e t e r 演習1 ■JMeterを使って1から10ページ目までのアク セスにかかる時間を計測してみましょう! (※制限時間10分) 下のボタンで実行 ■対象サイト ○ 13年12月26日木曜日 Google, Yahoo, 自分のサイト etc.
  • 15. a n   I n t r o d u c t i o n   t o   J M e t e r 演習1 解説 ■結果についての解説 ○ Sampler Result Load time(ms)? Latency(ms)? ○ ○ 13年12月26日木曜日 リクエスト 応答データ
  • 16. a n   I n t r o d u c t i o n   t o   J M e t e r LoadTime/Latency 13年12月26日木曜日 Latency Load time Client Server request response
  • 17. a n   I n t r o d u c t i o n   t o   J M e t e r マルチスレッド ■Webシステムは基本的にマルチスレッド ○ ○ 13年12月26日木曜日 JMeterでもマルチスレッド(多重)でリクエストを投げ る事が可能 スレッドグループの変更をする
  • 18. a n   I n t r o d u c t i o n   t o   J M e t e r 演習2 ■演習1で作成したシナリオをマルチスレッドで実 行してみましょう。 (※制限時間5分) 13年12月26日木曜日
  • 19. a n   I n t r o d u c t i o n   t o   J M e t e r 演習2 解説 ■スレッド数→ユーザ数 ■Ramp-Up期間(秒)→単位時間 ■ループ回数→アクセス数 実際の環境に近い負荷テストが実行可能 13年12月26日木曜日
  • 20. a n   I n t r o d u c t i o n   t o   J M e t e r JMeterのマルチスレッド ■数百単位のスレッドをWindowsで動かすときに は注意が必要 →出口(ポート)の最大数がレジストリで制限され てしまっている →そのためポートの最大数以上の負荷をかける事 ができない (参考)http://d.hatena.ne.jp/oreflow/20070906 13年12月26日木曜日
  • 21. a n   I n t r o d u c t i o n   t o   J M e t e r 演習3-1 ■次のプログラムのバグを発見してください ○ ソースコードは以下からダウンロード https://github.com/tikemin/Jmeterstudy ○ eclipseを起動してプロジェクトをデプロイ ○ その後、「localhost:8080/JMeterTest/sample01」へJMeter でアクセスして問題点を見つけてください (※制限時間15分) 13年12月26日木曜日
  • 22. a n   I n t r o d u c t i o n   t o   J M e t e r 演習3-1 解説 ■スレッドの安全性 ○ A B アクセス数を表示するプログラム 1+1→2 値→1 値→1 値→2 1+1→2 値→2 この時点ではまだ値が書き込まれていない 13年12月26日木曜日
  • 23. a n   I n t r o d u c t i o n   t o   J M e t e r 演習3-2 ■演習3のプログラムの問題点を改善してくださ い。(※制限時間5分) 13年12月26日木曜日
  • 24. a n   I n t r o d u c t i o n   t o   J M e t e r 演習3-2 解説 ■プログラムの先頭にSynchronizedをつける 1 protected synchronized void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 2 PrintWriter out = response.getWriter(); 3 out.println( ++userCount + "(Number of User)"); 4 } 5 別のやり方もある 13年12月26日木曜日
  • 25. a n   I n t r o d u c t i o n   t o   J M e t e r 演習3-2 解説 ■プログラムの先頭にSynchronizedをつける A 値→1 1+1→2 値→2 B 値→2 読み込みと書き込みを同期化 13年12月26日木曜日 2+1→3 値→3
  • 26. a n   I n t r o d u c t i o n   t o   J M e t e r ファイル読み込み ■JMeterでは、外部(CSVファイルやXML)を読 み込んでリクエストパラメータにする事が可能で す ■リクエストパターンが大量にある場合はcsvファ イル を利用したデータセットを作成することで メモリなどのリソースを削減できます 13年12月26日木曜日
  • 27. a n   I n t r o d u c t i o n   t o   J M e t e r ファイル読み込み ■スレッドグループに以下を追加します 13年12月26日木曜日
  • 28. a n   I n t r o d u c t i o n   t o   J M e t e r ファイル読み込み ■読み込むCSVの情報を設定します 13年12月26日木曜日
  • 29. a n   I n t r o d u c t i o n   t o   J M e t e r ファイル読み込み ■HTTPリクエストのパラメータとして使用 ○ 13年12月26日木曜日 ${<変数名>}とすることでパラメータとして利用可能
  • 30. a n   I n t r o d u c t i o n   t o   J M e t e r 演習4 ■次は、ダウンロードしたファイル (sample03.csv)をリクエストパラメータにす るように改良してみてください。 (※制限時間10分) 13年12月26日木曜日
  • 31. a n   I n t r o d u c t i o n   t o   J M e t e r 演習4 解説 ■(簡単なので省略) 13年12月26日木曜日
  • 32. a n   I n t r o d u c t i o n   t o   J M e t e r ファイル書き込み ■JMeterでは、リクエストに対するレスポンス結 果をファイル出力する事ができます 13年12月26日木曜日
  • 33. a n   I n t r o d u c t i o n   t o   J M e t e r ファイル書き込み ■ファイル書き込み時の設定一覧 13年12月26日木曜日
  • 34. a n   I n t r o d u c t i o n   t o   J M e t e r ファイル書き込み ■ファイル書き込み時の設定一覧 (参考)http://sy5.sakura.ne.jp/jmeter/ref/listener/saveresponsestoafile.html 13年12月26日木曜日
  • 35. a n   I n t r o d u c t i o n   t o   J M e t e r 演習5 ■演習4で作成したシナリオのレスポンス結果を ファイルに保存するように改良してください (※制限時間10分) 13年12月26日木曜日
  • 36. a n   I n t r o d u c t i o n   t o   J M e t e r 演習5 解説 ■(簡単なので省略) 13年12月26日木曜日
  • 37. a n   I n t r o d u c t i o n   t o   J M e t e r まとめ ■JMeter ○ Java製のGUIアプリケーション(OSS) ○ 様々ななプロトコルに対応 HTTP/HTTPS/FTP/SOAP JDBC/LDAP/Mail ○ 13年12月26日木曜日 テスト計画/シナリオ/サンプラー
  • 38. a n   I n t r o d u c t i o n   t o   J M e t e r Reference ■http://jmeter.apache.org ■http://wiki.apache.org ■http://amzn.to/1c88qHX 13年12月26日木曜日