LoginSignup
1
0

インストール

JDK17

Downloads for Amazon Corretto 17 - Amazon Corretto 17

JMeter

Apache JMeter - Download Apache JMeter
※ 5.6.3を使用する場合のノウハウを記載

JMeter起動パラメータ修正

JMeter展開ディレクトリのbinディレクトリにある、jmter.batの以下2か所を修正する

日本語化

修正前: set JMETER_LANGUAGE=-Duser.language="en" -Duser.region="EN"
修正後: set JMETER_LANGUAGE=-Duser.language="ja" -Duser.region="JP"

ヒープサイズ変更

修正前: set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
修正後: set HEAP=-Xms2g -Xmx2g -XX:MaxMetaspaceSize=256m

JMeterプロパティ修正

HTTPリクエストレスポンスのデフォルト文字コードをUTF-8とする

JMeter展開ディレクトリのbinディレクトリにある、jmeter.propertiesの以下のコメントアウトをはずす。

title: HTTPリクエストレスポンスのデフォルト文字コードをUTF-8とする
# The encoding to be used if none is provided (default UTF-8 since JMeter 5.6.1)
sampleresult.default.encoding=UTF-8

結果をツリーで表示のデフォルトのレンダラーをJSONにする

※ 1,210行以降の以下のサンプルの個所あたりを修正する。
修正前:view.results.tree.renderers_order=.RenderAsText,.RenderAsRegexp,.RenderAsBoundaryExtractor,.RenderAsCssJQuery,org.apache.jmeter.extractor.json.render.RenderAsJsonRenderer,.RenderAsXPath2,org.apache.jmeter.extractor.json.render.RenderAsJmesPathRenderer,.RenderAsXPath,.RenderAsHTML,.RenderAsHTMLFormatted,.RenderAsHTMLWithEmbedded,.RenderAsDocument,.RenderAsJSON,.RenderAsXML

修正後:view.results.tree.renderers_order=.RenderAsJSON,.RenderAsText,.RenderAsRegexp,.RenderAsBoundaryExtractor,.RenderAsCssJQuery,org.apache.jmeter.extractor.json.render.RenderAsJsonRenderer,.RenderAsXPath2,org.apache.jmeter.extractor.json.render.RenderAsJmesPathRenderer,.RenderAsXPath,.RenderAsHTML,.RenderAsHTMLFormatted,.RenderAsHTMLWithEmbedded,.RenderAsDocument,.RenderAsXML

title: 結果をツリーで表示のデフォルトのレンダラーをJSONにする
# Order of Renderers in View Results Tree
# Note full class names should be used for non JMeter core renderers
# For JMeter core renderers, class names start with '.' and are automatically
# prefixed with org.apache.jmeter.visualizers
view.results.tree.renderers_order=.RenderAsJSON,.RenderAsText,.RenderAsRegexp,.RenderAsBoundaryExtractor,.RenderAsCssJQuery,org.apache.jmeter.extractor.json.render.RenderAsJsonRenderer,.RenderAsXPath2,org.apache.jmeter.extractor.json.render.RenderAsJmesPathRenderer,.RenderAsXPath,.RenderAsHTML,.RenderAsHTMLFormatted,.RenderAsHTMLWithEmbedded,.RenderAsDocument,.RenderAsXML

TCP/IPチューニング

クローズされたソケットの再利用を早くする

参考
Settings that can be Modified to Improve Network Performance - BizTalk Server | Microsoft Learn

PowerShellの管理者モードで、以下のコマンドを実行

title: クローズされたソケットの再利用を早くする
PS > Set-ItemProperty HKLM:SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name TcpTimedWaitDelay -Type DWord -Value 30
 
PS > Get-ItemProperty HKLM:SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name TcpTimedWaitDelay
 
TcpTimedWaitDelay : 30
PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
PSChildName : Parameters
PSDrive : HKLM
PSProvider : Microsoft.PowerShell.Core\Registry

実行時の注意

  • 並列度を高くして実行すると
    ハイポートのソースポート番号が不足し、シナリオ実行できない。

  • 定常的にハイポートをJMeter向けに開放すると、AWS CLIが実行できなくなる。

  • 性能テストを行う時は開放し、終了したら閉塞する必要がある。

PowerShellの管理者モードで、以下のコマンドで設定を行える。

変更シーン コマンド
負荷テスト開始時(ポート開放) netsh int ipv4 set dynamicport tcp start=1025 num=64511
現在のポート範囲を確認 netsh int ipv4 show dynamicport tcp
負荷テスト終了後(ポート閉塞) netsh int ipv4 set dynamicport tcp start=49152 num=16384
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0