実装が比較的楽で、インパクトが大きいものをピックアップ。
Cloudflare (CDN)
JSやCSSはCDNに乗せる。他のCDNでも良いが、Cloudflareは無料だから最高。
Cloudinary (画像配信)
画像はCloudinaryで最適化して配信。画像の圧縮、適切なサイズでの配信、Webp対応等全部やってくれる。
クエリ最適化
N+1をなくす。pluckを使う。
turbolinks、rails-ujsを活用する
Formのバリデーションなど、積極的にhoge.js.erb
を使っていく
partialを使いすぎない
partialは、保守性可読性とパフォーマンスのトレードオフ。
collectionオプションが使える場合には活用する。
ループの中の処理に気を使う
インスタンスを無駄に生成しない、など。
HTMLをgzip圧縮
Herokuだとデフォルトでgzip圧縮してくれないので、gemを使って対応。
重い処理はPumaの外に流す
例えば画像アップロードはLambda等に捌かせる
金を積む
最後はこれ