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
「最近変わったね」と素早く気付け / 20170828 Performance Test
Search
szkayeah
August 28, 2017
Programming
0
300
「最近変わったね」と素早く気付け / 20170828 Performance Test
2017/08/28 ロックオンLTバトル資料です。
kintoneチームで実施しているAPIパフォーマンス計測について。
szkayeah
August 28, 2017
Tweet
Share
More Decks by szkayeah
See All by szkayeah
kintoneを丸裸にするモニタリング&ロギングツール / 20191108 kintone monitoring and logging
szkayeah
2
830
スキルグラデーション!~虹色のkintone チームの中で私が目指すもの~ / 20190914 Web application engineer in cybozu
szkayeah
0
130
kintoneのリリースを加速する!性能検証自動化 / 20181027 Performance Test
szkayeah
1
890
kintoneをとりまく自動テストたち / 20180305 Kintone's Automatic Test
szkayeah
0
520
環境構築はいらないよ GASでサクッとbotをつくろう / 20171202 Creating Bot with GAS
szkayeah
0
160
Other Decks in Programming
See All in Programming
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
450
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
2
200
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
400
禅の心を手に入れよ
eltociear
1
290
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
360
Milestoner
bkuhlmann
1
410
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
500
AppRouter Panel Talk
yosuke_furukawa
PRO
1
450
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
900
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
1
200
Goのエラースタックトレースの歴史と今後
sonatard
10
1.8k
雑に思考を整理する技術と効能
konifar
63
30k
Featured
See All Featured
Unsuck your backbone
ammeep
663
57k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
20
1.6k
Typedesign – Prime Four
hannesfritz
36
2.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
The Pragmatic Product Professional
lauravandoore
26
5.8k
Optimizing for Happiness
mojombo
370
69k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Thoughts on Productivity
jonyablonski
60
3.9k
Building Adaptive Systems
keathley
32
1.9k
A better future with KSS
kneath
231
16k
Transcript
「最近変わったね」と素早く気付け サイボウズ株式会社 チーム 鈴木 亜耶 (@szkayeah)
Speaker ▌鈴木 亜耶 (@szkayeah) サイボウズのエンジニア 今年1月に中途入社 好き:CI・自動化・自動テスト
チーム所属
気付くのが遅すぎて、 取り返しがつかなくなった事はありますか?
APIのパフォーマンスを毎日計測できるようにした!
おしながき ▌ とは(かるーく) ▌やったこと ▌苦労したこと・工夫 ▌これから
とは
とは ▌サイボウズの業務系クラウドサービス ノンプログラミングでデータベース型のアプリ作成 社員間のコミュニケーション機能
とは つくって ためて かきこむ
とは ▌上司煽り広告で一部では話題に
やったこと
やったこと ▌従来の性能検証の問題点 劣化の検知時期が遅い 2~3か月ごとのリリースモジュールが試験期間に入ったら 個別に検証を回すと負担が大きい 1週間近くかかる
具体的にどのモジュールが劣化したか分かりにくい 画面への負荷テストに近い ▌完全に代わりにならなくても一部代替できるものを!
やったこと 開発環境VM 開発中 普段使い モジュールUP API速度計測 測定結果 レコード登録 & 性能劣化通知
出典: https://jenkins.io/ http://junit.org/junit4/ https://www.python.org/
やったこと ▌毎日自動で実行 ▌APIごとに性能の推移を確認できる ▌APIごとに性能劣化が検知できる
苦労したこと・工夫
苦労したこと・工夫 ▌測定結果の安定化 環境面 計測方法 集計方法
苦労したこと・工夫 ▌測定結果の安定化 環境面 毎日VMを作り直す VM上は1ドメインのみ、他用途では使用しない 並列実行しない
苦労したこと・工夫 ▌測定結果の安定化 計測方法 同じ条件で複数回計測する(数十~数百回) 同じ条件でもinputパラメータはバラす 計測値が小さくなりすぎないようにデータ量を増やす
苦労したこと・工夫 ▌測定結果の安定化 集計方法 計測結果の中央値をとる(not平均値)
苦労したこと・工夫 ▌オライリー「Javaパフォーマンス」 2章のパフォーマンステストで似たような内容が Javaに限らない 出典:https://www.oreilly.co.jp/books/9784873117188/
これから
これから ▌性能劣化の検知精度UP ま、まいにちJenkins先生が怒っている…! ▌ジョブ実行時間の短縮 現在5時間
ありがとうございました!