【locust】負荷試験ツールLocustを使ってローカルPCで一万RPSを目指す(2)

はじめに

前回の記事で負荷試験についてざっくり紹介した。

今回は実際にlocal環境に簡単なweb api server を立ち上げlocustを用いて負荷試験を行ってみる。

なお、今回はapi server は構築が簡単なFastAPIを使っている。

関連記事

【locust】負荷試験ツールLocustを使ってローカルPCで一万RPSを目指す(1)

【locust】負荷試験ツールLocustを使ってローカルPCで一万RPSを目指す(2)

【locust】負荷試験ツールLocustを使ってローカルPCで一万RPSを目指す(3)

【locust】負荷試験ツールLocustを使ってローカルPCで一万RPSを目指す(4)

【locust】負荷試験ツールLocustを使ってローカルPCで一万RPSを目指す(5)

【locust】負荷試験ツールLocustを使ってローカルPCで一万RPSを目指す(6)

実行環境

実行環境は主に以下のようになります。

  • Mac Studio(2022) Apple M1 MAX メモリ32GB GPU24コア
  • MacBook Pro(2020) M1  メモリ16GB GPU 8コア
  • MacBook Pro(2017) intel core i5  メモリ8GB GPU2GB?
  • Python 3.9.13 (web api server 構築のため それぞれのデバイスに環境構築した)
  • pyenv(必須ではない)

環境構築

GitHub - shiki0428/locust-experiment
Contribute to shiki0428/locust-experiment development by creating an account on GitHub.

よりリポジトリをcloneしてくる。

python実行環境があるなら以下pyenvのインストールは無視して構いません。

pyenvのインストール

pathの編集

pyenv のpathを通すために zsh_profile(人によって異なる)を編集

下記実行で変更を適用させる。

pyenvでpythonをインストールとバージョンの切り替え

一行目の実行で表示されるpythonのバージョンのリストの最新をインストールする。

四行目を実行してインストールしたバージョンが表示されればOK

virtualenvで必要なライブラリのインストールを行う

 

実行

FastAPI server 起動

 

こちらにアクセスできたら OK

今回用意しているAPIは

  • GET /test
  • PUT /items/{item_id}

の二つのみでそれぞれJSONで固定の値を返す簡単な実装としている。

Locust実行

最初にtest.pyの四行目のhostという変数を以下のように変更する。

locust実行 以下コマンド

ここへアクセスし以下のようなUIが表示されればOK

 

入力フォームは上から順に

  • 最大接続人数
  • 1秒あたりに増加するユーザー数
  • ホスト

を入力できるようになっている。

start swarming で実行まずは

  • 最大接続人数 = 1
  • 1秒あたりに増加するユーザー数 = 1

でテスト実行を行う。

実行結果は以下のようになった。

約一分間実行した結果以下のようになった。

ユーザ数1人で1000RPSを達成する事は確認できた。

次に

今回で実行環境の準備と実際に実行した結果を簡易的に表示することができた。

【locust】負荷試験ツールLocustを使ってローカルPCで一万RPSを目指す(3)

次回からユーザー数や1秒あたりに増加するユーザー数を変更することでRPS向上を目指す。

Follow me!

コメント

PAGE TOP
タイトルとURLをコピーしました