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

はじめに

前回の記事で負荷試験実行環境と簡単な実行を行なった

今回からいろんなパターンで負荷試験を行い、RPS向上を目指す。

関連記事

【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(必須ではない)

環境構築

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

前回の記事をご参考ください。

負荷試験実行の前提条件

  • 時間の都合上、それぞれのパターン約一分間実行するものとする。

実行結果

前回行った実行結果より

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

ユーザ数1人で1000RPSを達成している事までは確認済み。

実行結果 1

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

3000RPS達成した。このまま増やせばさらに増加しそう。

実行結果 2

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

約2700に減少した。なぜ?

コンソール側でなんかwarningが出てた。

なんかCPUの上限超えているっぽい?

実行結果 3,4

上限超えるとRPS減少するのか?

もう少しユーザ数増やして検証する。

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

約2300RPSにさらに減少 やはりCPU負荷が原因で RPSが減少しているよう。

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

で試すと平均で見ると約2000RPSほどでさらに悪化したため、おそらく原因は合っている。

考察

途中からでCPUリソース不足の警告ログはlocust実行ホストをmaster-slave構成にして

並列実行することで解決できるっぽい。次回はmaster-slave構成にして再度実行してみる。

次に

考察でもあるように今度はmaster-slave構成にして再度実行してみる。

こうすることでCPUリソース不足は解決できるはずなのでRPS向上につながるかもしれない。

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

Follow me!

コメント

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