はじめに
Regression Test で Web Application のレイテンシを計測する話です。
レイテンシの機械的な集計
以前の記事でも書いていますが、レガシーな monolithic な system を Cloud に Lift & Shift を行っています。
数百ある Web-API の性能劣化の有無を確認するため、Production 環境の Packet をリプレイしています。
この結果を機械的に集計する方法について。
Web サーバーの log に処理時間を出力し、それを集計するというのが、当初の計画でした。
conf の Log format を変更して、それを集計する。
対応策
より効率的な方法を考察し、たどり着いたのは、LoadBarancer の log にある latency
を bq で集計する。
log-query
severity=INFO
httpRequest.requestMethod="POST"
- logging をシンクで bq に送る。
- bq でクエリを作成する。対象は、
httpRequest.requestUrl
httpRequest.latency
- データポータルを作成する。
- カスタムクエリでデータを抽出する。
- グラフを作成する。
これで、解決しました。
まとめ
これがベストなのかは、考察を続けたいと思います。
以上。
皆さんの参考になれば幸いです。