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結果をフォーマットしてほしい(小声)
JSONボディの生成方法の追加
New JSON Post Processor to better extract data from JSON content using user friendly JSON-PATH syntax
これまでJSONのリクエストを作ろうと思ったら、ボディ部にテキスト形式で記載しなければならなかったです。
今回からJSON-PATHという形式で定義できるところが追加。 JSON-PATHは、軽く見た感じ、JSON構造をドットを使って表現するらしい。
※難しそうだから、たぶん使わない(;´Д`)
1セクションに対してテスト実行できるようになった。
New validation feature, in one click run a selection of Thread Groups with 1 user, no pause and 1 iteration
今まではシナリオ全体で実行するしかなかったけれど、ある区間だけ実行できるようになった。
使い勝手はよさそう。だけども、自分がよく作るシナリオは、前の結果の値を参照して次を実行するパターンが多いので、切り取って実行するケースには合わなそう(;´Д`)
スクリプトの事前コンパイル、キャッシュのオプション追加
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
事前にコンパイルしておくオプション追加。
これまでは実行時に毎回コンパイルが発生していたが、事前にコンパイルされキャッシュもされるようになった(たぶん)
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リクエストの機能追加
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"はセキュリティ的に問題がありそうなときに暗号化する必要がある場合に使う(?)
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.
処理が指定した時間内に終わらない時にタイムアウトさせるサンプラー。
#タイムアウトしたらエラーになるかは不明。
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改善とバグ修正
割愛
まとめ
グラフが見やすくなったのが一番うれしい(*´Д`*)