はじめに
前回の記事で負荷試験実行環境と簡単な実行を行なった
今回からいろんなパターンで負荷試験を行い、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が出てた。
1 2 3 |
/WARNING/locust.runners: CPU usage was too high at some point during the test! See https://docs.locust.io/en/stable/running-distributed.html for how to distribute the load over multiple CPU cores or machines |
なんか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)
コメント