(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【JMeter/Windows】failed: Connection timed out: connectが頻発する際の解消法

スポンサーリンク

事象

JMeterにてWebサーバに負荷をかけるもjtlファイルには以下のようなエラーが記録され

...HTTP リクエスト,Non HTTP response code: org.apache.http.conn.HttpHostConnectException,Non HTTP response message: Connect to test.nginx:80 [test.nginx/10.X.X.X] failed: Connection timed out: connect,スレッドグループ 1-6476,text,false,,2722,0,20538,20538,http://hogefuga.../,0,0,54616

Webサーバにもリクエストは届いていない。

環境情報
  • Windows 10
  • apache-jmeter-5.4.1

原因/解決策

端末側のポートが不足している。現状の値は以下コマンドで確認可能。

$ netsh int ipv4 show dynamicportrange protocol=tcp

プロトコル tcp の動的ポートの範囲
---------------------------------
開始ポート      : 49152
ポート数        : 16384

この値を管理者権限で拡張すると

$ netsh int ipv4 set dynamicport tcp start=1025 num=64511
OK

表題のエラーは出なくなる。

以下補足です。

補足

JMeterを秒間10件で実施していた際は特にエラーなく動きましたが

秒間100件にしたところ同エラーが出ました。

IANAは送信ポートを49152 ~65535で推奨しているためこの設定がデフォルトで入っていることがありますが、一時的であれば上記のように送信ポートの範囲を拡大させることでポート枯渇を防げます。

ちなみに参照系はどのユーザでもできますが、値を変更する場合は特権ユーザでないとエラーとなるので

$ netsh int ipv4 set dynamicport tcp start=1025 num=64511
要求された操作には、権限の昇格が必要です。管理者として実行してください。

ご注意ください。