負荷テストツールLocust学習4:LocustのGUIとCLI
はじめに
こんにちは、SHIFT DevOps推進2グループの李です。前回はLocustのパラメータについて紹介しました。今回は前回で紹介したパラメータを実際使って、GUIとCLIの操作方法を紹介しようと思います。
下記が今回使用するソフトウェアです。
Visual Studio Code:最新版 https://code.visualstudio.com/
Python:3.11.1 https://www.python.org/
Locust:2.14.2 https://locust.io/
内容を5つのシリーズに分けて紹介したいと思います。
連載目次:
(今回)負荷テストツールLocust学習4:LocustのGUIとCLI
LocustのGUI
学習2で「locust -f locust_test.py」コマンドを紹介しました。
今回はもっと長いパラメータをためしてみましょう、まずはターミナルを開いて「locust -f locust_test.py -H https://api.open-meteo.com/v1 -P 8080 -u 10 -r 5」を入力してください。
このパラメータはホスト(-H)、ポート(-P)、ユーザ数(-u)と毎秒起動するユーザ数(-r)という4つのパラメータを指定します。
ブラウザのURLでに「http://localhost:8080/ 」を入力して、LocustのGUIテスト画面を開きます。
すでに画面中にユーザ数と毎秒起動するユーザ数とテスト対象は入力しているので、毎回入力する必要はないです。
※実行中のスクリプトを中止する場合はターミナルで「Ctrl+C」を入力します。
LocustのCLI
ここからはLocustのCLIパラメータを紹介します。
ターミナルで「locust -f locust_test.py --headless -H https://api.open-meteo.com/v1 -u 10 -r 5 --run-time 2m --csv test」を入力してください。
このパラメータはCLIモード(--headless)、ホスト(-H)、ユーザ数(-u)と毎秒起動するユーザ数(-r)の4つのパラメータを指定して、実行時間(--run-time)を2分間に設定します。
実行時間についてはs(秒)、m(分)、h(時間)で指定することが可能です、例えば30s、10m、3h30mなどの形式で指定します。
最後にレポート(--csv)をtestという名前で保存します。
注意:CLIで実行する場合に、実行時間を指定しないとスクリプトが終了されないので、実行時間の設定を推奨します。
終了しましたら、Visual Studio Codeのファイル一覧に下記の4つCSVファイルが追加されます。
test_exceptions.csv:実行時に例外処理したケースが記録されます。
test_failures.csv:実行時に失敗したケースが記録されます。
test_stats_history.csv:実行中の1秒ごとの統計情報が全て記録されます。
test_stats.csv:サマリーレポートです、リクエスト数、平均レスポンス、中央値、最大値などが記録されます。
CLIモードではUIの操作がないので、自動化テストかCI/CDに連携するのは簡単です。
例えばPowerShellやGitLabと連携したら、新たなバージョンをリリースされた際に、自動的にテストすることもできます。
次回のお知らせ
今回はLocust(ロウカスト)GUIとCLIのパラメータの使用方法について、簡単に紹介しました。Locustのパラメータにはまだ色んなパラメータがあって、興味がある方は是非Locustのドキュメントを確認してみてください。
次回は最終回です。
Locustの特長の分散モードについて紹介したいと思います。
最後までお読みいただきありがとうございました。
また次回の記事でお会いしましょう!
参考資料
お問合せはお気軽に
https://service.shiftinc.jp/contact/
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/