Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「最近変わったね」と素早く気付け / 20170828 Performance Test

Eefb2e01de50cfb1a76ccb36c03b7465?s=47 szkayeah
August 28, 2017

「最近変わったね」と素早く気付け / 20170828 Performance Test

2017/08/28 ロックオンLTバトル資料です。
kintoneチームで実施しているAPIパフォーマンス計測について。

Eefb2e01de50cfb1a76ccb36c03b7465?s=128

szkayeah

August 28, 2017
Tweet

Transcript

  1. 「最近変わったね」と素早く気付け サイボウズ株式会社 チーム 鈴木 亜耶 (@szkayeah)

  2. Speaker ▌鈴木 亜耶 (@szkayeah)  サイボウズのエンジニア  今年1月に中途入社  好き:CI・自動化・自動テスト

     チーム所属
  3. 気付くのが遅すぎて、 取り返しがつかなくなった事はありますか?

  4. APIのパフォーマンスを毎日計測できるようにした!

  5. おしながき ▌ とは(かるーく) ▌やったこと ▌苦労したこと・工夫 ▌これから

  6. とは

  7. とは ▌サイボウズの業務系クラウドサービス  ノンプログラミングでデータベース型のアプリ作成  社員間のコミュニケーション機能

  8. とは つくって ためて かきこむ

  9. とは ▌上司煽り広告で一部では話題に

  10. やったこと

  11. やったこと ▌従来の性能検証の問題点  劣化の検知時期が遅い  2~3か月ごとのリリースモジュールが試験期間に入ったら  個別に検証を回すと負担が大きい  1週間近くかかる

     具体的にどのモジュールが劣化したか分かりにくい  画面への負荷テストに近い ▌完全に代わりにならなくても一部代替できるものを!
  12. やったこと 開発環境VM 開発中 普段使い モジュールUP API速度計測 測定結果 レコード登録 & 性能劣化通知

    出典: https://jenkins.io/ http://junit.org/junit4/ https://www.python.org/
  13. やったこと ▌毎日自動で実行 ▌APIごとに性能の推移を確認できる ▌APIごとに性能劣化が検知できる

  14. 苦労したこと・工夫

  15. 苦労したこと・工夫 ▌測定結果の安定化  環境面  計測方法  集計方法

  16. 苦労したこと・工夫 ▌測定結果の安定化  環境面  毎日VMを作り直す  VM上は1ドメインのみ、他用途では使用しない  並列実行しない

  17. 苦労したこと・工夫 ▌測定結果の安定化  計測方法  同じ条件で複数回計測する(数十~数百回)  同じ条件でもinputパラメータはバラす  計測値が小さくなりすぎないようにデータ量を増やす

  18. 苦労したこと・工夫 ▌測定結果の安定化  集計方法  計測結果の中央値をとる(not平均値)

  19. 苦労したこと・工夫 ▌オライリー「Javaパフォーマンス」  2章のパフォーマンステストで似たような内容が  Javaに限らない 出典:https://www.oreilly.co.jp/books/9784873117188/

  20. これから

  21. これから ▌性能劣化の検知精度UP  ま、まいにちJenkins先生が怒っている…! ▌ジョブ実行時間の短縮  現在5時間

  22. ありがとうございました!