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
400
「最近変わったね」と素早く気付け / 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
770
環境構築はいらないよ GASでサクッとbotをつくろう / 20171202 Creating Bot with GAS
szkayeah
0
210
Other Decks in Programming
See All in Programming
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
130
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
720
Namespace and Its Future
tagomoris
6
700
Testing Trophyは叫ばない
toms74209200
0
840
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
280
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.4k
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
480
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
270
Rancher と Terraform
fufuhu
2
240
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
210
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
280
為你自己學 Python - 冷知識篇
eddie
1
350
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
The Language of Interfaces
destraynor
161
25k
Code Reviewing Like a Champion
maltzj
525
40k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Writing Fast Ruby
sferik
628
62k
Making the Leap to Tech Lead
cromwellryan
135
9.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時間
ありがとうございました!