JMeterでGETとPOSTのリクエストを送る




どうも高妻です。Twitterでプログラミングのことや暗号通貨のことをつぶやいているのでよかったらフォローしてください。  

初期設定

負荷試験ツールとしてよく使われるJMeterでのGETとPOSTの基本的な設定の仕方を説明します。

まず新規でJMeterを開いたときはこのような画面になっているかと思います。このテスト計画の上で右クリックをしてスレッドグループを追加します。

次はスレッドグループを右クリックしてHTTPリクエストサンプラーを追加します。このHTTPリクエストサンプラーを使ってGETとPOSTのリクエストを送信します。

GET

まず初めにGETのリクエストの送り方です。

プロトコルは環境に合わせてhttpかhttpsを指定してください。サーバ名のところはアプリケーションが起動しているサーバーを指定してください。ポートも同じくリクエストが受け付けられる番号を指定してください。

メソッドをプルダウンからGETを指定して、リクエストを送りたいパスを指定します。エンコードは一般的にUTF-8で問題ないかと思います。

リクエストパラメータは画面下部のところで設定します。この場合、送られるリクエストは127.0.0.1/get_path?id=1&name=abcdefとなります。

レスポンス結果はHTTPリクエストを右クリックして結果をツリーで表示というリスナーを追加するとレスポンスを確認できます。

POST

POSTも基本的にGETの場合と同じようにHTTPリクストを追加します。

送りたいデータの設定はBody Dataに設定します。

指定の仕方はこのようにするとPOSTデータとして認識されます。

JSONを指定する場合

JSONを使いたい場合はこのように指定します。

さらにヘッダー情報としてJSONで送っていることをサーバーに伝えないといけないのでHTTPヘッダーマネージャーを追加します。

追加したら以下のようにContent-Typeにapplication/jsonを設定することでサーバー側がJSONとして認識してくれます。この前提としてサーバー側が認識できてもJSONに対応した実装をしていなければいけないのでそこは対応するようにしてください。

まとめ

  • GETもPOSTもHTTPリクエストを使用する
  • レスポンス結果を見るには結果をツリーで表示というリスナーを追加
  • POSTでJSONを送る場合はHTTPヘッダーマネジャを追加してサーバー側もJSONに対応できるように実装する

おすすめ書籍

負荷試験に関する数少ない良書です。前半部分は負荷試験に関する失敗事例、負荷試験をどうやって行うのかのアプローチ方法などAWSに限らずこれから負荷試験を行う方にとって参考になると思います。

他の方の書評でも書かれていますが負荷試験についてここまで丁寧にまとまった情報はないので一読してみるのをおすすめします。

 

The following two tabs change content below.

高妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら



2 件のコメント

  • 参考にさせていただきました。ありがとうございます。

    POST の最初のイメージが違ってそうです。
    (ヘッダマネージャ→HTTPリクエスト)

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です