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
420
「最近変わったね」と素早く気付け / 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
1.1k
スキルグラデーション!~虹色のkintone チームの中で私が目指すもの~ / 20190914 Web application engineer in cybozu
szkayeah
0
150
kintoneのリリースを加速する!性能検証自動化 / 20181027 Performance Test
szkayeah
1
1.1k
kintoneをとりまく自動テストたち / 20180305 Kintone's Automatic Test
szkayeah
0
810
環境構築はいらないよ GASでサクッとbotをつくろう / 20171202 Creating Bot with GAS
szkayeah
0
220
Other Decks in Programming
See All in Programming
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
210
Cell-Based Architecture
larchanjo
0
150
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
150
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
670
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
170
Patterns of Patterns
denyspoltorak
0
380
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
500
複雑なUI設計への銀の弾丸 「オブジェクト指向UIデザイン」
teamlab
PRO
2
110
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1k
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
910
SwiftUIで本格音ゲー実装してみた
hypebeans
0
520
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Building Applications with DynamoDB
mza
96
6.9k
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
380
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
190
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
98
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
180
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
A Tale of Four Properties
chriscoyier
162
23k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
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時間
ありがとうございました!