はじめに
レイテンシとスループットという2つの用語の理解が曖昧だったため、備忘録としてまとめます。
レイテンシとスループット
レイテンシとスループットはどちらもWebサービスのパフォーマンスを測る上で最も基本的な指標です。
レイテンシ
レイテンシは1つのリクエストを送信してからレスポンスを受信するまでの時間を指します。
- 単位はmsec(ミリ秒)で、1msecは1/1000秒を表す
- 低ければ低いほど良い
レイテンシが低いということは、1つのリクエストがシステムのリソースを占有する時間が短いことを意味します。
その結果、同じ時間内でより多くのリクエストを処理できるようになります。
レイテンシの改善方法の例
- クエリの最適化
- キャッシュの使用
- ネットワーク遅延の軽減
スループット
スループットは、システムが一定時間で処理できるリクエストの数を表します。
- 単位はrps(requests per second)
- 高ければ高いほど良い
スループットが高いということは、システムが同時並行でより多くのリクエストを処理できることを意味します。
スループットの改善方法の例
- 水平スケーリング
- 非同期処理の導入
- バッチ処理の改善
- リソースのボトルネック(CPU, メモリ, I/O)の解消
まとめ
- レイテンシ: リクエスト送信〜レスポンス受信までの時間
- スループット: 一定時間に同時並行で処理できるリクエストの数
パフォーマンス改善の勉強をコツコツ進めていきます。
参考資料