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

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

szkayeah
August 28, 2017

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

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

szkayeah

August 28, 2017
Tweet

More Decks by szkayeah

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. とは

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  10. やったこと

    View Slide

  11. やったこと
    ▌従来の性能検証の問題点
     劣化の検知時期が遅い
     2~3か月ごとのリリースモジュールが試験期間に入ったら
     個別に検証を回すと負担が大きい
     1週間近くかかる
     具体的にどのモジュールが劣化したか分かりにくい
     画面への負荷テストに近い
    ▌完全に代わりにならなくても一部代替できるものを!

    View Slide

  12. やったこと
    開発環境VM
    開発中
    普段使い
    モジュールUP
    API速度計測
    測定結果
    レコード登録

    性能劣化通知
    出典:
    https://jenkins.io/
    http://junit.org/junit4/
    https://www.python.org/

    View Slide

  13. やったこと
    ▌毎日自動で実行
    ▌APIごとに性能の推移を確認できる
    ▌APIごとに性能劣化が検知できる

    View Slide

  14. 苦労したこと・工夫

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. これから

    View Slide

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

    View Slide

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

    View Slide