2020/03/31のメモ

Accurate Performance Measurement in Rails with a "Performance Environment"

  • パフォーマンスのボトルネックを調べるには、ローカルに本番相当の環境を作らないとだめだよね、という話
    • データを本番相当の量にする
    • 本番相当の設定にする
      • development.rb
      • gem
    • 実際のところはデータを用意するのが大変なんだよなー

Rescued Exceptions: A Silent Performance Drag in Ruby

  • 例外のハンドリングは遅いので、想定しているケースでの例外はやめようという話
    • 例外よりはthrow catchのほうがstacktrace情報持ってないので速い
  • rack-mini-profilerで例外をハンドリングしているかどうかがわかるらしい

Can I Switch To Puma? Thread-Safety, Rack, Constants and More

  • unicornからpumaに変えるとスレッドセーフでないアプリケーションのときに死ぬので変えづらい、という人向けの話
  • pumaを1スレッド運用にすれば安心
    • しかし1スレッド時のpumaとunicornってどっちがいいのだろ
  • 2スレッド以上にするときはグローバルな変数に気をつける、というのは定番だけど、rack middlewareにも気をつけろというのはなるほど感あった

config.action_view.raise_on_missing_translations