質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
JMeter

Apache JMeterとは、Webアプリケーションの負荷テストをするためのJavaアプリケーションです。

Q&A

解決済

2回答

13861閲覧

JMeterの結果について

jun_i

総合スコア14

JMeter

Apache JMeterとは、Webアプリケーションの負荷テストをするためのJavaアプリケーションです。

0グッド

1クリップ

投稿2016/05/30 11:51

お世話になります。

Webアプリの負荷テストをする際、apache.JMeterを使おうと思っています。
使い方を覚えている段階なのですが、設定と結果の見方で質問があります。

例えば、ある静的なページに30秒で1000アクセスがある場合をテストしてみました。
その際、以下の2パターンでテストしてみました。

1:ユーザー数が1000だと仮定した場合
スレッド数:1000
Ramp-up:30
ループ数:1

2:ユーザー数が100だと仮定した場合
スレッド数:100
Ramp-up:30
ループ数:10

各々5回ずつ動かしてみたのですが、
【Errorが起こった回数】
1は4/5回(いずれもError率1%前後)
2は0/5回
となりました。

また90パーセンタイル値も2の方が1より半分程度の値になります。
…ただ誤差と言われれば誤差?の範囲の気もするのですが。

1000ユーザーが1回アクセスするのと、100ユーザーが10回アクセスするので、負荷的な違いが出るのあれば、具体的にどのような違いがあるか、分かる方がいたら教えていただければと思います。

ちなみにErrorはほんの少しでも出たら、それは要求した負荷に対して「性能を満たしていない」と見なすべきなのでしょうか。

質問が2つになってしまい申し訳ありませんが、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

argius

2016/05/30 12:44

質問です。Errorは何が原因で出ているのですか? "結果を表で表示"などを使ってスループットなどを計測していますか? スレッドグループの設定では何かしらウェイトをかけていますか?
jun_i

2016/05/31 07:15

質問ありがとうございます。すみません、社内ネットワークが軽くなったせいなのか、Errorが出なくなってしまいました。(昨日の記録は残してませんでした。) 試しにより強い負荷でわざとErrorが出るようにして、 "結果を表で表示"で見てみたのですが、StatusでWorningと出ているだけで、特に原因については出力されていませんでした。どこかで原因みたいなのは確認できるのでしょうか? なお、スループットはErrorが出なかった時は、統計レポート上では33.2/secでしたが、"結果を表で表示"ではスループットの項目がなく確認できませんでした。 ウェイト…というのは「Delay Thread creation until needed」のことでしょうか。これはチェックは付けていません。
argius

2016/05/31 07:31

承知しました。ここでは手狭ですので、とりあえず回答の方に書いていきます。
guest

回答2

0

ベストアンサー

webサーバーに限らずDBサーバーなどは同時に実行できるスレッド数に制限があります。
また、ネットワークやその他のハードウェアも一度に処理できるボリュームには制限があります。
なので、JMeterなどで同時にどの程度のアクセスに耐えられるかテストするわけです。

間違っていたらすいませんが(Jmeterを最後にさわったのが10年近く前ですので・・・)
スレッド数:1000でRamp-up:30だと、一秒間に33スレッド
スレッド数:100でRamp-up:30だと一秒間に3アクセス
なので、短い期間に多数のアクセスが集中する前者の方が負荷が高いと言えるでしょう。

また、性能を満たしていないかどうかは、あらかじめ取り決めたSLAに基づいてどこまでのアクセスに耐えられるかで判断すべきもので、エラーが出たから性能を満たしていない、というものではないと思います。
サービスレベルを満たすべきテストでエラーが一つでも出たら満たしていないと判断すべきでしょう。

投稿2016/05/30 13:38

munyagu

総合スコア479

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jun_i

2016/05/31 10:28

ご回答ありがとうございます。 一秒間辺りのアクセス数が変わってくるからなのですね。 確かにそれであれば、1サンプル辺りのレスポンスタイムに違いが出るのは当然だと思います。 エラーに関してもありがとうございました。参考にさせていただきます。
guest

0

情報の追加・修正欄の続きになります。

まずはエラーの原因を調べてみてください。
エラーは「結果をツリーで表示」を使って調査します。
ただし、「結果をツリーで表示」は大量にメモリーを消費しますので、リクエストが溜まってくるとJMeterを起動しているJVMのメモリーが枯渇する恐れがありますので注意してください。

ウェイトというのは、スループットタイマーなどのアイテムを追加することにより、リクエスト間にある程度の間隔を持たせることを指しています。
それを入れないと負荷がかかり過ぎの状態になります。

"結果を表で表示"ではスループットの項目がなく確認できませんでした。

「結果を表で表示」ではなく、「統計レポート」でした。すみません。
「統計レポート」にスループットが表示されます。

あと、いまさらですが、念のためJMeterのバージョンも書いておいてください。

投稿2016/05/31 07:38

argius

総合スコア9394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jun_i

2016/05/31 10:28

ご回答ありがとうございます。 「結果をツリーで表示」でエラー内容が見れました。 スループットタイマーの使い方が、まだ分からないので調べて使ってみたいと思います。 >あと、いまさらですが、念のためJMeterのバージョンも書いておいてください。 すみません、基本的なことが抜けていました。 使っているバージョンは2.13です。 色々とご指摘いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問