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

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

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

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

HTML

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

Q&A

0回答

2453閲覧

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

k.t.est

総合スコア49

JMeter

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

HTML

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

0グッド

0クリップ

投稿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

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

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

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

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

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

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問