質問: お世話になります。 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つになってしまい申し訳ありませんが、よろしくお願いいたします。
回答: 情報の追加・修正欄の続きになります。 まずはエラーの原因を調べてみてください。 エラーは「結果をツリーで表示」を使って調査します。 ただし、「結果をツリーで表示」は大量にメモリーを消費しますので、リクエストが溜まってくるとJMeterを起動しているJVMのメモリーが枯渇する恐れがありますので注意してください。 ウェイトというのは、スループットタイマーなどのアイテムを追加することにより、リクエスト間にある程度の間隔を持たせることを指しています。 それを入れないと負荷がかかり過ぎの状態になります。 > > "結果を表で表示"ではスループットの項目がなく確認できませんでした。 > > > 「結果を表で表示」ではなく、「統計レポート」でした。すみません。 「統計レポート」にスループットが表示されます。 あと、いまさらですが、念のためJMeterのバージョンも書いておいてください。