なみひらブログ

学んだことを日々記録する。~ since 2012/06/24 ~

JMeter 3.0のchangelogを確認しました

背景

サービスの性能測定(負荷)ツールの「JMeter」の3.0がリリースされたそうなので、その変更を確認しました。
気になったところをメモっときます。
注意). 気になったところだけです。全部ではありません。

(記事) codezine.jp

(公式ページ)
Apache JMeter - Changes

メモ

結果のテキスト検索機能の追加

New Search Feature in View Results Tree to allow searching for text / regexp in Request/Responses/Headers/Cookies/… This will ease correlation and Test plans creation

テスト結果のビューで全文検索できるようになったらしい。
レスポンスのデータが意図した値になっているかを確認するときに使える。たぶんこれまでは結果をテキストエディタにコピペして、検索していたような気がします。
#別件で、JSON結果をフォーマットしてほしい(小声)

(公式ページより)
http://jmeter.apache.org/images/screenshots/changes/3.0/view_results_tree_search_feature.png

JSONボディの生成方法の追加

New JSON Post Processor to better extract data from JSON content using user friendly JSON-PATH syntax

これまでJSONのリクエストを作ろうと思ったら、ボディ部にテキスト形式で記載しなければならなかったです。
今回からJSON-PATHという形式で定義できるところが追加。 JSON-PATHは、軽く見た感じ、JSON構造をドットを使って表現するらしい。
※難しそうだから、たぶん使わない(;´Д`)

(公式ページより)
http://jmeter.apache.org/images/screenshots/changes/3.0/json_path_extractor.png

1セクションに対してテスト実行できるようになった。

New validation feature, in one click run a selection of Thread Groups with 1 user, no pause and 1 iteration

今まではシナリオ全体で実行するしかなかったけれど、ある区間だけ実行できるようになった。
使い勝手はよさそう。だけども、自分がよく作るシナリオは、前の結果の値を参照して次を実行するパターンが多いので、切り取って実行するケースには合わなそう(;´Д`)

(公式ページより)
http://jmeter.apache.org/images/screenshots/changes/3.0/thread_group_validate.png

スクリプトの事前コンパイル、キャッシュのオプション追加

JSR223 Test Elements do not require a Cache Compilation Key anymore

Just check Cache compiled script if available checkbox and the elements (Pre-Processor, Post-Processor, Assertions, Listeners, …) will pre-compile the script and cache the compiled code if the underlying language supports it

事前にコンパイルしておくオプション追加。
これまでは実行時に毎回コンパイルが発生していたが、事前にコンパイルされキャッシュもされるようになった(たぶん)

(公式ページより)
http://jmeter.apache.org/images/screenshots/changes/3.0/jsr223_cache_compiled.png

JavaScriptエンジンとしてNashorn追加

Nashorn can now be used as Javascript engine providing better performance and easier usage

特定のコンポーネントで記載の表現追加される。
利用するJDKは8にしないと使えない(たぶん)

HTTPリクエスト画面の改善

Simplified HTTP Request UI

パラメータ指定のスペース確保のために、以下の改善

  • 高度な設定のために新しく"Advanced"タブ追加
  • アップロードファイル設定用にタブ追加

JMeterの設定するときに「画面がなんか窮屈だなあ」という感じがあったので、それが改善されたかも。
※こういう改善は見習いたい(*´Д`*)

(公式ページより)
http://jmeter.apache.org/images/screenshots/changes/3.0/http_request_basic.png

http://jmeter.apache.org/images/screenshots/changes/3.0/http_request_advanced.png

HTTPリクエストの機能追加

You can now configure Source Address (IP Spoofing like feature) and "Save response as MD5 hash" in Advanced Tab

リクエスト元のIPアドレス・ホスト名を変更できるようになった。
サーバサイドではネットワークレベルでJMeterリクエストを処理できそう。
これまではUser-Agentとかでやってたので。
※あと、社内ネットワークで負荷テストやった場合に個人的にバレない(小声)

"Save response as MD5 hash"はセキュリティ的に問題がありそうなときに暗号化する必要がある場合に使う(?)

(公式ページより)
http://jmeter.apache.org/images/screenshots/changes/3.0/http_request_defaults_advanced.png

Reporting improvements

結果出力(レポート)の改善。
これまでJMeterの結果グラフはそっけない感じで、見ても分かりにくかったです(特にレスポンス時間とかスループットあたりの2次元グラフ。
それが改善されたので良かったです(*´Д`*)

内容は割愛

HttpClientのバージョン更新

Migration to HttpClient 4.5.2 has been started. Although not completely finished, it improves many areas in JMeter

たまになぞのNetworkTimeoutが起きてたりしていなので、それが改善するかも。
JMeter側のせいではないかもしれない(;´Д`)

Timeoutサンプル追加

This new Sample Timeout Pre-Processor allows you to apply a Timeout on the elements that are in its scope.

処理が指定した時間内に終わらない時にタイムアウトさせるサンプラー
タイムアウトしたらエラーになるかは不明。

(公式ページより)
http://jmeter.apache.org/images/screenshots/changes/3.0/sample_timeout.png

JDBC request now uses DBCP2 pool

JDBC Request and JDBC Connection Configuration have been updated to replace old Excalibur Pool by Apache Commons DBCP2 pool.

そもそもDBへのリクエストも作れることを知らなかったです(;´Д`)

あともろもろのUX改善とバグ修正

割愛

まとめ

グラフが見やすくなったのが一番うれしい(*´Д`*)

参考

Apache JMeter - Apache JMeter™