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

Ruby/Rails Benchmarking and Profiling with TDD

Ruby/Rails Benchmarking and Profiling with TDD

大阪Ruby会議02での発表資料です

https://regional.rubykaigi.org/osaka02/

Yasutomo Uemori

September 15, 2019
Tweet

More Decks by Yasutomo Uemori

Other Decks in Programming

Transcript

  1. me.inspect => { “HN”: "wakaba260", “name”: "Yasutomo Uemori", “company”: "株式会社Aiming",

    “twitter”: "https://twitter.com/wakaba260yen", “github”: "https://github.com/yuemori", “skills”: ["rails api", "docker", "kubernetes", "GCP"] }
  2. Stackprof a sampling call-stack profiler for ruby 2.1+ ・mode, interval,

    outを指定してサンプリング対象のコードを  ブロックで呼び出すだけ ・CPU Clock Time: CPUの利用時間。  Wall Clock Time: 開始から終了までの時間。Railsの場合はこれ  参考:https://scoutapm.com/blog/profiling-rails-with-stackprof
  3. 社内テスト内容から遅いAPIの調査:計測方法 - ログから計測 - 今回はStackdriver + BigQuery + DataPortal -

    構造化ログを出しておくことで集計が容易になる - サービスの利用 - NewRelicやDatadogなど - productionではおすすめ - CIやローカルで実行するのに難がある