はじめに
- Webアプリケーション開発において、高負荷テストを行う必要があり、
RPSを目標値を達成するために、色々検証していた時の内容です。 - クラウドサービス(AWS,GCP)などを使えば簡単に目標値を満たす事は、可能であるが、
なんとかそれらを使用せずに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 構築のため それぞれのデバイスに環境構築した)
負荷試験の目的
こちら で目的や指標などは簡単にまとめられているため、ここではRPSにのみ焦点を当てて説明
をする。
RPSとは
「1秒間に処理を行うHTTPリクエストの数」を示すことが多く、RPS(Request Per Second)と呼びます。
1分間に3万のリクエストを捌く必要がある際には、平均で500RPSを達成する必要がある。
Webシステムの要件として高負荷時にもシステム性能を維持できる必要性が求められる必要があるため、その指標としてRPSとそのRPSに応じたシステムの処理時間を確認することで用いられる。
Locust とは
pythonで負荷試験スクリプトが記述できるオープンソースの負荷試験ツールです。
特徴として以下が挙げられています。
- 単純な古い Python でテスト シナリオを作成する
- 分散型でスケーラブル – 何十万もの同時ユーザーをサポート
- Web ベースの UI
- あらゆるシステムをテストできます
- ハッキング可能
群がる行動で知られるバッタの種にちなんでイナゴと名付けられたそうです。
次に
今回は概要紹介だけ行いました。
【locust】負荷試験ツールLocustを使ってローカルPCで一万RPSを目指す(2)
次の記事で簡単なapi server(負荷試験対象) とlocust 実行環境を整えていきます。
コメント