Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
俺たちの!パフォーマンス計測
Search
trunkatree
February 10, 2020
Programming
0
1.1k
俺たちの!パフォーマンス計測
20200210 LLRエンジニア交流会 LT資料
trunkatree
February 10, 2020
Tweet
Share
More Decks by trunkatree
See All by trunkatree
Terraform Workspacesの弱点をcountやmovedでカバーしつつ開発を進めた話
trunkatree
0
1.5k
Other Decks in Programming
See All in Programming
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
8
5.8k
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
480
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
1.2k
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1.2k
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.7k
CSC305 Lecture 05
javiergs
PRO
0
210
私はどうやって技術力を上げたのか
yusukebe
43
18k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
190
CSC305 Lecture 01
javiergs
PRO
1
400
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
410
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
120
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
200
Featured
See All Featured
Making Projects Easy
brettharned
119
6.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building an army of robots
kneath
306
46k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
A better future with KSS
kneath
239
17k
The Cost Of JavaScript in 2023
addyosmani
53
9k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Cult of Friendly URLs
andyhume
79
6.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Transcript
俺たちの!パフォーマンス計測 2020.02.10 LLRエンジニア交流会 LT
遠藤 幹太 Mikita Endoh / @trunkatree 株式会社ROBOT PAYMENT / SRE
Team - 北の自然が好きです
もちろん パフォーマンス 計測してます
None
None
None
レスポンスタイム グラフ あります
None
でも、 これって 本当にあてになるの?
なぜそう思うか →
- ユーザーの利用頻度は一定じゃない - 月末月初が多い、など - 機能によってバラツキがある - よく使われるところ、たまにしか使われないところ - パフォーマンス性能にもバラツキがある
- オプション機能がいろいろある - 使う企業、使わない企業
- パフォーマンスの良くない機能が使われたからメトリクスが悪化した? - 何かよくない原因があってメトリクスが悪化した? - 一部機能を使った一部ユーザーに対してだけレスポンスが悪い? - 全体的にレスポンスが悪い? - パフォーマンス改善施策をリリースしたけど、結果どうなったの?
実際のところどうなの?
より ユーザーに寄り添った 計測がしたい!
→
各webトランザクションごとのメトリクスを確認できる
今どういう状況か? は、これを見ればいいね!
New Relic の細かいメトリクスは1週間ほどしか保存されない
では 中長期的な推移は?
じゃあ 自分たちで 保存しておこう
ということで、 簡単に つくりました →
New Relic のAPIからメトリクスをとってきて RDS に保存
- monitorサーバで cron で日次でシェルスクリプトを動かしています - 今はRDBに保存していますが、時系列DBなども考えていきたいです
日次で、各webトランザクションごとの - リクエスト数 - Apdex(ユーザー満足度) - レスポンスタイム - 標準偏差 -
5パーセンタイル - 50パーセンタイル - 90パーセンタイル - 95パーセンタイル - 99パーセンタイル をとってきて保存
今は で見れます
今後、うまいこと可視化していきたいですね - ヒートマップをつくる? - どこがよくないのか? が視覚的にわかりやすい - いい感じのパフォーマンス指標をつくる、算出する - これを見ればわかる!
というような
etc. - 全ユーザーが使う機能だけを対象にパフォーマンス指標を算出する - 日常的に使われる機能だけを対象にパフォーマンス指標を算出する - 中長期的な推移を観測し傾向を把握する - パフォーマンス改善施策をリリースした際に、結果どうだったか -
どの機能にどう影響が出ているかを把握する
厳密に言えば、 「SLO」は ユーザー体験を正確に表現 できていないと意味がない
こういった 細かい計測が必要 なのではないでしょうか?
Thank you. We are hiring !