見出し画像

負荷テストツールLocust学習1:Locustとは

はじめに

こんにちは、SHIFT DevOps推進2グループの李です。
前の案件ではPythonを勉強しました。 「鉄は熱いうちに打て」と言いますし、続けてPythonの負荷テストツールであるLocustを勉強してみようと思いました。

実際にやってみると、以前使っていたJMeterとは全く異なり、LocustはUIの制限が全くなくて自由に負荷テストの設計ができます。
ぜひ共有したいと思いました。

下記が今回使用するソフトウェアです。

内容を5つのシリーズに分けて紹介したいと思います。

連載目次:

  1. 負荷テストツールLocust学習1:Locustとは

  2. 負荷テストツールLocust学習2:Locustを書いてみる

  3. 負荷テストツールLocust学習3:Locustのパラメータ

  4. 負荷テストツールLocust学習4:LocustのGUIとCLI

  5. 負荷テストツールLocust学習5:Locustの分散モード

Locustとは

Locust(ロウカスト)はWebとAPI向けの負荷試験ツールです。
イナゴという意味を持つLocustという名前から、作者はおそらく、WebやAPIなどへの大量アクセスをイナゴの大群が押し寄せるかのようにイメージしていたのではないかと考えています。

LocustはシナリオをPython で実装し、ユーザー数を設定すると簡単に負荷テストができます。実行結果はGUIとCSVで表示することができます。CI/CDに組み込むこともできます。また、スクリプトはPythonで作成するのでUIかIDEかに縛られることなく、どんなIDEでも開発できます。

LocustとJMeterの比較

LocustとJMeterはどちらも有名なオープンソースの負荷テストツールです。
前の案件でJMeterでスクリプト作成をした時、JMeterが提供するGUIで作成するので少し制限されると感じましたが、Locustは直接Pythonで書くので制限される感じはありません。

以下の表でJMeterとLocustの詳細を紹介します。

Locustをインストールしてみる

Locustを実行する前に、Python 3.6以上のバージョンのインストールが必要です。Pythonの最新版は下記のリンクからダウンロードしてください。

Pythonの公式サイト:https://www.python.org/downloads/

ダウンロードが完了したら、ダブルクリックでPythonのインストーラを開きます。下の「Add python.exe to PATH」をチェックして「Install Now」をクリックします。

インストールが完了したら、「コマンド プロンプト」を開いて、コマンド「pip install locust」を入力します。

完了したら、コマンド「locust -V」を入力して、インストールバージョンを確認します。

LocustはどんなIDEツールでも開発できますが、このシリーズではVisual Studio Codeで開発したいと思います。
Visual Studio Codeの最新版は下記のリンクからダウンロードしてください。

Visual Studio Codeの公式サイト:

次回のお知らせ

今回はLocust(ロウカスト)の概要とインストール方法について簡単に紹介しました。次回はLocustの実装について紹介したいと思います。

最後までお読みいただきありがとうございました。
また次回の記事でお会いしましょう!

参考資料

  1. https://docs.locust.io/en/latest/

  2. https://mmtomitomimm.blogspot.com/2019/02/locust.html?m=0

  3. https://note.com/shift_tech/n/n77be58376523


執筆者プロフィール:李 嘉興
社会人になって以来、数年間システムエンジニアとして多数のプロジェクトの開発(要件定義~リリース)を経験したのち、2021年7月にSHIFTに入社。
システムエンジニアの仕事と全く違う分野の自動化とCICDを経験しつつ、未来のキャリアのため日々奮闘中。

お問合せはお気軽に
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/