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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

受付中

JMeterで負荷をかけているサイトのHTMLが正しく表示されているか判別する方法について

k.t.est
k.t.est

総合スコア49

JMeter

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0回答

0リアクション

0クリップ

1107閲覧

投稿2021/06/08 01:24

JMeterを利用して負荷試験を行いました。
負荷をかけられているサーバーからのレスポンスは全て200でしたので、全て成功という結果で表示されるのですが、本当に正しくHTMLが表示されているのかを判断する方法がございましたらご教示ください。

また、GUIで実行するとスレッド数 x ループ回数のリクエストを投げるのですが、同じシナリオをCUIで実行するとその2倍のリクエストが投げられています。これはロードバランサーの影響でしょうか??
合わせてご教示いただけますと幸甚です。

#結果について
少ない試行回数でGUIで実行すると、「結果をツリーで表示」より「TEXT」で「応答データ」の 「Response Body」を見ると、対象のページのHTMLが表示されますが、
負荷をかけるために試行回数を増やしてCUIで実行して、結果ファイルの「log.jtl」を「結果をツリーで表示」で「TEXT」で「応答データ」の「Response Body」を見てもブランクで何も表示されません。
(GUIで実行すると、「HTML」で「応答データ」の「Response Body」は「Failed to parse HTML: Unclosed」でした。)

(JMeterのシナリオ実行で負荷はかかり、EC2のCPU率も上がり、DBへの負荷も確認できました。)

//Sampler result(CUIで実行した場合) hread Name:スレッドグループ 1-151 Sample Start:2021-06-06 17:37:47 JST Load time:7090 Connect Time:0 Latency:1150 Size in bytes:386606 Sent bytes:161 Headers size in bytes:0 Body size in bytes:0 Sample Count:1 Error Count:0 Data type ("text"|"bin"|""):text Response code:200 Response message:OK SampleResult fields: ContentType: DataEncoding: null
//sampler result(GUIで実行した場合、2段目がCUIの実行結果と異なっています) Thread Name:スレッドグループ 1-1 Sample Start:2021-06-08 10:15:31 JST Load time:1013 Connect Time:71 Latency:959 Size in bytes:389942 Sent bytes:146 Headers size in bytes:767 Body size in bytes:389175 Sample Count:1 Error Count:0 Data type ("text"|"bin"|""):text Response code:200 Response message:OK HTTPSampleResult fields: ContentType: text/html; charset=UTF-8 DataEncoding: UTF-8

JMeterの実行コマンド

$ jmeter -Jjmeter.save.saveservice.samplerData=true -Jjmeter.sa.saveservice.response_data=true -Dsun.net.inetaddr.ttl=0 -n -t /path/to/apache-jmeter-5.4.1/test.jmx -l log.jtl -e -o logdir

#環境
JMeter実行環境 : MacOS 10.13
JMeter version : 5.4
対象サイト : PHPを含んだHTMLページ(google map APIを含む)
サーバー : AWSのEC2(amazon linux2)。ロードバランサーに紐つけたドメインに対して負荷を実行。

#参考にしたサイト
https://qiita.com/tatesuke/items/827e6190753964e46814
http://mislead.jp/1611.html

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

hope_mucci

2021/06/25 07:54

根本的な回答ではないのでコメントにしますが、Jmeterで負荷をかけている最中に別PCからブラウザで当該サイトを閲覧すれば、高負荷時にどのように見えているのか確認ができるのではと思います。 あと、質問は記事1つにつき1つにしたほうが良いと思います。複数の質問を1記事に書いて、別々に回答が来たらベストアンサーを決める際に困りませんでしょうか?
k.t.est

2021/06/25 08:08

hope_mucci様、ご回答ありがとうございます。 負荷をかけている最中に別の端末を利用する方法は既に試しておりまして、その際は正しい表示でした。ただそれが全てのアクセスに対して正しく表示されていることの証明にはなりませんので、今回の質問をさせていただいた次第です。 質問につきまして、ご指摘ありがとうございます。今後そのように致したいと存じます。
hope_mucci

2021/06/25 08:21

> 全てのアクセスに対して正しく表示されていることの証明にはなりませんので それはJMeterで証明しなければいけないことなのでしょうか?JMeterはあくまで主目的が負荷チェックのツールであり、表示の完全性をチェックするものではありません。ブラウザを完全にシミュレートできるわけでもないです。javascriptも動作しませんし(せいぜいレスポンスを読んで、リンクされているリソースを読み込むまで)。 ブラウザの表示をシミュレートしたいのであればSelenium等ブラウザベースのスクレイピングで自動化する方法も考えられます(スクリーンショットも取れますのでエビデンスになるでしょう)がJMeterほど負荷をかけられないのでJMeterの負荷と併用してスクレイピングし、スクレイピング側のエビデンスで正常稼働が確認できればOKとする、などテスト計画を見直したほうがよいでしょう。
k.t.est

2021/06/25 08:26

hope_mucci様、ご返信ありがとうございます。 スクレイピングの併用は思いつきませんでした。アイデアありがとうございます。 AWS Lamdbaあたりを使って、試してみたいと思います。
hope_mucci

2021/06/27 17:17

試してみて、満足のいく結果が得られたら質問をクローズしましょう。 解決した方法を自己回答し、解決済みにしましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JMeter

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。