プロファイリング周りでちょこちょこ調べていたのでZennに軽くまとめた。そのうちちゃんと記事に書くかもしれない。
Rails.cache
のローカルキャッシュと、ActiveRecordのクエリキャッシュを見落としてて、ちょっと結果がずれたプロファイリングを取ってしまっていた。
Rails runnerからControllerのアクションを実行するコードスニペット。ベンチマークやプロファイリングで使いたい。Rack middlewareを使って実際にブラウザからリクエストしてベンチマーク/プロファイリングするという手もあると思うのだけど、だるいので。
アクションを実行するだけなら方法はすぐ分かったのだけど、認証がなかなかだるかった。Wardenのテストヘルパを眺めて実装した。
デフォルトだとドメインがexample.com
になることで、たぶんDNSリバインディング攻撃対策に引っかかってエラーになっていた。ref: https://techracho.bpsinc.jp/hachi8833/2020_02_05/83154
これに気が付かずだいぶ時間を溶かした。つらい。