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
970
俺たちの!パフォーマンス計測
20200210 LLRエンジニア交流会 LT資料
trunkatree
February 10, 2020
Tweet
Share
More Decks by trunkatree
See All by trunkatree
Terraform Workspacesの弱点をcountやmovedでカバーしつつ開発を進めた話
trunkatree
0
1.3k
Other Decks in Programming
See All in Programming
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
290
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
270
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
190
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
6
1.4k
命名をリントする
chiroruxx
1
610
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
840
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
6
690
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
920
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
420
Flatt Security XSS Challenge 解答・解説
flatt_security
0
660
Beyond ORM
77web
11
1.5k
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.3k
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Making the Leap to Tech Lead
cromwellryan
133
9k
KATA
mclloyd
29
14k
Site-Speed That Sticks
csswizardry
2
230
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
BBQ
matthewcrist
85
9.4k
Being A Developer After 40
akosma
89
590k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Practical Orchestrator
shlominoach
186
10k
Thoughts on Productivity
jonyablonski
68
4.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
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 !