Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
「最近変わったね」と素早く気付け サイボウズ株式会社 チーム 鈴木 亜耶 (@szkayeah)
Slide 2
Slide 2 text
Speaker ▌鈴木 亜耶 (@szkayeah) サイボウズのエンジニア 今年1月に中途入社 好き:CI・自動化・自動テスト チーム所属
Slide 3
Slide 3 text
気付くのが遅すぎて、 取り返しがつかなくなった事はありますか?
Slide 4
Slide 4 text
APIのパフォーマンスを毎日計測できるようにした!
Slide 5
Slide 5 text
おしながき ▌ とは(かるーく) ▌やったこと ▌苦労したこと・工夫 ▌これから
Slide 6
Slide 6 text
とは
Slide 7
Slide 7 text
とは ▌サイボウズの業務系クラウドサービス ノンプログラミングでデータベース型のアプリ作成 社員間のコミュニケーション機能
Slide 8
Slide 8 text
とは つくって ためて かきこむ
Slide 9
Slide 9 text
とは ▌上司煽り広告で一部では話題に
Slide 10
Slide 10 text
やったこと
Slide 11
Slide 11 text
やったこと ▌従来の性能検証の問題点 劣化の検知時期が遅い 2~3か月ごとのリリースモジュールが試験期間に入ったら 個別に検証を回すと負担が大きい 1週間近くかかる 具体的にどのモジュールが劣化したか分かりにくい 画面への負荷テストに近い ▌完全に代わりにならなくても一部代替できるものを!
Slide 12
Slide 12 text
やったこと 開発環境VM 開発中 普段使い モジュールUP API速度計測 測定結果 レコード登録 & 性能劣化通知 出典: https://jenkins.io/ http://junit.org/junit4/ https://www.python.org/
Slide 13
Slide 13 text
やったこと ▌毎日自動で実行 ▌APIごとに性能の推移を確認できる ▌APIごとに性能劣化が検知できる
Slide 14
Slide 14 text
苦労したこと・工夫
Slide 15
Slide 15 text
苦労したこと・工夫 ▌測定結果の安定化 環境面 計測方法 集計方法
Slide 16
Slide 16 text
苦労したこと・工夫 ▌測定結果の安定化 環境面 毎日VMを作り直す VM上は1ドメインのみ、他用途では使用しない 並列実行しない
Slide 17
Slide 17 text
苦労したこと・工夫 ▌測定結果の安定化 計測方法 同じ条件で複数回計測する(数十~数百回) 同じ条件でもinputパラメータはバラす 計測値が小さくなりすぎないようにデータ量を増やす
Slide 18
Slide 18 text
苦労したこと・工夫 ▌測定結果の安定化 集計方法 計測結果の中央値をとる(not平均値)
Slide 19
Slide 19 text
苦労したこと・工夫 ▌オライリー「Javaパフォーマンス」 2章のパフォーマンステストで似たような内容が Javaに限らない 出典:https://www.oreilly.co.jp/books/9784873117188/
Slide 20
Slide 20 text
これから
Slide 21
Slide 21 text
これから ▌性能劣化の検知精度UP ま、まいにちJenkins先生が怒っている…! ▌ジョブ実行時間の短縮 現在5時間
Slide 22
Slide 22 text
ありがとうございました!