2017/08/28 ロックオンLTバトル資料です。 kintoneチームで実施しているAPIパフォーマンス計測について。
「最近変わったね」と素早く気付けサイボウズ株式会社 チーム鈴木 亜耶 (@szkayeah)
View Slide
Speaker▌鈴木 亜耶 (@szkayeah) サイボウズのエンジニア 今年1月に中途入社 好き:CI・自動化・自動テスト チーム所属
気付くのが遅すぎて、取り返しがつかなくなった事はありますか?
APIのパフォーマンスを毎日計測できるようにした!
おしながき▌ とは(かるーく)▌やったこと▌苦労したこと・工夫▌これから
とは
とは▌サイボウズの業務系クラウドサービス ノンプログラミングでデータベース型のアプリ作成 社員間のコミュニケーション機能
とはつくってためてかきこむ
とは▌上司煽り広告で一部では話題に
やったこと
やったこと▌従来の性能検証の問題点 劣化の検知時期が遅い 2~3か月ごとのリリースモジュールが試験期間に入ったら 個別に検証を回すと負担が大きい 1週間近くかかる 具体的にどのモジュールが劣化したか分かりにくい 画面への負荷テストに近い▌完全に代わりにならなくても一部代替できるものを!
やったこと開発環境VM開発中普段使いモジュールUPAPI速度計測測定結果レコード登録&性能劣化通知出典: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時間
ありがとうございました!