公式 locustioドキュメント 無期限に実行される単純なイナゴタスクの書き方について説明しています。
指定された間隔でテストが自動的に停止するように、特定の時間続くロードを実行する方法を見つけることができませんでした。
私はウェブインターフェースからそれを必要としません、コマンドライン/コードオプションはちょうど素晴らしいでしょう。
私は最近イナゴを自分で使い始めましたが、残念ながらイナゴ0.7.1は時間の長さに基づいてテストを終了する方法を提供していません。
ただし、発行されたリクエストの数に基づいてテストを終了する方法を提供します。 CLIインターフェースを使用してlocustを実行する場合は、指定された数の要求が処理された後に実行を停止するように指定できます。から locust --help
出力:
-n NUM_REQUESTS, --num-request=NUM_REQUESTS
Number of requests to perform. Only used together with --no-web
したがって、次のようなものでセッションを開始できます。
# locust --clients=20 --hatch-rate=2 --num-request=500
500のリクエストが処理されると、テストを終了する必要があります。
答えるにはおそらく遅すぎますが、将来誰かに役立つかもしれません。 Locustは、-t
または--run-time
オプションをサポートして、-no-webオプションを指定してLocustを実行するときの期間を指定できるようになりました。 locust --help
から:
-t RUN_TIME, --run-time=RUN_TIME
Stop after the specified amount of time, e.g. (300s,
20m, 3h, 1h30m, etc.). Only used together with --no-
web
パーティーにはかなり遅れましたが、テストをやめたのでこれに出くわしました。助けになるかもしれません。
stop_timeout = 20
あなたのイナゴのクラスで。
ああ、それはsecondsの値を受け入れます。
イナゴがランタイムパラメータをサポートするようになりました--run-time=1h20m
。マスターブランチからイナゴをインストールしました。 (GitHub issue を参照)。この機能は0.9vで正式にリリースされたと思います。
StopLocust 例外をスローすることで、個々のグリーンレット( "locust")を停止することができるため、タスクに時間をチェックするガードを追加できます。
これは文書化されていない動作であり、将来変更される可能性がありますが、0.7.2で機能します。
ここでは、イナゴ0.8.1による私のソリューションでは、CLIモードで実行する時間を定義できません。
timeout $TIME locust -f $YOUR_FILE --Host=$YOUR_Host_TARGET --no-web
時間は分または秒で指定できます
timeout 10s locust -f $YOUR_FILE --Host=$YOUR_Host_TARGET --no-web
timeout 10m locust -f $YOUR_FILE --Host=$YOUR_Host_TARGET --no-web